From 9c78ce127dff347087a0eeb3ac73272ba21d5e4c Mon Sep 17 00:00:00 2001 From: Riskey <36894937+RiskeyL@users.noreply.github.com> Date: Fri, 9 Jan 2026 21:37:52 +0800 Subject: [PATCH] Fix/update introduction links (#661) * fix the broken link for the en user input node * replace the legacy link prefix for ja and zh introduction * remove the redundant zh pages --------- Co-authored-by: Riskey --- en/use-dify/build/additional-features.mdx | 4 +- ja/use-dify/getting-started/introduction.mdx | 8 +- zh/use-dify/getting-started/introduction.mdx | 8 +- zh/use-dify/pages/build/mcp.mdx | 108 ---- .../build/predefined-error-handling-logic.mdx | 91 ---- zh/use-dify/pages/debug/history-and-logs.mdx | 47 -- .../pages/getting-started/introduction.mdx | 36 -- .../pages/getting-started/key-concepts.mdx | 151 ------ .../connect-external-knowledge-base.mdx | 143 ------ ...integrate-knowledge-within-application.mdx | 204 -------- .../knowledge-pipeline-orchestration.mdx | 484 ------------------ zh/use-dify/pages/knowledge/readme.mdx | 46 -- .../pages/nodes/knowledge-retrieval.mdx | 93 ---- zh/use-dify/pages/nodes/llm.mdx | 136 ----- zh/use-dify/pages/nodes/tools.mdx | 91 ---- zh/use-dify/pages/publish/publish-mcp.mdx | 58 --- .../pages/publish/webapp/chatflow-webapp.mdx | 170 ------ .../pages/tutorials/customer-service-bot.mdx | 174 ------- 18 files changed, 10 insertions(+), 2042 deletions(-) delete mode 100644 zh/use-dify/pages/build/mcp.mdx delete mode 100644 zh/use-dify/pages/build/predefined-error-handling-logic.mdx delete mode 100644 zh/use-dify/pages/debug/history-and-logs.mdx delete mode 100644 zh/use-dify/pages/getting-started/introduction.mdx delete mode 100644 zh/use-dify/pages/getting-started/key-concepts.mdx delete mode 100644 zh/use-dify/pages/knowledge/connect-external-knowledge-base.mdx delete mode 100644 zh/use-dify/pages/knowledge/integrate-knowledge-within-application.mdx delete mode 100644 zh/use-dify/pages/knowledge/knowledge-pipeline/knowledge-pipeline-orchestration.mdx delete mode 100644 zh/use-dify/pages/knowledge/readme.mdx delete mode 100644 zh/use-dify/pages/nodes/knowledge-retrieval.mdx delete mode 100644 zh/use-dify/pages/nodes/llm.mdx delete mode 100644 zh/use-dify/pages/nodes/tools.mdx delete mode 100644 zh/use-dify/pages/publish/publish-mcp.mdx delete mode 100644 zh/use-dify/pages/publish/webapp/chatflow-webapp.mdx delete mode 100644 zh/use-dify/pages/tutorials/customer-service-bot.mdx diff --git a/en/use-dify/build/additional-features.mdx b/en/use-dify/build/additional-features.mdx index 0bc32527..c1cf62a3 100644 --- a/en/use-dify/build/additional-features.mdx +++ b/en/use-dify/build/additional-features.mdx @@ -16,7 +16,7 @@ Add features to make your apps more useful. Click **Features** in the top right ## Workflow apps - File upload through Features is deprecated for Workflow apps. Use [file variables on the Start node](/en/ducmentation/pages/nodes/start) instead. + File upload through Features is deprecated for Workflow apps. Use [file variables on the User Input node](/en/use-dify/nodes/user-input) instead. Workflow apps only support **Image Upload** via Features: @@ -66,7 +66,7 @@ LLMs can't read files directly. Use Document Extractor first. 4. Add Answer node with LLM output - This doesn't remember files between conversations. Users need to re-upload each time. For persistent files, use [Start node file variables](/en/ducmentation/pages/nodes/start). + This doesn't remember files between conversations. Users need to re-upload each time. For persistent files, use [file variables on the User Input node](/en/use-dify/nodes/user-input) instead. ### Images diff --git a/ja/use-dify/getting-started/introduction.mdx b/ja/use-dify/getting-started/introduction.mdx index 00d42b90..19adf2c2 100644 --- a/ja/use-dify/getting-started/introduction.mdx +++ b/ja/use-dify/getting-started/introduction.mdx @@ -11,13 +11,13 @@ Difyは、AIワークフローを構築するためのオープンソースプ ![853427c8123decb5ea3d163ae3bb8ab635d95e92f7ee14a2e51e54df06e94fd8.png](/images/853427c8123decb5ea3d163ae3bb8ab635d95e92f7ee14a2e51e54df06e94fd8.png) - + 数分で強力なアプリの構築を開始 - + Difyの核となる構成要素の説明 - + 自分のノートパソコン/サーバーにDifyをインストールするガイド @@ -26,7 +26,7 @@ Difyは、AIワークフローを構築するためのオープンソースプ 過去のリリースでの変更内容 - + Difyのユースケース例のウォークスルー diff --git a/zh/use-dify/getting-started/introduction.mdx b/zh/use-dify/getting-started/introduction.mdx index a17df5b5..e5240206 100644 --- a/zh/use-dify/getting-started/introduction.mdx +++ b/zh/use-dify/getting-started/introduction.mdx @@ -11,13 +11,13 @@ Dify 是一个用于构建 AI 工作流的开源平台。通过在可视化画 ![853427c8123decb5ea3d163ae3bb8ab635d95e92f7ee14a2e51e54df06e94fd8.png](/images/853427c8123decb5ea3d163ae3bb8ab635d95e92f7ee14a2e51e54df06e94fd8.png) - + 数分钟内开始构建强大的应用 - + 核心 Dify 构建模块解释 - + 在你的笔记本电脑/服务器上安装 Dify @@ -26,7 +26,7 @@ Dify 是一个用于构建 AI 工作流的开源平台。通过在可视化画 查看过往版本的更新内容 - + Dify 用例示例演练 diff --git a/zh/use-dify/pages/build/mcp.mdx b/zh/use-dify/pages/build/mcp.mdx deleted file mode 100644 index ca5f1dac..00000000 --- a/zh/use-dify/pages/build/mcp.mdx +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "使用 MCP 工具" -icon: "microchip" ---- - - ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考[英文原版](/en/use-dify/build/mcp)。 - - -将来自 [MCP 服务器](https://modelcontextprotocol.io/introduction) 的外部工具连接到你的 Dify 应用程序。你可以使用不断增长的 [MCP 生态系统](https://mcpservers.org/) 中的工具,而不仅仅是内置工具。 - - - 本内容涵盖在 Dify 中使用 MCP 工具。要将 Dify 应用程序发布为 MCP 服务器,请参阅[这里](/zh/use-dify/publish/publish-mcp)。 - - - - 目前仅支持使用 [HTTP 传输](https://modelcontextprotocol.io/docs/concepts/architecture#transport-layer) 的 MCP 服务器。 - - -## 添加 MCP 服务器 - -在你的工作空间中转到**工具** → **MCP**。 - -![](/images/6cef1436fcc13a65ccedb54bcf5ab77eb87b8faba1098a85951839fb1907f2d2.png) - -点击**添加 MCP 服务器 (HTTP)**: - -![](/images/b5429131836c1caae84f4ce8b3b806221e39636723644961ce2f2a97d5421f16.png) - -**服务器 URL**:MCP 服务器的位置(如 `https://api.notion.com/mcp`) - -**名称和图标**:给它一个有用的名称。Dify 会尝试自动获取图标。 - -**服务器 ID**:唯一标识符(小写字母、数字、下划线、连字符,最多 24 个字符) - - - 一旦开始使用服务器 ID,就不要更改它。这将破坏任何使用该服务器工具的应用程序。 - - -## 接下来会发生什么 - -Dify 会自动: -1. 连接到服务器 -2. 处理任何 OAuth 认证 -3. 获取可用工具列表 -4. 使它们在你的应用程序构建器中可用 - -一旦找到工具,你将看到服务器卡片: - -![](/images/fcef5ecad1deca82a1d8988c4bcb7cec745a0cd47945ff05fca588502cfaafbc.png) - -## 管理服务器 - -点击任何服务器卡片可以: - -**更新工具**:当外部服务添加新工具时刷新 - -![](/images/7b526a64ff34b10a357511b2cd3e42f251a6786210eac71c58ca7bfccdf63f0c.png) - -**重新授权**:当令牌过期时修复认证 - -**编辑设置**:更改服务器详细信息(但不能更改 ID!) - -**移除**:断开服务器连接(这会破坏使用其工具的应用程序) - -## 使用 MCP 工具 - -连接后,MCP 工具会出现在你期望的所有地方: - -**在智能代理中**:工具按服务器分组显示("Notion MCP » Create Page") - -**在工作流中**:MCP 工具作为节点可用 - -**在智能代理节点中**:与常规智能代理相同 - -## 自定义工具 - -添加 MCP 工具时,你可以自定义它: - -![](/images/CleanShot2025-07-07at07.41.33@2x.png) - -**描述**:覆盖默认描述以使其更具体 - -**参数**:对于每个工具参数,选择: -- **自动**:让 AI 决定值 -- **固定**:设置一个永不改变的特定值 - -**示例**:对于搜索工具,将 `numResults` 设置为 5(固定),但保持 `query` 为自动。 - -## 分享应用程序 - -当你导出使用 MCP 工具的应用程序时: -- 导出内容包含服务器 ID -- 要在其他地方使用该应用程序,需要添加具有相同 ID 的相同服务器 -- 记录你的应用程序需要哪些 MCP 服务器 - -## 故障排除 - -**"未配置的服务器"**:检查 URL 并重新授权 - -**缺少工具**:点击"更新工具" - -**应用程序损坏**:你可能更改了服务器 ID。使用原始 ID 重新添加它。 - -## 提示 - -- 使用永久的、描述性的服务器 ID,如 `github-prod` 或 `crm-system` -- 在开发/测试/生产环境中保持相同的 MCP 设置 -- 为配置项设置固定值,为部署前测试 MCP 集成 diff --git a/zh/use-dify/pages/build/predefined-error-handling-logic.mdx b/zh/use-dify/pages/build/predefined-error-handling-logic.mdx deleted file mode 100644 index 80ac1185..00000000 --- a/zh/use-dify/pages/build/predefined-error-handling-logic.mdx +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: "处理错误" -icon: "arrow-rotate-right" ---- - - ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考[英文原版](/en/use-dify/build/predefined-error-handling-logic)。 - - -![](https://assets-docs.dify.ai/2024/12/6e2655949889d4d162945d840d698649.png) -[大型语言模型](/en/use-dify/nodes/llm)、[HTTP](/en/use-dify/nodes/http-request)、[代码](/en/use-dify/nodes/code) 和 [工具](/en/use-dify/nodes/tools) -节点支持开箱即用的错误处理。当节点失败时,可以采用以下三种行为之一: - - - - 默认行为。当节点失败时,整个工作流停止。你会收到原始错误消息。 - - 适用于以下情况: - - 正在测试并希望查看哪里出了问题 - - 工作流无法在没有此步骤的情况下继续 - - - 当节点失败时,使用备用值代替。工作流继续运行。 - - ![](https://assets-docs.dify.ai/2024/12/e9e5e757090679243e0c9976093c7e6c.png) - - **要求** - - 默认值必须与节点的输出类型匹配——如果输出字符串,你的默认值也必须是字符串。 - - **示例** - - 你的大型语言模型节点通常返回分析结果,但有时由于速率限制而失败。设置一个默认值,如: - - ``` - "抱歉,我暂时不可用。请几分钟后再试。" - ``` - - 现在用户会收到有用的消息,而不是损坏的工作流。 - - - 当节点失败时,触发一个单独的流程来处理错误。 - - ![](https://assets-docs.dify.ai/2024/12/e5ea1af947818bd9e27cab3042c1c4f3.png) - - 失败分支用橙色高亮显示。你可以: - - 发送错误通知 - - 尝试不同的方法 - - 记录错误以进行调试 - - 使用备用服务 - - **示例** - - 你的主 API 失败,因此失败分支调用备用 API。用户永远不会知道出现了问题。 - - - -## 循环/迭代节点中的错误 - -当子节点在循环和迭代中失败时,这些控制流节点有自己的错误行为。 - -**循环节点** 总是在任何子节点失败时立即停止。整个循环终止并返回错误,阻止任何进一步的迭代运行。 - -**迭代节点** 让你通过错误处理模式设置选择如何处理子节点失败: - -- `terminated` - 当任何项目失败时立即停止处理(默认) -- `continue-on-error` - 跳过失败的项目并继续下一个 -- `remove-abnormal-output` - 继续处理但从最终输出中过滤掉失败的项目 - -当你将迭代设置为 `continue-on-error` 时,失败的项目在输出数组中返回 `null`。当你使用 `remove-abnormal-output` 时,输出数组仅包含成功的结果,使其比输入数组更短。 - -## 错误变量 - -使用默认值或失败分支时,你会得到两个特殊变量: - -- `error_type` - 发生了什么类型的错误(参见 [错误类型](cn/use-dify/debug/error-type)) -- `error_message` - 实际的错误详细信息 - -使用这些来: -- 向用户显示有用的消息 -- 向你的团队发送警报 -- 选择不同的恢复策略 -- 记录错误以进行调试 - -**示例** - -```text -{% if error_type == "rate_limit" %} -请求过多。请稍等片刻再试。 -{% else %} -出了点问题。我们的团队已收到通知。 -{% endif %} -``` diff --git a/zh/use-dify/pages/debug/history-and-logs.mdx b/zh/use-dify/pages/debug/history-and-logs.mdx deleted file mode 100644 index 53bcd86d..00000000 --- a/zh/use-dify/pages/debug/history-and-logs.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: "运行历史" -icon: "timer" ---- - - ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考[英文原版](/en/use-dify/debug/history-and-logs)。 - - -Dify 会在每次工作流运行时记录详细的运行历史。你可以查看应用级别和各个节点的运行情况。 - - -对于发布后来自真实用户的运行历史,请参阅[运行历史和标注](/zh/use-dify/monitor/logs)。 - - -## 应用运行历史 - -每次工作流运行都会创建一个完整的日志条目。点击任何条目可以查看三个部分: - -![](https://assets-docs.dify.ai/2025/04/08a885858cfa6e8863faac891a5be319.png) - -### 结果 - -显示用户看到的最终输出。如果工作流失败,你将在这里看到错误消息。 - -![](https://assets-docs.dify.ai/2025/06/22856751d278ffad99d0533d2d96e125.png) - - -仅适用于工作流应用。 - - -### 详情 - -显示原始输入、最终输出和执行过程中的系统元数据。 - -![](https://assets-docs.dify.ai/2025/06/882b783cd843ab666f5bc3c06f78521d.png) - -### 追踪 - -准确显示工作流的执行过程,包括哪些节点按什么顺序运行、每个节点耗时多长,以及数据在节点间如何流动。这对于找出瓶颈和理解具有分支或循环的复杂工作流很有用。 - -![](https://assets-docs.dify.ai/2025/06/9e614ac01b1f6e0aeadda78c91ce93b7.png) - -## 节点运行历史 - -你也可以检查任何单个节点的最后一次执行。在节点配置面板中点击"最后运行",查看其最近的输入、输出和时间详情。 - -![](https://assets-docs.dify.ai/2025/06/9c6e57236d85f426a930424863042d7d.png) diff --git a/zh/use-dify/pages/getting-started/introduction.mdx b/zh/use-dify/pages/getting-started/introduction.mdx deleted file mode 100644 index a17df5b5..00000000 --- a/zh/use-dify/pages/getting-started/introduction.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: "介绍" -mode: "wide" -icon: "key" ---- - - ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考[英文原版](/en/use-dify/getting-started/introduction)。 - -Dify 是一个用于构建 AI 工作流的开源平台。通过在可视化画布上编排 AI 模型、连接数据源、定义处理流程,直接将你的领域知识转化为可运行的软件。 - -![853427c8123decb5ea3d163ae3bb8ab635d95e92f7ee14a2e51e54df06e94fd8.png](/images/853427c8123decb5ea3d163ae3bb8ab635d95e92f7ee14a2e51e54df06e94fd8.png) - - - - 数分钟内开始构建强大的应用 - - - 核心 Dify 构建模块解释 - - - 在你的笔记本电脑/服务器上安装 Dify - - - 与社区交流心得 - - - 查看过往版本的更新内容 - - - Dify 用例示例演练 - - - - - Dify 这个名字来自 **D**o **I**t **F**or **Y**ou。 - diff --git a/zh/use-dify/pages/getting-started/key-concepts.mdx b/zh/use-dify/pages/getting-started/key-concepts.mdx deleted file mode 100644 index fb4a71b4..00000000 --- a/zh/use-dify/pages/getting-started/key-concepts.mdx +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: "核心概念" -description: "Dify 核心概念快速概览" -icon: "circle-info" ---- - - ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考[英文原版](/en/use-dify/getting-started/key-concepts)。 - - -### Dify 应用 - -Dify 专为智能体应用构建而设计。在 **Studio** 中,你可以通过拖拽界面快速构建智能体工作流并将其发布为应用。你可以通过 API、Web 或作为 [MCP 服务器](/zh/use-dify/publish/publish-mcp)访问已发布的应用。Dify 提供两种主要的应用类型:工作流和对话流。在创建新应用时,你需要选择一种应用类型。 - - -我们推荐选择工作流或对话流作为你的应用类型。但除了这些之外,Dify 还提供 3 种更基础的应用类型:聊天机器人、智能代理和文本生成器。 -22087830d0a6478d42d0c60e6eb88d19bca27be3c645f2bb0968d51330b7da72.png -这些应用类型在底层运行相同的工作流引擎,但提供了更简单的传统界面: -chatbot-interface.png - -### 工作流 - -构建工作流应用来处理单轮任务。Web 应用界面和 API 提供了便捷的批量执行多个任务的访问方式。 - - - 在底层,工作流构成了 Dify 中所有其他应用类型的基础。 - - -你可以指定如何以及何时启动工作流。有两种类型的开始节点: - -- **[用户输入](/zh/use-dify/nodes/user-input)**:通过直接用户交互或 API 调用触发应用程序。 - -- **[触发器](/zh/use-dify/nodes/trigger/overview)**:应用程序按计划自动运行或响应特定的第三方事件。 - -用户输入和触发器开始节点是互斥的——它们不能在同一画布上使用。要在它们之间切换,请右键单击当前开始节点 > **更改节点**。或者,删除当前开始节点并添加一个新节点。 - - - 只有由用户输入启动的工作流才能发布为独立的 Web 应用程序或 MCP 服务器,通过后端服务 API 公开,或在其他 Dify 应用程序中用作工具。 - - - -### 对话流 - -对话流是一种特殊类型的工作流应用,在对话的每一轮都会被触发。除了工作流功能外,对话流还具有存储和更新自定义对话特定变量的能力,在大型语言模型节点中启用记忆功能,并在对话流运行的不同节点流式传输格式化的文本、图像和文件。 - -与工作流不同,对话流不能使用[触发器](/zh/use-dify/nodes/trigger/overview)来启动。 - -### Dify 领域特定语言 - -所有 Dify 应用都可以导出为 Dify 自有领域特定语言的 YAML 文件,你也可以直接从这些领域特定语言文件创建 Dify 应用。这使得将应用移植到其他 Dify 实例并与他人分享变得容易。 - -### 变量 - -变量是存储信息的标记容器,因此你可以通过引用其名称来查找和使用该信息。在构建 Dify 应用时,你会遇到不同类型的变量: - -**输入**:你可以在[用户输入](/zh/use-dify/nodes/user-input)节点为你的应用最终用户指定任意数量的输入变量来填写。 - -CleanShot 2025-08-04 at 14.34.04@2x.png - -此外,用户输入节点还带有一组输入变量,你可以在流程中稍后引用。根据应用程序类型(工作流或对话流),会提供不同的变量。 - - - - - | 变量名 |
数据类型
| 描述 | 注释 | - |:----------------|:-----------|:-------------|:--------| - | `sys.user_id` | String | 用户 ID:系统在用户使用工作流应用程序时自动分配给每个用户的唯一标识符。用于区分不同的用户。 | | - | `sys.app_id` | String | 应用程序 ID:系统自动分配给每个应用程序的唯一标识符。此参数用于记录当前应用程序的基本信息。 | 此参数用于具有开发能力的用户区分和定位不同的工作流应用程序。 | - | `sys.workflow_id` | String | 工作流 ID:此参数记录当前工作流应用程序中所有节点的信息。 | 此参数可供具有开发能力的用户用于跟踪和记录工作流中包含的节点信息。 | - | `sys.workflow_run_id` | String | 工作流运行 ID:用于记录工作流应用程序的运行时状态和执行日志。 | 此参数可供具有开发能力的用户用于跟踪应用程序的历史执行记录。 | - | `sys.timestamp` | String | 每次工作流执行的开始时间。 | | - -
- - - | 变量名 |
数据类型
| 描述 | 注释 | - |:----------------|:-----------|:-------------|:--------| - | `sys.conversation_id` | String | 聊天框交互会话的唯一 ID,将所有相关消息分组到同一对话中,确保 LLM 在相同的主题和上下文中继续聊天。 | | - | `sys.dialogue_count` | Number | 用户与对话流应用程序交互期间的对话轮次数。每次聊天轮次后计数自动增加 1,可与 if-else 节点结合使用以创建丰富的分支逻辑。

例如,LLM 将在第 X 个对话轮次时审查对话历史并自动提供分析。 | | - | `sys.user_id` | String | 为每个应用程序用户分配一个唯一 ID,以区分不同的对话用户。 | 服务 API 不共享 WebApp 创建的对话。这意味着具有相同 ID 的用户将在 API 和 WebApp 界面之间具有单独的对话历史记录。 | - | `sys.app_id` | String | 应用程序 ID:系统自动分配给每个应用程序的唯一标识符。此参数用于记录当前应用程序的基本信息。 | 此参数用于具有开发能力的用户区分和定位不同的工作流应用程序。 | - | `sys.workflow_id` | String | 工作流 ID:此参数记录当前工作流应用程序中所有节点的信息。 | 此参数可供具有开发能力的用户用于跟踪和记录工作流中包含的节点信息。 | - | `sys.workflow_run_id` | String | 工作流运行 ID:用于记录工作流应用程序的运行时状态和执行日志。 | 此参数可供具有开发能力的用户用于跟踪应用程序的历史执行记录。 | - -
-
- -用户输入在每次工作流运行开始时设置,无法更新。 - -**输出**:每个节点产生一个或多个输出,可以在后续节点中引用。例如,大型语言模型节点有以下输出: - -Cl.57@2x.png - -与输入一样,节点输出也无法更新。 - -**环境变量**:使用环境变量来存储你应用特定的敏感信息,如 API 密钥。这允许在密钥和 Dify 应用本身之间进行清晰分离,因此在分享你的应用领域特定语言时,你不必承担暴露密码和密钥的风险。环境变量也是常量,无法更新。 - -**会话变量(仅对话流)**:这些变量是对话特定的——意味着它们在单个对话的多轮对话流运行中持续存在,因此你可以存储和访问动态信息,如待办事项列表和令牌成本。你可以通过变量分配器节点更新会话变量的值: - -2935cb58851e5c5407a08dde49f7d9738bb13aa0e64df24278e2104b316f6af6.png - -### 变量引用 - -在配置输入字段时,你可以通过从下拉菜单中选择,轻松将变量传递给任何节点: - -CleanShot 2025-08-04 at 15.13.33@2x.png - -你还可以通过键入 `/` 斜杠并从下拉菜单中选择所需变量,将变量值插入到复杂的文本输入中。 - -image.png diff --git a/zh/use-dify/pages/knowledge/connect-external-knowledge-base.mdx b/zh/use-dify/pages/knowledge/connect-external-knowledge-base.mdx deleted file mode 100644 index d18abd99..00000000 --- a/zh/use-dify/pages/knowledge/connect-external-knowledge-base.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: 连接外部知识库 -icon: "link" ---- - -> 为做出区别,独立于 Dify 平台之外的知识库在本文内均被统称为 **“外部知识库”** 。 - -## 功能简介 - -对于内容检索有着更高要求的进阶开发者而言,Dify 平台内置的知识库功能和文本检索和召回机制**存在限制,无法轻易变更文本召回结果。** - -出于对文本检索和召回的精确度有着更高追求,以及对内部资料的管理需求,部分团队选择自主研发 RAG 算法并独立维护文本召回系统、或将内容统一托管至云厂商的知识库服务(例如 [AWS Bedrock](https://aws.amazon.com/bedrock/))。 - -作为中立的 LLM 应用开发平台,Dify 致力于给予开发者更多选择权。 - -**连接外部知识库**功能可以将 Dify 平台与外部知识库建立连接。通过 API 服务,AI 应用能够获取更多信息来源。这意味着: - -* Dify 平台能够直接获取托管在云服务提供商知识库内的文本内容,开发者无需将内容重复搬运至 Dify 中的知识库; -* Dify 平台能够直接获取自建知识库内经算法处理后的文本内容,开发者仅需关注自建知识库的信息检索机制,并不断优化与提升信息召回的准确度。 - - - - - -以下是连接外部知识的详细步骤: - - - - 为了确保你的外部知识库与 Dify 连接成功,请在建立 API 服务前仔细阅读由 Dify 编写的[外部知识库 API 规范](/zh/use-dify/knowledge/knowledge-and-documents-maintenance/maintain-dataset-via-api)。 - - - > 目前, Dify 连接外部知识库时仅具备检索权限,暂不支持对外部知识库进行优化与修改,开发者需自行维护外部知识库。 - - 前往 **“知识库”** 页,点击右上角的 **“外部知识库 API”**,轻点 **“添加外部知识库 API”**。 - - 按照页面提示,依次填写以下内容: - - * 知识库的名称,允许自定义名称,用于区分所连接的不同外部知识 API; - * API 接口地址,外部知识库的连接地址,示例 `api-endpoint/retrieval`;详细说明请参考[外部知识库 API](/zh/use-dify/knowledge/knowledge-and-documents-maintenance/maintain-dataset-via-api); - * API Key,外部知识库连接密钥,详细说明请参考[外部知识库 API](/zh/use-dify/knowledge/knowledge-and-documents-maintenance/maintain-dataset-via-api); - - - - - - - 前往 **“知识库”** 页,点击添加知识库卡片下方的 **“连接外部知识库”** 跳转至参数配置页面。 - - - - - - 填写以下参数: - - * **知识库名称与描述** - * **外部知识库 API** 选择在第二步中关联的外部知识库 API;Dify 将通过 API 连接的方式,调用存储在外部知识库的文本内容; - * **外部知识库 ID** 指定需要被关联的特定的外部知识库 ID,详细说明请参考[外部知识库 API](/zh/use-dify/knowledge/knowledge-and-documents-maintenance/maintain-dataset-via-api)。 - * **调整召回设置** - - **Top K:** 用户发起提问时,将请求外部知识 API 获取相关性较高的内容分段。该参数用于筛选与用户问题相似度较高的文本片段。默认值为 3,数值越高,召回存在相关性的文本分段也就越多。 - - **Score 阈值:** 文本片段筛选的相似度阈值,只召回超过设置分数的文本片段,默认值为 0.5。数值越高说明对于文本与问题要求的相似度越高,预期被召回的文本数量也越少,结果也会相对而言更加精准。 - - - - - - - - 建立与外部知识库的连接后,开发者可以在 **“召回测试”** 中模拟可能的问题关键词,预览从外部知识库召回的文本分段。若对于召回结果不满意,可以尝试修改召回参数或自行调整外部知识库的检索设置。 - - - - - - - - **Chatbot / Agent 类型应用** - - 在 Chatbot / Agent 类型应用内的编排页中的 **“上下文”** 内,选中带有 `EXTERNAL` 标签的外部知识库。 - - - - - - - **Chatflow / Workflow 类型应用** - - 在 Chatflow / Workflow 类型应用内添加 **“知识检索”** 节点,选中带有 `EXTERNAL` 标签的外部知识库。 - - -
- - -
- - 在 **“知识库”** 页,外部知识库的卡片右上角会带有 **EXTERNAL** 标签。进入需要修改的知识库,点击 **“设置”** 修改以下内容: - - * **知识库名称和描述** - * **可见范围** 提供 「 只有我 」 、 「 所有团队成员 」 和 「部分团队成员」 三种权限范围。不具有权限的人将无法访问该知识库。若选择将知识库公开至其它成员,则意味着其它成员同样具备该知识库的查看、编辑和删除权限。 - * **召回设置** - - **Top K:** 用户发起提问时,将请求外部知识 API 获取相关性较高的内容分段。该参数用于筛选与用户问题相似度较高的文本片段。默认值为 3,数值越高,召回存在相关性的文本分段也就越多。 - - **Score 阈值:** 文本片段筛选的相似度阈值,只召回超过设置分数的文本片段,默认值为 0.5。数值越高说明对于文本与问题要求的相似度越高,预期被召回的文本数量也越少,结果也会相对而言更加精准。 - - 外部知识库所关联的 **“外部知识库 API”** 和 **“外部知识 ID”** 不支持修改,如需修改请关联新的 “外部知识库 API” 并重新进行连接。 - -
- -### 外部知识库连接示例 - -#### LlamaCloud - -[Dify 插件市场](https://marketplace.dify.ai/)内提供了 LlamaCloud 插件,可以帮助你快速连接 LlamaCloud 知识库,在 Dify 平台中使用由 LlamaCloud 提供的检索功能,而无需编写自定义 API。 - -插件市场中搜索 `LlamaCloud` 即可快速安装插件。 - -按照插件配置向导,填写 LlamaCloud 的 API 密钥和其他必要信息。完成配置后,你可以在知识库列表中看到连接的外部知识库。 - -**视频教程** - -以下视频详细展示了如何使用 LlamaCloud 插件连接外部知识库: - -