如何通过 Dify 平台连接外部知识库?
你有没有觉得,有时候 Dify 自带的知识库功能有点不够用?比如,文本召回的结果不够精准,或者你想直接用云厂商的知识库,而不是重复搬运数据到 Dify。别担心,Dify 的“连接外部知识库”功能就是为了解决这些问题的!下面我就来详细讲讲这个功能怎么用。
首先,这个功能的亮点在于,它能让 Dify 平台直接调用外部知识库的数据,不管是你自己搭建的知识库,还是托管在 AWS Bedrock 这样的云服务上的知识库都可以。而且,通过 API 的方式调用数据,真的很方便,开发者只需要专注于优化外部知识库的检索机制就行了。
外部知识库连接的具体步骤
建立符合要求的外部知识库 API
要想让 Dify 和你的外部知识库顺利“牵手”,首先得保证你的外部知识库 API 符合 Dify 的规范。这个规范文档可以在 Dify 官网找到,记得仔细阅读。关联外部知识库
接下来,我们需要把外部知识库和 Dify 平台关联起来。打开 Dify 的“知识库”页面,点击右上角的“外部知识库 API”,然后选择“添加外部知识库 API”。
这时候,你需要填写一些信息:- 知识库名称:随便起个名字,方便你区分不同的外部知识库。
- API 接口地址:比如
api-endpoint/retrieval
,具体格式可以参考 Dify 的 API 规范。 - API Key:也就是连接密钥,这个你得从外部知识库那边拿到。
连接外部知识库
在“知识库”页面,找到刚刚添加的知识库卡片,点击“连接外部知识库”,然后进入参数配置页面。这里需要设置以下内容:
- 知识库名称和描述:简单填写即可。
- 外部知识库 API:选择刚刚关联的 API。
- 外部知识库 ID:指定需要关联的具体知识库,具体格式参考 API 规范。
- 召回设置
- Top K:设置返回的文本片段数量,默认是 3,数值越高,召回的内容越多。
- Score 阈值:设置文本相似度的最低分数,默认是 0.5,分数越高,召回的内容越精准。
测试连接和召回效果
连接成功后,可以在“召回测试”中模拟一些问题关键词,看看召回的文本效果。如果结果不满意,可以调整召回参数,或者直接优化外部知识库的检索机制。
6.在应用中集成外部知识库
这个功能支持两种类型的应用:
- Chatbot / Agent 应用:在编排页的“上下文”中,选择带有 EXTERNAL 标签的外部知识库。
- Chatflow / Workflow 应用:在流程中添加“知识检索”节点,然后选择带有 EXTERNAL 标签的外部知识库。
7.管理外部知识库
在“知识库”页面,找到需要修改的外部知识库,点击“设置”可以调整以下内容:
- 知识库名称和描述:改个名字什么的很简单。
- 可见范围:可以设置为“只有我”、“所有团队成员”或者“部分团队成员”。注意,公开的知识库其他人也能编辑和删除哦。
- 召回设置:调整 Top K 和 Score 阈值,优化召回效果。
不过,外部知识库的 API 和知识库 ID 是不能修改的,如果需要更改,得重新关联新的 API。
使用小贴士
- 召回参数的调整:Top K 和 Score 阈值是两个关键参数,前者控制召回的数量,后者控制召回的精准度。根据实际需求调整,可以显著提升效果。
- 权限管理:如果知识库涉及敏感内容,记得设置合适的可见范围,不然团队里的“熊孩子”可能会乱动哦。
- 实时测试:通过“召回测试”功能,可以快速验证连接是否成功,以及召回的内容是否符合预期。
感觉嘛,这个功能对那些需要高精度文本检索的开发者来说,真的是一大福音。特别是对于有自建知识库的团队,可以完全按照自己的需求来优化检索机制,而不用受限于平台的默认设置。如果你对文本召回的精准度有要求,或者需要整合多个知识库的数据,强烈建议试试这个功能!