AI Debugging Assistant is a Retrieval-Augmented Generation (RAG) system that helps developers diagnose and resolve programming errors using real-world debugging knowledge collected from Stack Overflow.
The system retrieves relevant debugging discussions using semantic search, reranks the results using a Cross-Encoder model, and generates structured solutions using Gemini 2.5 Flash.
- Semantic error retrieval using BGE embeddings
- ChromaDB vector database
- Metadata-based filtering by error type
- Cross-Encoder reranking for improved retrieval quality
- Gemini-powered root cause analysis and fixes
- FastAPI backend with REST API endpoints
- Swagger UI for API testing
User Query ↓ FastAPI API ↓ Metadata Filtering ↓ BGE Embeddings ↓ ChromaDB Retrieval ↓ Cross Encoder Reranking ↓ Gemini 2.5 Flash ↓ Root Cause Analysis ↓ Solution + Code Fix + Prevention Tips
- Python
- FastAPI
- Uvicorn
- ChromaDB
- Sentence Transformers
- BAAI/bge-small-en-v1.5
- Cross-Encoder (ms-marco-MiniLM-L-6-v2)
- Gemini 2.5 Flash
- Stack Overflow API
AI Debugging Assistant/
backend/
- main.py
- rag_service.py
rag/
- generator.py
- reranker.py
- rag_pipeline.py
api/ preprocessing/ embeddings/ vector_db/ data/ chroma_db/
requirements.txt README.md
GET /
Response:
{ "message": "AI Debugging Assistant API Running" }
POST /debug
Request:
{ "error": "ModuleNotFoundError: No module named pandas" }
Response:
{ "query": "...", "sources": 5, "answer": "ROOT CAUSE ..." }
Clone the repository:
git clone
Install dependencies:
pip install -r requirements.txt
Create a .env file:
GEMINI_API_KEY=your_api_key
Run FastAPI:
python -m uvicorn backend.main:app --reload
Open:
- ModuleNotFoundError: No module named pandas
- ModuleNotFoundError: No module named streamlit
- AttributeError: 'list' object has no attribute 'shape'
- RuntimeError: CUDA out of memory
- KeyError: 'user_id'
- Hybrid Search (BM25 + Vector Search)
- React Frontend
- LangGraph-based Agentic AI
- Multi-source Retrieval (GitHub Issues + Documentation)
- Retrieval Evaluation Framework
Prasoon