A Retrieval-Augmented Generation (RAG) powered tool that allows users to analyze any GitHub repository using natural language.
- 🔍 Ask questions about any GitHub repo\
- ⚡ Fast semantic search using vector embeddings\
- 🧩 Code-aware chunking\
- 🗂️ File-level insights\
- 🧠 LLM-powered explanations\
- 🔄 Async ingestion\
- 🧹 Automatic cleanup\
- 🧱 Multi-repository support
User → Repo URL → Clone → Chunk → Embed → Store → Query → LLM Answer
- FastAPI\
- LangChain\
- OpenAI\
- Qdrant\
- React\
- Docker
git clone <repo>
cd RAG-Codebase-Explorer
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txtCreate .env:
OPENAI_API_KEY=your_key
Run Qdrant:
docker run -p 6333:6333 qdrant/qdrantRun backend:
python -m uvicorn server:app --reloadRun frontend:
cd frontend
npm install
npm run devPOST /ingest
GET /status/{repo_id}
POST /query
ingest/
embeddings/
rag/
pipeline/
server.py
frontend/
repos/
- Repo isolation via
repo_id - Qdrant per repo collection
- Auto repo cleanup
- Async ingestion
- Streaming responses\
- Hybrid search\
- Reranking\
- Deployment
Bipin Kumar