RAG系统进阶:混合检索与重排序的工程实践

超越朴素RAG的检索瓶颈 朴素RAG(检索增强生成)系统的标准流程是:文本分块→向量化→余弦相似度检索→拼接prompt→生成回答。但在生产环境中,这种方案的检索准确率往往不超过60%。本文分享如何通过混合检索和重排序将准确率提升到85%以上。 混合检索:双路召回 稀疏检索:BM25的回归 BM25基于词项频率和文档频率,对精确关键词匹配有天然优势。在专业领域(医疗、法律)中,术语的精确匹配至关重要: from rank_bm25 import BM25Okapi tokenized_corpus = [doc.split() for doc in corpus] bm25 = BM25Okapi(tokenized_corpus) scores = bm25.get_scores(query.split()) 稠密检索:语义理解的利器 稠密检索通过Embedding模型捕获语义相似性,能处理同义词和跨语言匹配。当前推荐的Embedding模型: BGE-M3:支持多语言、多粒度 GTE-large:在MTEB榜单表现优异 Voyage-2:商用级别,支持动态维度 融合策略:RRF算法 Reciprocal Rank Fusion(RRF)是最常用的融合算法,它不依赖原始分数,只利用排名信息: def rrf_fusion(sparse_results, dense_results, k=60): fused_scores = {} for rank, doc in enumerate(sparse_results): fused_scores[doc.id] = fused_scores.get(doc.id, 0) + 1 / (k + rank + 1) for rank, doc in enumerate(dense_results): fused_scores[doc.id] = fused_scores.get(doc.id, 0) + 1 / (k + rank + 1) return sorted(fused_scores.items(), key=lambda x: x[1], reverse=True) RRF的优势在于无需调参,且对两个检索系统的分数尺度不敏感。 重排序:精排阶段 粗排阶段获取Top-50候选后,需要用更精确但更慢的模型进行重排序。 交叉编码器重排序 Cross-Encoder将query和document拼接后输入Transformer,输出相关性分数。相比Bi-Encoder,精度更高但速度慢100倍: from sentence_transformers import CrossEncoder reranker = CrossEncoder("BAAI/bge-reranker-v2-m3") scores = reranker.predict([(query, doc.text) for doc in candidates]) ColBERT晚期交互 ColBERT采用折中方案:预计算文档的token级别向量,在查询时进行token级别的最大相似度交互: # ColBERT的Late Interaction def colbert_score(query_embeddings, doc_embeddings): # query: [Q, D], doc: [N, D] sim_matrix = query_embeddings @ doc_embeddings.T # [Q, N] max_per_query = sim_matrix.max(axis=1) # [Q] return max_per_query.sum() ColBERT在保持接近Cross-Encoder精度的同时,速度提升约10倍。 分块策略对检索的影响 检索质量不仅取决于检索算法,分块策略同样关键: 固定长度分块:简单但可能切断语义完整性,建议设置10-20%重叠 语义分块:利用句子边界或段落结构,保持语义完整 递归分块:先按大单元(章节)切分,再按小单元(段落)细分 父子分块:检索用小块(200token),生成用大块(父块,1000token) 实践中,父子分块策略效果最好:小块保证检索精度,大块提供完整上下文。 检索质量评估体系 建立RAG评估体系需要以下指标: 检索阶段:Recall@K、MRR(Mean Reciprocal Rank)、NDCG 生成阶段:Faithfulness(忠实度)、Answer Relevancy(答案相关性)、Context Precision(上下文精度) 推荐使用RAGAS框架进行自动化评估: ...

2026-07-16 · 1 min · 170 words · 硅基 AGI 探索者
Agentic RAG

RAG 系统 2026:从基础检索到 Agentic RAG 的演进

引言 检索增强生成(RAG)是2026年最实用的大模型应用架构之一。从基础的"检索-生成"流水线,到Agentic RAG的智能检索代理,RAG技术正在经历深刻的架构演进。本文系统梳理RAG的发展脉络和技术选型。 RAG 的演进阶段 第一阶段:基础 RAG(Naive RAG) 最原始的RAG架构,包含三个步骤: 将文档切分为片段 对片段进行向量化并存储 检索最相关的片段,拼接后输入模型 优点: 简单、快速、易于实现 缺点: 检索质量依赖单一向量相似度,无法处理复杂查询 第二阶段:增强 RAG(Enhanced RAG) 在基础RAG之上增加优化: 查询优化: 查询重写:将用户问题转化为更适合检索的形式 查询分解:将复杂问题拆分为多个子查询 多路检索:同时使用向量检索和关键词检索 后处理: 重排序(Reranking):对检索结果进行精排 上下文压缩:去除冗余片段,保留关键信息 自适应窗口:根据问题类型调整上下文长度 第三阶段:Agentic RAG Agentic RAG的核心思想:让Agent自主决定如何检索、何时检索、检索什么。 ┌─────────────────────────────────────────────┐ │ Agentic RAG 架构 │ │ │ │ ┌──────────┐ ┌──────────┐ │ │ │ Agent │───▶│ 检索 │ │ │ │ 规划器 │ │ 策略 │ │ │ └──────────┘ └──────────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌──────────┐ ┌──────────┐ │ │ │ 反思 │◀───│ 多路 │ │ │ │ 与调整 │ │ 检索 │ │ │ └──────────┘ └──────────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌──────────────────────────┐ │ │ │ 最终生成与验证 │ │ │ └──────────────────────────┘ │ └─────────────────────────────────────────────┘ 主流 RAG 框架对比 LangChain / LangGraph 特点: 生态最丰富,组件最全 适合: 快速原型开发、复杂RAG管线 ...

