Course 2 — Coding with a local LLM
What this course is about
Section titled “What this course is about”Five hands-on demos, each in its own GitHub repository under github.com/gneuroneai:
| Demo | Repository | What it teaches |
|---|---|---|
| Demo 0 | gneuroneai/ollama-demo-0-chat-cli | Minimal CLI chat (~50 lines). Used to study the structure of a chat with an LLM at the API level: a list of role/content messages sent to ollama.Client.chat(). |
| Demo 1 | gneuroneai/ollama-demo-1-chat-streamlit | Same chat loop served behind a Streamlit web UI. Introduces a graphical interface without changing the underlying mechanics; includes an expander that exposes the raw message list sent to the model. |
| Demo 2 | gneuroneai/ollama-demo-2-comparator | Three models run in parallel on the same prompt. Allows observation of the effect of model size and family on the response. |
| Demo 3 | gneuroneai/ollama-demo-3-agent-java | Single-file CLI agent (~30 useful lines of agent loop). Step-by-step illustration of tool calling: how a Python function is exposed to the model as an action it can invoke. |
| Demo 4 | gneuroneai/ollama-demo-4-trio-agents-java | Three specialised agents (Generate / Verify / Tests) collaborating in a Streamlit UI, with editable system prompts and JUnit 5 verification. Illustrates how the simple agent loop scales to a complete multi-agent project. |
Clone any of them individually — they’re self-contained:
git clone https://github.com/gneuroneai/ollama-demo-3-agent-java.gitcd ollama-demo-3-agent-java.\start.ps1This course (its own repo: gneuroneai/ollama-course-llm-local) explains everything between those demos and you. No LangChain. No hidden abstractions. Just Ollama + Python + the official ollama-python SDK.
If, by the end, you can edit a system prompt and watch the behaviour change, the course has done its job.
The 19 chapters
Section titled “The 19 chapters”| # | Chapter | Duration | Type |
|---|---|---|---|
| 01 | What is an LLM? | 8 min | Theory |
| 02 | What an LLM cannot do | 6 min | Theory |
| 03 | Tool calling: the bridge | 10 min | Theory + code |
| 04 | Ollama vs LangChain | 7 min | Theory |
| 04b | Open-source LLM landscape | 10 min | Survey |
| 05a | Local vs commercial models | 8 min | Theory |
| 05b | Choosing a local model | 8 min | Practice |
| 05c | Annex — Local LLM catalogue | 20 min | Reference annex |
| 05d | Annex — Quantization, from scratch | 20 min | Reference annex |
| 05e | Annex — CPU, GPU, RAM, VRAM: the simple version | 20 min | Reference annex |
| 06 | Installing the environment | 10 min | Practice |
| 07 | Demo 0: minimal CLI chat | 10 min | Guided practice |
| 08 | Demo 1: Streamlit chat | 10 min | Guided practice |
| 08b | Demo 2: 3-way comparator | 10 min | Guided practice |
| 09 | Demo 3: a simple agent | 15 min | Guided practice |
| 10 | Demo 4: three agents | 20 min | Guided practice |
| 11 | Prompt engineering live | 12 min | Guided practice |
| 12 | Security: workspace & tools | 8 min | Theory |
| 13 | Going further | 5 min | Closing |
| 13b | Annex — LangChain & LangGraph in depth | 25 min | Reference annex |
| 13c | Annex — The agentic AI landscape | 20 min | Reference annex |
| 14 | Fine-tuning a code model | 15 min | Advanced |
How to read this course
Section titled “How to read this course”- Linear (recommended): chapters 01 → 06, then 07 → 14.
- Express (just run a demo): 06 → 07 → 09 → 10.
- Theory only (no installation): 01 → 04.
- Demos only (assumes installed): 07 → 08 → 08b → 09 → 10.
- Advanced (train your own model): 05a → 05b → 09 → 10 → 14.