在 Dify 中连接外部知识库,主要有三种方法,你可以根据自己的技术背景和需求来选择。


📌 方法一:通过“外部知识库 API”连接(最通用)

这是 Dify 提供的一种标准集成方式,适用于连接任何实现了 Dify API 规范的自建或第三方 RAG 系统。例如,你可以用这个方法将 RAGFlow、InfraNodus或 AWS Bedrock等外部知识服务接入 Dify。

核心流程分为三步:

1. 准备外部检索 API

你需要在外部知识服务端,构建一个实现了 Dify “外部知识库 API 规范”的服务。它需要提供一个 POST 端点,接收查询并返回匹配的文本片段。

  • 接口地址:假设你的服务地址是 https://your-service.com,Dify 会自动请求 https://your-service.com/retrieval。
  • 认证方式:Dify 会将你配置的 API Key 作为 Bearer Token 放在请求头中。
  • **请求体 (Body)**:需包含 knowledge_id、query 和 retrieval_setting (如 top_k, score_threshold) 等字段。
  • **响应体 (Response)**:需返回一个包含 records 数组的 JSON,每个记录需有 content (文本内容) 和 score (相似度分数)。

2. 在 Dify 中注册外部知识库 API

  • 进入 “知识库” 页面,点击右上角的 “外部知识库 API”。
  • 点击 “添加外部知识库 API”。
  • 填写 “名称”(如“我的RAGFlow”)、“API 接口地址”(即你的服务地址)和 “API Key”。

3. 在 Dify 中创建外部知识库

  • 回到 “知识库” 页面,点击 “连接外部知识库”。
  • 填写 “外部知识库名称” 和描述。
  • 选择刚才注册的 “外部知识库 API”。
  • 填写 “外部知识库 ID”:这是你在外部系统中定义的特定知识库标识符,Dify 会在请求时传给外部 API。
  • 配置 “检索设置”,如 Top K (返回片段数) 和 分数阈值。

🧩 方法二:使用“知识库流水线 (Knowledge Pipeline) 插件”(更便捷)

Dify 的 Knowledge Pipeline 是一个基于插件的开放架构,能将数据处理流程模块化。对于 Notion、Confluence、Google Drive 等常见数据源,可以通过安装对应的连接器插件来轻松接入。

  • 操作方式:在 Dify 的“知识库”创建页面,选择“从在线数据导入”,然后根据提示完成 Notion 等平台的授权,即可直接同步数据。
  • 灵活性:如果已有自定义的数据处理流程,也可以通过插件或 MCP 协议集成进来。

📂 方法三:直接导入在线数据源

对于 Notion、Confluence、Google Drive、AWS S3、Slack 等常见数据源,Dify 也支持通过直接导入的方式将其内容纳入知识库。这种方式适合快速上手和无需复杂定制的场景。


⚙️ 准备工作:注册 API 与创建知识库

  • 获取外部知识库的 API Key 与 ID:在要连接的外部知识库(如 RAGFlow、InfraNodus)中,找到并生成 API Key,同时准备好 Knowledge ID。
  • 在 Dify 中完成连接:按方法一的步骤,依次“注册 API”和“创建外部知识库”。

💡 核心优势

  • 无需迁移数据:AI 应用能直接检索现有基础设施中的信息。
  • 保留控制权:你可以完全掌控外部知识库的检索逻辑和内容管理。
  • 灵活扩展:可以接入各种自建或第三方的 RAG 系统。

⚠️ 注意事项

  • 不可修改:外部知识库 API 和 ID 创建后不可更改。
  • 仅检索权限:Dify 只拥有外部知识库的检索权限,无法修改或管理外部内容。
  • 网络问题:如果是自托管 Dify,可能需配置网络代理以解决“连接被拒绝”等问题。

🎯 选择建议

  • 连接已有的 RAG 系统:选择方法一。
  • 连接 Notion、Confluence 等常见平台:首选方法二或三,通常更便捷。
  • 连接其他自定义数据源:可使用方法一,自己构建检索 API。