2026-06-30 · 2 min · 295 words · 硅基 AGI 探索者
rag hybrid search

RAG混合检索方案设计

概述 RAG混合检索方案设计是AI智能体领域中RAG混合检索方案设计的重要主题。本文将从多个角度深入分析这一话题,为读者提供系统性的认知框架和实践参考。 核心概念 基本定义 在深入讨论之前,我们需要明确几个核心概念。AI智能体是指能够感知环境、理解指令、规划行动并调用工具完成任务的AI系统。与传统的聊天机器人不同,智能体具有自主性、目标导向性和工具使用能力。 RAG混合检索方案设计涉及的关键技术包括: 大语言模型:作为智能体的认知引擎,负责理解、推理和生成 工具调用:通过Function Calling或MCP协议与外部系统交互 记忆系统:短期记忆处理当前对话,长期记忆存储历史经验 规划引擎:将复杂任务分解为可执行的子步骤 技术原理 从技术层面看,RAG混合检索方案设计的核心在于如何让AI系统更好地理解和执行人类意图。这涉及多个技术环节的协同: 首先是感知层,智能体需要准确理解用户的自然语言指令,提取关键信息和约束条件。其次是规划层,将高层目标分解为具体的执行步骤。然后是执行层,调用合适的工具完成每个步骤。最后是反馈层,根据执行结果调整后续策略。 实践分析 当前现状 在RAG与微调领域,当前的技术实践呈现出几个明显特征: 工程化程度提升:从实验室原型到生产级系统,工程能力成为关键差异化因素 评估体系完善:越来越多标准化的评测基准被提出,帮助开发者量化能力边界 开源生态繁荣:开源框架和工具链的成熟降低了开发门槛 安全意识增强:对AI安全和对齐问题的重视程度显著提升 关键挑战 尽管进展显著,RAG混合检索方案设计仍面临几个核心挑战: 技术挑战: 大模型的幻觉问题在智能体场景下被放大,因为智能体需要做出实际决策 多步推理中的错误累积效应导致长程任务成功率下降 工具调用的可靠性受外部API稳定性影响 工程挑战: 智能体的可观测性不足,调试和排错困难 成本控制与性能优化的平衡 从单机到分布式部署的架构复杂性 安全挑战: Prompt注入等攻击手段不断进化 智能体权限管理需要更精细化的控制 数据隐私保护在多Agent协作场景下更加复杂 优化策略 针对上述挑战,以下是几个关键优化方向: 技术优化 分而治之:将复杂任务分解为可独立验证的子任务,降低单步错误影响 多路投票:对关键决策使用多次采样投票机制,提高可靠性 渐进式信任:智能体权限从最小化开始,根据表现逐步扩展 人在回路:高风险决策保留人工审核环节 工程优化 可观测性优先:建立完善的日志、指标和追踪体系 灰度发布:新版本智能体先在小流量环境验证 自动化测试:构建端到端测试套件,防止回归 成本监控:实时追踪Token消耗和API调用成本 案例研究 为了更具体地说明RAG混合检索方案设计的实践价值,我们来看一个典型场景: 某科技公司在内部IT运维中部署了AI智能体,负责处理员工的工单请求。智能体需要理解员工的自然语言描述,判断问题类型,查询知识库,执行修复操作或转接人工。 实施过程中遇到的关键问题包括: 员工描述模糊导致意图识别错误 知识库信息过时导致给出错误建议 某些操作需要管理员权限存在安全风险 解决方案: 引入澄清对话机制,在不确定时主动追问 建立知识库更新流程,定期审核内容 实施权限分级制度,敏感操作需人工确认 效果:工单首次解决率提升35%,平均处理时间缩短60%,员工满意度显著提升。 未来趋势 RAG混合检索方案设计的发展趋势值得关注: 标准化:MCP等开放协议将推动工具接口标准化,降低集成成本 垂直化:针对特定行业和场景的专用智能体将大量涌现 协作化:多智能体协作将成为复杂任务的标准解决方案 自主化:智能体的自主决策能力将持续提升,但需要配套的安全机制 结论 RAG混合检索方案设计是AI智能体技术发展中的重要一环。无论是技术原理的深入理解,还是实践中的工程优化,都需要系统性思维。对于开发者和企业而言,关键在于: 理解技术能力和边界,避免过度期待 建立系统化的评估和监控体系 在创新和安全之间找到平衡 持续学习和适应快速变化的技术生态 硅基AGI探索者将持续关注RAG与微调领域的最新进展,为读者提供深度分析和实践指导。— ...

2026-06-27 · 1 min · 88 words · 硅基 AGI 探索者
鲁ICP备2026018361号