RAG 知识库问答系统
双索引 + RRF 混合检索 + 双层评测的完整 RAG 工程实践
项目背景
为解决『文档很多但查不准』的问题,从零构建一个可评测、可调优的 RAG 知识库问答系统。
我的职责
独立完成架构设计、索引构建、检索融合、评测脚本与部署。
技术栈
核心难点与方案
- 句子滑窗 chunking + 超长硬切,保证 chunks.jsonl 行号 = FAISS 行号 = BM25 序号 = chunk_id 的核心不变式
- BM25 + 向量双索引,RRF(k=60) 融合排序;bge-reranker 精排失败自动降级
- 双层评测:Hit@k / MRR / Recall@k + LLM Judge(faithful / citation_ok / refuse_ok),控制变量扫描调参
成果
- 检索质量可量化评测,调优路径:efSearch → 检索策略 → prompt → top_k → chunk_size(示例文案,以 run_eval 实测为准)
- 检索能力封装为 MCP tool,可接入任意 ReAct Agent