2026 · jordimarsal/codebaserag
codebaserag
RAG hexagonal sobre tu propio código, con un núcleo determinista y eval-first: ingest, query y evals de retrieval con gate en CI.
Problema
Las demos de RAG son fáciles; un RAG de confianza, no. Este fija la calidad del retrieval con un set golden de Q/A (≥40 pares) y hace fallar CI si el recall@5 medio cae por debajo de su baseline comprometida.
Puntos clave
- Gate de baseline de eval en CI: recall@5 0.409 · MRR 0.231 · nDCG@5 0.277 (baseline comprometida, overrides con gate por ADR).
- Ports & adapters: pgvector (por defecto) o Qdrant; embeddings y LLM de Ollama o Anthropic; observabilidad con Langfuse.
- Python 3.13 · Pydantic v2 · typer · FastAPI · ruff · black · mypy --strict.
Stack
- Python 3.13
- FastAPI
- pgvector
- Qdrant
- Ollama
- Langfuse
- mypy strict
Métricas
- 0.409
- mean recall@5
- ≥40
- golden Q/A pairs
- strict
- mypy