The goal of this project is to build a Retrieval-Augmented Generation (RAG) system that fetches information from external documents and uses it to answer user questions. This project demonstrates how to ground a language model in real-world, up-to-date knowledge.
π‘ Note: The selected model has a knowledge cutoff in August 2024. Your system must use retrieved documents to correctly answer questions about events occurring after this date.
- Use ChromaDB with persistence enabled.
- Select a document describing an event that happened after August 2024.
- Split the document into at least 50 chunks using appropriate text splitting strategies.
- Use the model:
gemini-2.0-flash - Implement the pipeline using:
- LangChain or LlamaIndex
- LangSmith or LangFuse for observability and tracing
- Version control your code with Git and GitHub
- Do not use pre-built agents
- Implement:
- π£οΈ Dialog flow (multi-turn interaction)
- π§ Memory (to track context across messages)
- Create at least 5 meaningful questions that the system should answer using the retrieved document.
- The questions must not be answerable by the language model alone.
- Validate that the system answers correctly only when using retrieval.
- Compare and document the impact of different system prompts on model behavior.
- Use a clean GitHub repository:
- β No large files in git history
- β No secret tokens in commit history
- Your code should be:
- Well-documented
- Easy to run
- Clearly structured
- Deadline:
11.05 at 23:59 - Each student has a dedicated branch named after them.
- Open a Pull Request (PR) from your working branch to your assigned branch in this repository.
- Your PR must include:
- β Your full implementation code
- β
A Jupyter notebook or script showing:
- Document indexing
- Retrieval steps
- Question answering
- Prompt variations and experiments
- β Link to your LangSmith or LangFuse project
To earn bonus points, your system must implement both of the following features:
- π Metadata filtering to refine document retrieval
- π Multi-Query retrieval (e.g., query rephrasing or multiple simultaneous questions to improve answer quality)
Happy building! π