RAG: retrieval, search and evaluation
RAG combines document retrieval with answer generation. My public work in this area supports studying each stage separately: which evidence is retrieved, how much it costs to find, and whether it supports an answer. Project pages link to the experiments’ corpora, commands and reports.
Which decision are you making?
When an answer lacks evidence
Inspect retrieval first. RAG Evaluation Workbench compares BM25, dense and hybrid retrieval; Chunking Ablation Suite examines how chunking affects passages, tables and cross-references.
When language or budget changes
Measure those segments explicitly. Bilingual Retrieval Evals separates English and Spanish queries and documents; Reranker Budget Router studies reranking decisions under a pair budget.
When storage or the corpus changes
Check filters, updates and version consistency. Vector Search Portability compares engines using identical vectors; Incremental RAG Index exercises atomic publication and interrupted updates.
Projects and evidence
Each project page provides code, environment details, published results and limitations. The experiments describe those configurations; they do not establish results in client systems.
RAG Evaluation Workbench
Reproducible RAG evaluation with BM25, dense and hybrid retrieval, local CPU inference, and separate retrieval and answer metrics.
Chunking Ablation Suite
Fixed, structural and semantic chunking ablations using the same MiniLM model. Measures complete retrieved evidence and indexing cost for code, tables and cross references.
Bilingual Retrieval Evals
EN/ES retrieval evaluation with BM25 and multilingual MiniLM. Separates languages, directions, accents and cultural expressions, with replayable rankings and evidence.
Reranker Budget Router
Reranking router with hard pair budgets, development-fitted policies and a local MiniLM cross-encoder. Publishes quality, latency, decisions and routing errors.
Vector Search Portability
Real hnswlib and sqlite-vec comparison with identical vectors, filters and updates. Recall against exact search, concurrent read load and postfilter result loss.
Incremental RAG Index
Versioned SQLite RAG indexes with content-hash embedding reuse and atomic publication. Compares full and incremental rebuilds and injects process exits.