dify 平台扩展知识库接入:连接外部知识库,提升ai应用能力
本文介绍 Dify 平台如何连接外部知识库(非 Dify 平台内置知识库),以增强 AI 应用的信息获取能力。 高级开发者可通过此功能更精细地控制文本召回结果,并集成自研或云服务商提供的知识库服务(例如 AWS Bedrock)。
功能优势:
- 直接访问云服务商(如 AWS Bedrock)或自建知识库中的文本,无需复制到 Dify 知识库。
- 利用已优化过的信息检索机制,提高召回准确性。
- 提供灵活的应用层集成,方便构建多样化 AI 应用。

连接步骤:
-
创建符合规范的外部知识库 API: 请仔细阅读 Dify 提供的外部知识库 API 规范文档,构建满足规范的 API 服务。 Dify 目前仅支持外部知识库检索,不支持修改。
-
关联外部知识库 API: 在 Dify “知识库”页面,点击“外部知识库 API”,然后点击“添加外部知识库 API”。 填写以下信息:
-
知识库名称: 自定义名称,用于区分不同的 API。
-
API 接口地址: 例如 api-endpoint/retrieval (请参考 API 规范)。
-
API Key: 用于 API 身份验证。

-
连接外部知识库: 在“知识库”页面,点击“连接外部知识库”,配置以下参数:
-
知识库名称与描述: 自定义名称和描述。
-
外部知识库 API: 选择步骤 2 中关联的 API。
-
外部知识库 ID: (请参考 API 规范)。
-
调整召回设置:
-
Top K: 召回文本片段数量 (建议从小值开始尝试)。
-
Score 阈值: 召回文本片段的相关性分数阈值 (建议从高值开始尝试)。


-
测试连接与召回: 在“召回测试”中输入关键词,预览召回结果。 根据结果调整召回参数或外部知识库检索设置。

-
在应用中集成:
-
Chatbot/Agent 应用: 在编排页面“上下文”中选择带有 EXTERNAL 标签的外部知识库。
-
Chatflow/Workflow 应用: 添加“知识检索”节点,选择带有 EXTERNAL 标签的外部知识库。


-
管理外部知识库: 在“知识库”页面,修改知识库名称、描述、可见范围和召回设置。 注意:无法直接修改已关联的 API 和 ID,需重新关联新的 API。
AWS Bedrock 连接示例 (简述):
此部分略去详细代码,仅保留关键步骤和图片。 完整的代码示例请参考原文。
- 创建 AWS Bedrock Knowledge Base。
- 构建后端 API 服务,连接 AWS Bedrock 并遵循 Dify 的 API 规范。
- 获取 AWS Bedrock Knowledge Base ID。
- 在 Dify 平台关联外部知识库 API。
- 连接外部知识库,配置参数。

- 测试连接和召回,并根据需要调整参数。

外部知识库 API 规范 (简述): 详细规范请参考原文。 此部分只列出关键信息。
-
端点: POST /retrieval
-
请求头: Authorization: Bearer {API_KEY}
-
请求体: 包含 knowledge_id, query, retrieval_setting (包含 top_k, score_threshold)
-
响应体: 包含 records (包含 content, score, title, metadata)
-
错误: 包含 error_code 和 error_msg
通过以上步骤,您可以将外部知识库集成到 Dify 平台,构建更强大、更灵活的 AI 应用。
以上就是Dify 连接外部知识库教程的详细内容,更多请关注php中文网其它相关文章!