链载Ai

标题: Dify第二大脑|深度解析混合检索与Rerank|RAG精度优化|Rerank模型 | Cross Encoder [打印本页]

作者: 链载Ai    时间: 前天 18:11
标题: Dify第二大脑|深度解析混合检索与Rerank|RAG精度优化|Rerank模型 | Cross Encoder

一周前分享了吴恩达|LLM何时进行微调?何时不进行微调?|拒绝技术自嗨式微调,吴恩达教授给出的最佳实践经验是“正式启动微调前,请确认是否已充分挖掘提示工程、RAG知识库、智能体工作流的潜力”。

而其中的【RAG知识库】一直也被称作是智能体的【第二大脑】”,对智能体的输出质量起到了举足轻重的影响。


本文,将深入探讨如何在dify中优化RAG过程的精度,包括:知识库的设置技巧及其背后的AI原理,为什么检索阶段采用了两段式结构?混合检索加Rerank有什么奥秘?在本文中都会一一给出答案。




一、知识库创建与分段参数设置

我们从最开始创建知识库开始,来到Dify的页面,点击[创建知识库],然后上传文件,建议上传MD文件,更有利于RAG“读懂”你的笔记。

在Dify平台中,分段设置是影响文本处理质量的关键因素之一。让我们从[分段设置]开始详细探讨。

关键分段参数详解:

分段最大长度(Chunk Size)是最重要的参数之一。最佳长度要视情况而定,但可以参考一些测试结果。例如有篇关于Azure AI Search的测试,比较了512、1024、4096和8191四种Token长度的召回结果:

测试结果显示:512 Token长度表现最优,1024、4096和8191之间的召回率差异并不显著;

召回率计算方法:

假设检索到前50个文档中有10个高质量文档,而针对该查询应该有20个优质文档,那么召回率就是10/20=0.5(50%)。

分段重叠长度设置指的是允许段落间重叠,避免因分段而丢失语义。

划重点:测试显示,Token长度512并允许25%重叠时,召回率最高可达43.9%。

通过深入理解这些参数和测试数据,可以更科学地配置Dify的分段设置,从而获得更优的文本处理效果。

二、Embedding模型选择

在文本向量化的过程中,选择合适的嵌入模型也会影响RAG的效果精准度。

目前市场上有多种选择,主要可以分为两大类:

  1. 高端付费模型:以OpenAI的text-embedding-3-large为代表,这类模型通常具有更高的精度和更强的语义理解能力,适合对准确度要求较高且预算充足的项目。

  2. 免费开源模型:比如Dify平台提供的免费嵌入模型,虽然性能可能略逊于高端付费模型,但对于预算有限的项目来说是非常实用的选择。

因为我是本地部署的Dify,比较偷懒,嵌入的是通义千问的“通用文本向量-v3”

Dify的模型供应商板块,提供了大量的各类模型可供引入使用,但需要去对应的大模型平台申请接入的API-KEY,见下图:

三、检索方式深度解析

1. 向量检索的优势

向量检索是RAG的标配,擅长语义理解:

例如搜索"最新iPhone旗舰机",向量检索能返回iPhone 16 Pro/Pro Max,即使没输入具体型号。

2. 关键词检索的优势

关键词检索(全文检索)擅长精确匹配:

搜索"iPhone 16 Pro"时,关键词检索能精准找到包含该词组的文档,这是向量检索难以做到的。

3. 混合检索的最佳实践

混合检索就是同时使用向量和关键词两种方法。

划重点:在Azure AI Search测试中,混合检索(Hybrid)得分比单独使用任一种都高,尤其是加上Semantic Ranker重排序模型后效果更佳。


四、Rerank重排提升检索准确性

1. Rerank技术介绍

Rerank(重新排序)是一种根据查询(Query)和文档的相关性打分并进行排序的技术。这项技术在检索系统中发挥着关键作用,能够更准确地排序返回的结果,从而提升用户体验。

2. Rerank与嵌入模型的区别

虽然Rerank看起来与嵌入模型的余弦相似度计算类似,但两者的实现原理存在明显差异:

双编码器模型(Bi-Encoder)

交叉编码器(Cross Encoder)

3. 优化检索系统的最佳实践方案

在实际检索系统中,通常会结合Bi-Encoder和Cross Encoder的优点,以平衡速度与精度,典型的实现方式是采用二阶检索设计

第一阶段:使用Bi-Encoder进行快速检索,筛选出与查询相关的候选文档
第二阶段:用Cross Encoder对这些候选文档的相关性进行更精确的评分
划重点:这种两段式方法既保证了检索效率,又提升了排序准确性,因此在RAG等检索系统中被广泛应用,成为现代信息检索系统的标准实践之一。

五、Dify中的4种检索配置方案

Dify中的四种典型检索配置

  1. 仅向量检索:
    通过余弦相似度排序,设置Top K控制返回结果数量。
  2. 向量检索+Rerank:
    Rerank模型优化第一阶段结果,可能将原本排名第五的文档提升至第二位。
  3. 全文检索+Rerank:
    类似第二种,但第一阶段使用关键词检索。
  4. 混合检索+Rerank:
    最强大的配置,可设置Score Threshold过滤低质量结果。
划重点:实践证明,混合检索+Rerank模型的配置方式,能极大提升RAG系统的精度。

六、多知识库检索

当需要检索多个知识库时,可以参考如下方式:

  1. 对各知识库分别进行混合检索
  2. 汇总所有结果
  3. 进行一次多知识层次的Rerank处理
  4. 通过Top K和Score Threshold筛选最佳结果




总结:通过合理配置Dify中的混合检索和Rerank模型,可以极大提升RAG系统的精度,从而帮助我们搭建更加优质的智能体。







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5