# RAG Evaluation Platform

A production-style Retrieval-Augmented Generation pipeline built from scratch without LangChain, combining FAISS and BM25 hybrid retrieval with cross-encoder reranking and a built-in evaluation harness.

This is a Retrieval-Augmented Generation pipeline built from first principles in Python, without a framework such as LangChain, offering both a Workspace mode where uploaded documents are parsed, chunked, embedded, and indexed by a background worker so a user can inspect exactly which chunks answered a question, and an Evaluation Lab mode that measures whether that retrieval is any good using Precision@K, Recall, MRR, and hit rate over a labeled dataset, including a benchmark matrix across retrievers, top-K values, and reranking settings.

Retrieval combines FAISS and BM25 with cross-encoder reranking, and the same retriever answers both application queries and evaluation queries, so the benchmark numbers reflect the deployed system rather than a separate test harness. The API runs on FastAPI, is deployable to AWS Lambda, and exposes health, configuration, evaluation, and benchmark endpoints alongside interactive documentation.

A public deployment on a single ARM EC2 instance reproduces the README's reported numbers live, including retrieval latency, which the project notes will differ slightly by machine even when retrieval quality is identical.

Website: https://rag-evaluation-rosy.vercel.app/
