RAG 知识库智能问答系统
企业级检索增强生成(RAG)问答系统,支持多格式文档、多阶段检索与可量化的评估体系。
角色:独立设计开发 时间:项目经历
RAG大模型信息检索混合检索
核心亮点
- 设计并实现企业级 RAG 系统,支持 PDF / DOCX / CSV 等 6 种格式文档的问答,构建多阶段检索与评估管线
- 混合检索:FAISS(HNSW) 向量检索 + BM25(jieba 分词) 经 RRF 融合,Recall@5 提升 18%
- Cross-Encoder 重排(bge-reranker-v2-m3 精筛 Top-20),Top-5 MRR 提升 15%,幻觉率降低 67%
- Query Rewriting:LLM 将模糊问句改写为规范化查询(如「去年净收入」→「2025 年净收入」),Recall 提升 23%
- 多轮对话追问与指代消解,追问回答准确率提升 40%;ReAct Agent 支持工具调用与思考过程可视化
- 构建 MRR / NDCG / Recall@k 评估体系,支持 A/B 对比实验
项目背景
企业内部知识散落在 PDF、DOCX、CSV 等多种格式的文档中,传统关键词检索难以回答需要理解与推理的问题。本项目设计并实现了一套企业级 RAG(检索增强生成)问答系统,让用户能够基于私有知识库进行自然语言问答。
核心能力
多阶段检索
构建「召回 → 精排」的多阶段检索管线:
- 混合召回:将 FAISS(HNSW) 向量检索与 BM25(jieba 分词)稀疏检索通过 RRF 融合,兼顾语义匹配与关键词命中,Recall@5 提升 18%。
- Cross-Encoder 重排:使用 bge-reranker-v2-m3 对召回 Top-20 候选精筛,Top-5 MRR 提升 15%,幻觉率降低 67%。
查询改写(Query Rewriting)
通过 LLM 将模糊、口语化的问句改写为规范化查询,例如将「去年净收入」改写为「2025 年净收入」,Recall 提升 23%。
多轮对话与 Agent
- 支持追问与指代消解,追问回答准确率提升 40%。
- 基于 ReAct 范式构建 Agent,支持 LLM 调用检索 / 计算工具,思考过程可视化。
评估体系
建立 MRR / NDCG / Recall@k 等多维度离线评估,支持不同检索策略的 A/B 对比,让每一次优化都有据可依。
技术栈
- 向量检索:FAISS(HNSW)、BGE Embedding
- 稀疏检索:BM25、jieba
- 重排:bge-reranker-v2-m3
- 交互:Streamlit
- 语言:Python
成果
通过混合检索、重排与查询改写等一系列优化,系统在召回率、排序质量与答案可靠性上均取得显著提升,幻觉率降低 67%。
技术栈
BGE EmbeddingFAISSBM25bge-reranker-v2-m3StreamlitPython