手把手搭建混合 RAG:稠密检索+BM25+RRF+重排序实测
Affectionate_Slip654 · reddit · 2026-10-05
作者完整构建并测试了一个名为 ReRankEval 的混合检索流水线:Dense Search + BM25 → Reciprocal Rank Fusion(RRF)→ LLM 重排序 → 答案生成。在 5 份真实金融/支付文档和 10 个手工验证的测试问题上,与三个基线(纯向量、纯 BM25、无重排序的混合检索)做了量化对比,给出真实数据表。
内容要点:
- 稠密向量检索与 BM25 关键词检索的本质区别
- RRF 的原理:为什么原始分数无法直接比较,以及具体融合公式
- 重排序器与检索器的根本差异:reranker 实际在判断什么
- 用 Hit Rate、MRR、NDCG 评估 RAG 流水线,以及各指标的侧重点
- 混合检索架构的入库侧与查询侧设计
- 生产级代码结构:ingest → vectorstore → sparseretriever → fusion → reranker → pipeline → generate → eval
技术栈:Python、Qdrant 向量库、rankbm25、EURI LLM Gateway、自定义 RRF、LLM 重排序器、pdfplumber。全部代码开源在 GitHub,并有 YouTube 视频讲解。
「编程与Agent」频道最新
- Codex 用户注意:sidechat 会击穿缓存并快速耗尽用量额度 — brandon_galang · 2026-10-05
- 开发者自称神秘系统 agentic 基准 100% 准确,连自己也看不懂 — examachine · 2026-10-05
- AI 编码助手或切断初级工程师成长管线 — Suspicious_Orchid770 · 2026-10-05
- Meta 用 MCP 搭建内部 Agent,专家判断拆成可复用技能 — Suspicious_Orchid770 · 2026-10-05
- Hugging Face 工程师演示浏览器本地跑 AI:无需云端零 API Key — nicodotdev · 2026-10-05
- mitsuhiko 与 badlogic 对谈:为何自建 Pi Durable 而不用 Temporal — mitsuhiko · 2026-10-05