A local, grounded Markdown Q&A chatbot built with Go, Python, Weaviate, and Ollama Gemma 4 E4B.
- Copy
.env.exampleto.envif you want to change model or retrieval settings. - Put Markdown files in
knowledge/. - Run
docker compose up --build. - Open http://localhost:8080.
The first launch downloads gemma4:e4b and embeddinggemma:latest, so it can take a while. The indexer watches knowledge/ and updates the vector index automatically; the UI also has a Reindex button.
- Go serves the browser UI and performs retrieval-augmented generation.
- Python parses Markdown, chunks it, embeds it, and synchronizes Weaviate.
- Weaviate stores chunk metadata and externally generated vectors.
- Ollama generates answers with Gemma 4 E4B and vectors with EmbeddingGemma.
Only the web UI and Ollama are published to localhost. There is deliberately no authentication: this is a single-user local application.