Spaces:
Sleeping
Sleeping
metadata
title: Code Compass API
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
Code Compass Backend
FastAPI backend for Code Compass, a personal full-stack RAG project that indexes public GitHub repositories and answers questions with grounded source citations.
What This Demonstrates
- End-to-end AI application design, not just a prompt wrapper
- Backend API design with FastAPI, Pydantic validation, and session-scoped state
- Code-aware retrieval using tree-sitter chunking, vector search, BM25, rank fusion, and reranking
- Grounded answer generation with file-level citations
- Deployment-aware tradeoffs for cost, model choice, and free-tier infrastructure
- Evaluation workflow prepared for retrieval and answer-quality metrics
Backend Responsibilities
- Clone a public GitHub repository into temporary storage
- Filter and chunk source files for retrieval
- Generate embeddings and store chunks in Chroma DB
- Maintain lightweight repository and session metadata in memory
- Run indexing as a background task
- Retrieve evidence with semantic search, lexical search, fusion, and reranking
- Generate answers from the selected context and return citations to the UI
- Delete cloned repository files after indexing
Runtime Configuration
Local Development (higher-quality experimentation)
LLM_PROVIDER=bedrockwith Claude 3.5 SonnetEMBEDDING_PROVIDER=bedrockwith Cohere Embed v3- Recommended:
AWS_REGION=us-east-1,BEDROCK_LLM_MODEL=anthropic.claude-3-5-sonnet-20240620-v1:0,BEDROCK_EMBEDDING_MODEL=cohere.embed-v3:0
Production (lower-cost hosting)
LLM_PROVIDER=groqwith Llama 3.1 70BEMBEDDING_PROVIDER=localwith sentence-transformers/all-MiniLM-L6-v2- Required:
GROQ_API_KEY
Chroma Storage
The backend uses Chroma DB for vector storage in both local development and production. By default it stores the collection under ./data/chroma, and you can point it somewhere else with CHROMA_PATH.
Configuration:
CHROMA_PATH=./data/chromaCHROMA_COLLECTION=repo_qa_chunksCHROMA_UPSERT_BATCH_SIZE=64
Metrics
The evaluation harness reports 4 core metrics:
- Retrieval hit rate @ top-5: Fraction of queries with at least one relevant source in top 5 results
- Top-1 hit rate: Fraction of queries where the first result is relevant
- Grounded answer rate: Fraction of answers that cite actual source code
- Faithfulness (RAGAS): LLM-as-judge score for answer consistency with retrieved context
- Query latency P95: 95th percentile response time in milliseconds