RAG Support
Retrieval-Augmented Generation (RAG) enhances the LLM's ability to understand and interact with your codebase by automatically finding and incorporating relevant code from your project.
What is RAG?
RAG combines retrieval of information with text generation:
- Retrieval: When you ask a question, DevoxxGenie searches your codebase to find the most relevant files and code snippets
- Augmentation: These relevant code snippets are added to the prompt context
- Generation: The LLM then generates a response informed by this contextual information
This dramatically improves response quality for questions about your specific codebase.
Prerequisites
RAG requires the following components to be installed and running:
1. Docker
Docker must be installed and running on your machine. RAG uses Docker to run the ChromaDB vector database.
2. ChromaDB
DevoxxGenie uses ChromaDB (v0.6.2) as the vector database for storing code embeddings. The ChromaDB container is managed automatically via Docker.
3. Ollama with nomic-embed-text
An embedding model is required to generate vector representations of your code. DevoxxGenie uses the nomic-embed-text model via Ollama:
ollama pull nomic-embed-text
Make sure Ollama is running before enabling RAG.