Skip to content
boss477Public

About

Corrective, multimodal RAG built one tested slice a day: hybrid Qdrant and BM25 retrieval, RRF fusion and cross-encoder reranking on FastAPI.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

NexusRAG

A production-oriented corrective, multimodal RAG system, built one tested slice a day.

A 30-day build combining LangGraph orchestration, corrective retrieval with sentence filtering, hybrid dense and sparse search on Qdrant, FastAPI, RAGAS evaluation and LangSmith tracing. Each day adds one tested vertical slice.

Tests license: MIT python: 3.11+ days built: 12 of 30 website: boss477.github.io

The NexusRAG project page

The project page, with the pipeline, the thirty days and the quick start.

What runs today

Stage What it does Built
Foundation FastAPI app, typed settings, JSON logging, request IDs, health and readiness endpoints Days 1 to 3
Ingestion TXT, Markdown, PDF and DOCX loaders with page citations, sentence-aware chunking Days 4 and 5
Embeddings A provider interface, Gemini Embedding 2 and local EmbeddingGemma 2 Days 6 to 8
Semantic search Indexing and search on Qdrant Day 9
Keyword search BM25 on SQLite FTS5 Day 10
Fusion Reciprocal Rank Fusion over dense and sparse results Day 11
Reranking A cross-encoder over the fused candidates Day 12

Next: LangGraph state, the router agent, corrective grading, generation and grounding. The full plan is in docs/30-day-plan.md.

Planned architecture

Query -> Router -> Hybrid Retrieval -> Correction -> Generation
                                      ^              |
                                      |              v
                              Web fallback <- Reflection -> Grounding

30-day roadmap

The detailed plan is in docs/30-day-plan.md. Days 1 to 12 are complete and published.

Quick start

python -m venv .venv
# Windows: .venv\Scripts\activate
# Linux/macOS: source .venv/bin/activate
pip install -e ".[dev]"
copy .env.example .env       # Windows
# cp .env.example .env       # Linux/macOS
uvicorn app.main:app --reload

Open http://localhost:8000/docs.

Current status

Days 1 to 12 are complete: ingestion, embeddings, semantic and keyword retrieval, RRF fusion, and reranking. Day 12 is documented in docs/day-12-rerank.md.

Decisions are recorded in docs/.

Tests

pip install -e ".[dev,qdrant]"
pytest

The reranker tests inject a fake scorer and download no weights.

Contributing and license

See CONTRIBUTING.md. NexusRAG is released under the MIT License.

About

Corrective, multimodal RAG built one tested slice a day: hybrid Qdrant and BM25 retrieval, RRF fusion and cross-encoder reranking on FastAPI.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages