Dify知识库检索能力提升指南:5大实用技巧
在上一篇文章里,我们对比了Dify和FastGPT的知识库能力,结果发现Dify在检索层面确实有点“力不从心”。但话说回来,FastGPT的功能配置和大模型接入又相对繁琐,论功能的丰富度和生态的开放性,Dify还是更胜一筹。那么问题就来了——有没有什么办法,能给Dify的知识库检索能力“加点料”?
其实,要回答这个问题,得先明确一个前提:Dify在创建知识库时,第二步“文本分段和清洗”页面有三个核心配置项——分段设置、索引方式、检索设置。
先说分段设置。如果对这一块不太熟悉,直接选“自动分段与清洗”基本不会出错,系统会帮你搞定大部分琐事。
而索引方式这块,建议优先选择“高质量检索”模式,并配合“采用Q&A分段模式”一起使用。为什么?因为高质量检索会调用系统默认的嵌入接口来处理文本,查询时准确度更高。而Q&A分段模式,本质上是“问题匹配问题”的匹配逻辑——文档被分段后,系统会为每个分段生成一组Q&A对,用户提问时直接去找最相似的问题,然后返回对应的分段作为答案。这种做法的好处是直达痛点,尤其适合高频、高相似度的提问场景。
需要留意的是,Q&A分段模式会先对文档分段,再通过大模型去生成Q&A对,整个过程会消耗不少token,时间成本也偏高。之前用同一个文档测试,Dify和FastGPT都花了20到30分钟才完成。
那接下来要说的就是检索设置这一块了。在高品质索引模式下,Dify提供了三种方案:
- 向量检索:生成查询的嵌入向量,然后去找与其最相似的文本分段。
- 全文检索:先把文档中所有词汇都索引一遍,用户搜任意词汇,系统就能返回包含这些词的片段。
- 混合检索:同时做全文检索和向量检索,再通过重排序步骤(Rerank)从两类结果中挑出最匹配用户问题的选项——当然,这需要配置一个Rerank模型API。
从实际体验来说,Dify官方推荐的混合检索模式确实靠谱。尤其是在引入Rerank模型之后,系统会对已召回的文档结果做一次语义层面的重新排序,排序结果会优化不少。
所以,在不涉及额外优化手段的前提下,想让Dify知识库的检索能力上一个台阶,总结下来就是三件事:
- 分段设置选自动分段与清洗;
- 索引方式选高质量检索模式 + Q&A分段模式(虽然耗时,但精度提升明显);
- 检索设置选混合检索模式,并开启Rerank模型。
不过,我们之前的配置中,LLM用的是OpenAI的gpt4o-mini,Embedding模型是text-embedding-3-large,偏偏没有Rerank模型。好在Dify支持的大模型种类足够多,我们可以单独集成一个Rerank模型进来。
Jina AI
具体怎么做?接入Jina AI是一个相当直接的选择。
Jina AI官网说得很简单:Your Search Foundation Supercharged——翻译过来就是“你的搜索能力被极大地提升了”。而我们在Dify里使用Jina AI的向量检索和Rerank重排,也确实能明显感受到知识库检索能力的增强。下面就来演示一下具体操作:
- 如何申请Jina AI的API Key
- 接入并使用Jina AI的Embedding模型以及Rerank模型
申请API Key
Jina AI的API Key申请非常省事,不需要注册登录,访问他们的官网就能直接拿到将近百万的免费tokens。官网地址就是 https://jina.ai/。
在Dify中使用
另外,Jina AI在国内可以直接使用,这一点很省心。在Dify的模型配置对话框中,只需要填入API key即可。Jina支持的Rerank模型和Embedding模型选择也不少,我们可以把系统默认的Embedding和Rerank模型换成Jina的。
这样一来,在知识库创建时,就可以直接使用Jina的向量模型和Rerank模型了。
知识库设置
我们之前已经创建过一个K8s相关的知识库,它用的向量模型是OpenAI的text-embedding-3-large。为了方便对比测试,我又往里面加了一个微软官方用来测试知识库的Word文件。
准备了三个问题:
- Use Windows Hello to sign in
- Charge your Surface Pro 4
- Get to know Windows 10
在原知识库中,每个问题都能看到对应的引用,回答看起来还可以。
接下来,我们创建一个新的知识库,上传同样的测试文件,在第二步把Embedding模型设为jina-embeddings-v2-base-zh,Rerank模型设为jina-reranker-v2-base-multilingual。为了节省测试时间,这次就不开启Q&A分段模式了,直接创建。
创建完成后,用相同的问题去提问,对比结果:
- Use Windows Hello to sign in
- Charge your Surface Pro 4
- Get to know Windows 10
乍看之下差别不大,但仔细对比会发现,加入了Rerank之后,每个问题的回答都比之前多出了一些内容。而测试文件只有8.9k的大小,如果是体积更大的文件,检索效果的提升肯定会更加明显。
