Operate local AI responsibly
Complete the local summarizer
Finish the course by documenting and testing a local structured-output feature with a deterministic fallback and explicit operating boundaries.
Complete the activity summarizer from the previous module.
Your finished project should include:
- A documented input and output contract.
- An Ollama adapter using one pinned local model.
- A JSON schema and runtime validation.
- A timeout and cancellation path.
- A deterministic fallback.
- Unit tests for deterministic behavior.
- A small real-model evaluation set.
- A short operating note.
The operating note should answer:
- Which model, quantization, runtime, and hardware did you test?
- What data enters the model and where else can it travel?
- Which failures trigger fallback?
- What quality and latency did you observe?
- Which actions can the model request or perform?
- How will you test an upgrade and roll back?
Run the project once with Ollama available. Then stop Ollama and run it again. The application should still produce a truthful summary from the activity fields.
That second run is the acceptance test I care about most. Local AI features fail in the field when teams only demo the happy path with the runtime running.
The goal is not to make the model impossible to replace. The goal is to build a useful feature whose boundaries you understand.
When you finish, paste one evaluation table and your operating note into the repo docs folder. Future you should upgrade models without rediscovering every decision from this course.
Try this before you close the project: quit Ollama, click summarize, and confirm the UI shows the deterministic sentence with correct numbers. If that works, you built a feature, not a demo.
Lesson completed