@@ -14,23 +14,24 @@ explains the idea, a `TASKS.md` with what to build, and tests that turn green wh
1414| 00 | [ First Chat] ( 00-first-chat ) | ` ChatClient ` , DeepSeek config, tokens | No |
1515| 01 | [ ChatClient in Depth] ( 01-chat-client ) | Message roles, options, streaming, no memory | No |
1616| 02 | [ Prompt Templates] ( 02-prompt-templates ) | ` .st ` templates, prompt stuffing, few-shot | No |
17- | 03 | Structured Output | ` .entity(...) ` , records, lists, validation | Coming soon |
18- | 04 | Chat Memory | ` MessageChatMemoryAdvisor ` , JDBC memory | Coming soon |
19- | 05 | Advisors | Custom advisors, logging , guardrails | Coming soon |
20- | 06 | Tool Calling | ` @Tool ` , calling your own services | Coming soon |
21- | 07 | Embeddings | Vectors, cosine similarity, pgvector | Coming soon |
22- | 08 | RAG | Document ETL, ` QuestionAnswerAdvisor ` | Coming soon |
23- | 09 | MCP | Build and use an MCP server | Coming soon |
24- | 10 | Agent Patterns | Chain, routing, orchestrator, evaluator | Coming soon |
25- | 11 | Evaluation | Testing non-deterministic output | Coming soon |
26- | 12 | Production | Observability, cost, retries, safety | Coming soon |
27- | 13 | Capstone | Put it all together, no instructions | Coming soon |
17+ | 03 | [ Structured Output] ( 03-structured-output ) | ` .entity(...) ` , lists, retries, validating model output | No |
18+ | 04 | [ Chat Memory] ( 04-chat-memory ) | ` MessageChatMemoryAdvisor ` , windows, memory in Postgres | Yes |
19+ | 05 | [ Advisors] ( 05-advisors ) | Custom advisors, token tracking , guardrails | Yes |
20+ | 06 | [ Tool Calling] ( 06-tool-calling ) | ` @Tool ` , the tool loop, ` ToolContext ` , authorization | Yes |
21+ | 07 | [ Embeddings] ( 07-embeddings ) | Vectors, cosine similarity, local ONNX, pgvector | Yes |
22+ | 08 | [ RAG] ( 08-rag ) | ETL, ` QuestionAnswerAdvisor ` , modular RAG, sources | Yes |
23+ | 09 | [ MCP] ( 09-mcp ) | MCP server with tools and resources, MCP client | Yes |
24+ | 10 | [ Agent Patterns] ( 10-agent-patterns ) | Chain, routing, parallel, orchestrator, evaluator | Yes |
25+ | 11 | [ Evaluation] ( 11-evaluation ) | Golden datasets, retrieval metrics, LLM judge | Yes |
26+ | 12 | [ Production] ( 12-production ) | Spring Security, resilience, rate limits, caching, metrics | Yes |
27+ | 13 | [ Capstone: Gift Finder ] ( 13-capstone ) | A feature brief and acceptance tests, your design | Yes |
2828
2929## Stack
3030
3131- Java 25, Spring Boot 4.1, Spring AI 2.0
3232- [ DeepSeek] ( https://platform.deepseek.com ) for chat
3333- Local ONNX embeddings and Postgres with pgvector (from module 07)
34+ - The MCP Java SDK (module 09), Spring Security and Actuator (module 12)
3435- Docker Compose for the modules that need a database (from module 04)
3536
3637## Get started
@@ -128,6 +129,10 @@ Open `00-first-chat` in your IDE (open the module folder, not the repo root) and
128129The task tests use a ** fake model** : they're instant, free, and work offline. The ` live `
129130tests call DeepSeek for real and cost a fraction of a cent.
130131
132+ From module 04 on, ** Docker must be running** : the app starts Postgres with Docker Compose, and
133+ the tests start their own with Testcontainers. Module 07 also downloads a small embedding model
134+ (about 90 MB) the first time.
135+
131136Each module starts where the previous one ended, so you can jump into any module
132137even if you skipped one.
133138
0 commit comments