CS2 RAG Assistant
Answers questions about Counter-Strike 2 weapons, economy, maps, and rules from a curated knowledge base. It cites the passages it used and declines when they don't cover the question.
What I built
- Hybrid retrieval: bge-m3 dense search in Qdrant and BM25 run side by side, merged with Reciprocal Rank Fusion.
- A bge-reranker-v2-m3 cross-encoder re-scores the fused candidates before generation.
- Qwen2.5-3B-Instruct answers only from the top passages with [n] citations. It runs as a FastAPI service with a Streamlit chat UI, packaged with Docker Compose.
Result
On a 38-question RAGAS set, scored offline with a local 3B judge: context precision 0.93, context recall 0.82, answer relevancy 0.87, faithfulness 0.75. The small judge could not score every question (context precision covers 15 of 38, faithfulness 19 of 38).
- Python
- Qdrant
- BM25
- Cross-encoder reranking
- FastAPI
- Streamlit
- RAGAS


