From 156160f64d13864e038c031af71e69d57b61af01 Mon Sep 17 00:00:00 2001 From: AllenWriter Date: Mon, 2 Dec 2024 10:14:00 +0800 Subject: [PATCH] Docs: update variable assigner (#381) * Docs: update variable assigner * Docs: update variable assigner * Docs: update variable assigner * Docs: update knowledge disable docs * Add translation --------- Co-authored-by: Hanqing Zhao --- _book/zh_CN/learn-more/faq/install-faq.md | 2 +- .../knowledge-and-documents-maintenance.md | 25 +++++-- en/guides/workflow/node/variable-assigner.md | 41 ++++++++--- en/guides/workflow/variables.md | 4 ++ .../knowledge-and-documents-maintenance.md | 17 +++++ jp/guides/workflow/node/variable-assigner.md | 44 ++++++++---- jp/guides/workflow/variables.md | 8 ++- .../datasets/maintain-dataset-via-api.md | 2 +- .../install-self-hosted/environments.md | 2 +- .../install-self-hosted/local-source-code.md | 2 +- .../guides/application-orchestrate/README.md | 2 +- .../developing-with-apis.md | 4 +- zh_CN/guides/knowledge-base/README.md | 4 +- ...ate-knowledge-and-upload-documents-copy.md | 6 +- .../create-knowledge-and-upload-documents.md | 4 +- .../knowledge-base/external-data-tool.md | 4 +- .../integrate-knowledge-within-application.md | 2 +- .../knowledge-and-documents-maintenance.md | 13 +++- .../guides/knowledge-base/sync-from-notion.md | 8 +-- zh_CN/guides/model-configuration/README.md | 2 +- .../integrate-external-ops-tools/README.md | 4 +- zh_CN/guides/workflow/README.md | 2 +- .../workflow/node/variable-assigner-1.md | 71 ------------------- .../guides/workflow/node/variable-assigner.md | 58 ++++++++++----- zh_CN/guides/workflow/variables.md | 4 ++ .../prompt-engineering-1/README.md | 2 +- .../prompt-engineering-template.md | 2 +- .../retrieval-augment/hybrid-search.md | 14 ++-- .../retrieval-augment/rerank.md | 10 +-- .../extended-reading/what-is-llmops.md | 2 +- zh_CN/learn-more/faq/install-faq.md | 2 +- zh_CN/learn-more/faq/llms-use-faq.md | 14 ++-- .../use-cases/build-an-notion-ai-assistant.md | 12 ++-- ...i-chatbot-with-business-data-in-minutes.md | 6 +- 34 files changed, 222 insertions(+), 177 deletions(-) delete mode 100644 zh_CN/guides/workflow/node/variable-assigner-1.md diff --git a/_book/zh_CN/learn-more/faq/install-faq.md b/_book/zh_CN/learn-more/faq/install-faq.md index a2c69547..5a4669eb 100644 --- a/_book/zh_CN/learn-more/faq/install-faq.md +++ b/_book/zh_CN/learn-more/faq/install-faq.md @@ -96,7 +96,7 @@ FileNotFoundError: File not found 127.0.0.1 是容器内部地址, Dify 配置的服务器地址需要宿主机局域网 IP 地址。 -### 11. 本地部署版如何解决数据集文档上传的大小限制和数量限制。 +### 11. 本地部署版如何解决知识库文档上传的大小限制和数量限制。 可参考官网[环境变量说明文档](https://docs.dify.ai/v/zh-hans/getting-started/install-self-hosted/environments)去配置。 diff --git a/en/guides/knowledge-base/knowledge-and-documents-maintenance.md b/en/guides/knowledge-base/knowledge-and-documents-maintenance.md index 36a3fcd3..3af39624 100644 --- a/en/guides/knowledge-base/knowledge-and-documents-maintenance.md +++ b/en/guides/knowledge-base/knowledge-and-documents-maintenance.md @@ -34,6 +34,25 @@ Dify Knowledge Base provides a complete set of standard APIs. Developers can use

Knowledge base API management

+### Document Disable and Archive + +**Disable**: The dataset supports disabling documents or chunks that are temporarily not to be indexed. In the dataset document list, click the disable button to disable the document. You can also disable an entire document or a specific chunk in the document details. Disabled documents will not be indexed. Click enable on the disabled documents to cancel the disable status. + +**Archive**: Old document data that is no longer in use can be archived if you do not want to delete it. Archived data can only be viewed or deleted, not edited. In the dataset document list, click the archive button to archive the document. You can also archive documents in the document details. Archived documents will not be indexed. Archived documents can also be unarchived. + +{% hint style=“info” %} +Note: + +If there are documents in your knowledge base that haven’t been updated or retrieved for a while, the system will disable inactive documents to ensure optimal performance. + +You can enable them in the knowledge base anytime to restore access. + + • For Sandbox/Free users, inactive knowledge bases will be automatically disabled **after 7 days**. + • For Professional/Team users, inactive knowledge bases will be automatically disabled **after 30 days**. +{% endhint %} + +*** + ## Maintaining Text in the Knowledge Base ### Viewing Text Chunks @@ -110,10 +129,4 @@ A knowledge base (Knowledge) is a collection of documents (Documents). Documents *** -### Document Disable and Archive -**Disable**: The dataset supports disabling documents or chunks that are temporarily not to be indexed. In the dataset document list, click the disable button to disable the document. You can also disable an entire document or a specific chunk in the document details. Disabled documents will not be indexed. Click enable on the disabled documents to cancel the disable status. - -**Archive**: Old document data that is no longer in use can be archived if you do not want to delete it. Archived data can only be viewed or deleted, not edited. In the dataset document list, click the archive button to archive the document. You can also archive documents in the document details. Archived documents will not be indexed. Archived documents can also be unarchived. - -*** diff --git a/en/guides/workflow/node/variable-assigner.md b/en/guides/workflow/node/variable-assigner.md index 7b38ed85..e6ce1421 100644 --- a/en/guides/workflow/node/variable-assigner.md +++ b/en/guides/workflow/node/variable-assigner.md @@ -8,13 +8,13 @@ The variable assigner node is used to assign values to writable variables. Curre Usage: Through the variable assigner node, you can assign workflow variables to conversation variables for temporary storage, which can be continuously referenced in subsequent conversations. -
+
*** ### Usage Scenario Examples -Using the variable assigner node, you can write context from the conversation process, files uploaded to the dialog box (coming soon), and user preference information into conversation variables. These stored variables can then be referenced in subsequent conversations to direct different processing flows or formulate responses. +Using the variable assigner node, you can write context from the conversation process, files uploaded to the dialog box, and user preference information into conversation variables. These stored variables can then be referenced in subsequent conversations to direct different processing flows or formulate responses. **Scenario 1** @@ -140,20 +140,41 @@ Example: After starting the conversation, the LLM will ask the user to input ite ### Using the Variable Assigner Node -Click the + sign on the right side of the node, select the "variable assigner" node, and fill in "Assigned Variable" and "Set Variable". +Click the `+` icon on the right side of the node and select the **“Variable Assignment”** node. Configure the target variables and their corresponding source variables. This node allows you to assign values to multiple variables simultaneously. -
+
**Setting Variables:** -Assigned Variable: Select the variable to be assigned, i.e., specify the target conversation variable that needs to be assigned. +Variable: Select the variable to be assigned, i.e., specify the target conversation variable that needs to be assigned. Set Variable: Select the variable to assign, i.e., specify the source variable that needs to be converted. -Taking the assignment logic in the above figure as an example: Assign the text output item `Language Recognition/text` from the previous node to the conversation variable `language`. +The variable assignment logic illustrated in the image above assigns the user’s language preference, specified on the initial page `Start/language`, to the system-level conversation variable `language`. -**Write Mode:** +### **Operation Modes for Specifying Variables** + +The data type of the target variable determines its operation method. Below are the operation modes for different variable types: + +1. Target variable data type: `String` + • **Overwrite**: Directly overwrite the target variable with the source variable. + • **Clear**: Clear the contents of the selected target variable. + • **Set**: Manually assign a value without requiring a source variable. + +2. Target variable data type: `Number` + • **Overwrite**: Directly overwrite the target variable with the source variable. + • **Clear**: Clear the contents of the selected target variable. + • **Set**: Manually assign a value without requiring a source variable. + • **Arithmetic**: Perform addition, subtraction, multiplication, or division on the target variable. + +3. Target variable data type: `Object` + • **Overwrite**: Directly overwrite the target variable with the source variable. + • **Clear**: Clear the contents of the selected target variable. + • **Set**: Manually assign a value without requiring a source variable. + +4. Target variable data type: `Array` + • **Overwrite**: Directly overwrite the target variable with the source variable. + • **Clear**: Clear the contents of the selected target variable. + • **Append**: Add a new element to the array in the target variable. + • **Extend**: Add a new array to the target variable, effectively adding multiple elements at once. -* Overwrite: Overwrite the content of the source variable to the target conversation variable -* Append: When the specified variable is of Array type -* Clear: Clear the content in the target conversation variable diff --git a/en/guides/workflow/variables.md b/en/guides/workflow/variables.md index 01d942f3..1b06937e 100644 --- a/en/guides/workflow/variables.md +++ b/en/guides/workflow/variables.md @@ -75,6 +75,10 @@ For example, you can store the language preference input by the user in the firs About how to use conversation variables with the Variable Assigner node, please refer to the [Variable Assigner](node/variable-assignment.md). +To track changes in conversation variable values during debugging the application, click the conversation variable icon at the top of the Chatflow application preview page. + +![](https://assets-docs.dify.ai/2024/11/cc8067fa4c96436f037f8210ebe3f65c.png) + ### Notice * To avoid variable name duplication, node naming must not be repeated diff --git a/jp/guides/knowledge-base/knowledge-and-documents-maintenance.md b/jp/guides/knowledge-base/knowledge-and-documents-maintenance.md index bf734941..91674499 100644 --- a/jp/guides/knowledge-base/knowledge-and-documents-maintenance.md +++ b/jp/guides/knowledge-base/knowledge-and-documents-maintenance.md @@ -34,6 +34,23 @@ Difyナレッジベースは、標準APIの完全なセットを提供してい

ナレッジベースAPIの管理

+### 文書の無効化とアーカイブ + +**無効化**: データセット内で、一時的に検索対象から外す必要がある文書やその一部(チャンク)を無効化することができます。文書を無効化するには、データセットの文書リストから無効ボタンをクリックします。また、文書の詳細ページで、文書全体または特定のチャンクを無効化することも可能です。無効化された文書は検索結果に表示されません。無効化された文書にある「有効化」をクリックすると、再び検索対象として復活させることができます。 + +**アーカイブ**: 使用しなくなった古い文書は、削除せずにアーカイブすることで保管することができます。アーカイブされた文書は閲覧や削除は可能ですが、編集はできません。文書をアーカイブするには、データセットの文書リストからアーカイブボタンをクリックします。文書の詳細ページからもアーカイブが可能です。アーカイブされた文書は検索結果には表示されませんが、アーカイブ解除して元の状態に戻すこともできます。 + +{% hint style=“info” %} +注意: + +もし、あなたのナレッジベースに長期間更新やアクセスがない文書がある場合、システムはそれらを自動的に無効化して、パフォーマンスを最適化します。 + +これらの文書はいつでも有効化して、再びアクセス可能にすることができます。 + + • サンドボックスまたは無料プランのユーザーの場合、活動がない文書は**7日後**に自動的に無効化されます。 + • プロフェッショナルプランやチームプランのユーザーの場合、活動がない文書は**30日後**に自動的に無効化されます。 +{% endhint %} + ## ナレッジベースにおけるテキストのメンテナンス ### テキストチャンクの表示 diff --git a/jp/guides/workflow/node/variable-assigner.md b/jp/guides/workflow/node/variable-assigner.md index 0eccb2d5..b438bc1d 100644 --- a/jp/guides/workflow/node/variable-assigner.md +++ b/jp/guides/workflow/node/variable-assigner.md @@ -8,13 +8,13 @@ 使用方法:このノードを使用することで、ワークフローの中で変数の値を会話変数に一時的に保存し、後続の会話でその値を参照することができます。 -
+
*** ### 使用シナリオの例 -変数代入ノードを活用することで、会話中の**コンテキスト、ダイアログにアップロードされたファイル(近々配布予定)、ユーザーの好みの情報**などを会話変数に書き込み、保存された情報は後続の会話で参照され、異なる処理フローに誘導したり、返答を行ったりすることができます。 +変数代入ノードを活用することで、会話中の**コンテキスト、ダイアログにアップロードされたファイル、ユーザーの好みの情報**などを会話変数に書き込み、保存された情報は後続の会話で参照され、異なる処理フローに誘導したり、返答を行ったりすることができます。 **シナリオ 1** @@ -137,20 +137,40 @@ def main(arg1: list) -> str: **変数代入の使用:** -ノードの右側の `+` マークをクリックし、「変数代入」 ノードを選択し、「代入られた変数」 と 「設定する変数」 を入力します。 +右側にある「+」アイコンをクリックし、「変数の代入」ノードを選びます。代入された変数と、その変数に値を提供するソース変数を設定してください。このノードを用いることで、一度に複数の変数へ値を割り当てることが可能です。 -
+
-**変数の設定:** +**変数の設定方法:** -代入られた変数:代入された変数を選択し、対象の会話変数を指定します +変数: 値を割り当てる対象の変数を選択します。これは、値を設定したい対話変数です。 -設定する変数:変換する必要のあるソース変数を選択します +ソース変数を設定: 値の出典となる変数を選択します。これは、割り当てる値を持っている変数です。 -上図の代入ロジック:`Language Recognition/text` を `language` に代入します。 +上の画像では、ユーザーが初期ページ `Start/language` で選択した言語の好みを、システムレベルの対話変数 `language` に割り当てる流れが示されています。 -**書き込みモード:** +### **変数を設定する際の操作モード** -* Overwrite 上書き: ソース変数の内容を対象の会話変数に上書きします -* Append 追加:指定された変数が配列型の場合に使用します -* Clear クリア: 対象の会話変数内の内容をクリアします +対象変数のデータタイプに応じて、操作方法が異なります。以下に、異なるデータタイプの変数に対する操作モードを紹介します: + +1. 文字列型(String)の変数の場合: +**上書き(Overwrite)**: ソース変数の値で対象変数の値を直接置き換えます。 +**クリア(Clear)**: 対象変数の値を削除します。 +**設定(Set)**: 手動で値を入力して対象変数に割り当てます。 + +2. 数値型(Number)の変数の場合: +**上書き(Overwrite)**: ソース変数の値で対象変数の値を直接置き換えます。 +**クリア(Clear)**: 対象変数の値を削除します。 +**設定(Set)**: 手動で値を入力して対象変数に割り当てます。 +**算術(Arithmetic)**: 対象変数に対して、足し算、引き算、掛け算、または割り算を行います。 + +3. オブジェクト型(Object)の変数の場合: +**上書き(Overwrite)**: ソース変数の値で対象変数の値を直接置き換えます。 +**クリア(Clear)**: 対象変数の値を削除します。 +**設定(Set)**: 手動で値を入力して対象変数に割り当てます。 + +4. 配列型(Array)の変数の場合: +**上書き(Overwrite)**: ソース変数の値で対象変数の値を直接置き換えます。 +**クリア(Clear)**: 対象変数の値を削除します。 +**追加(Append)**: 対象変数の配列に新しい要素を追加します。 +**拡張(Extend)**: 新しい配列を対象変数に追加し、一度に複数の要素を追加することができます。 diff --git a/jp/guides/workflow/variables.md b/jp/guides/workflow/variables.md index 223850d6..2a53beff 100644 --- a/jp/guides/workflow/variables.md +++ b/jp/guides/workflow/variables.md @@ -169,10 +169,14 @@ **会話変数**には次のような特徴があります: * 会話変数はチャットフロー内のほとんどのノードでグローバルに参照可能です; -* 会話変数にデータを書き込むには、[変数代入](node/variable-assignment.md)ノードを使用する必要があります; +* 会話変数にデータを書き込むには、[変数代入](node/variable-assigner.md)ノードを使用する必要があります; * 会話変数は読み書き可能な変数です; -会話変数と変数代入ノードの具体的な使用方法については、[変数代入](node/variable-assignment.md)をご参照ください。 +会話変数と変数代入ノードの具体的な使用方法については、[変数代入](node/variable-assigner.md)をご参照ください。 + +アプリケーションをデバッグしている際に、会話変数の値がどのように変化していくかを確認したい場合は、チャットフローアプリのプレビューページの上部にある会話変数のアイコンをクリックしてみてください。 + +![](https://assets-docs.dify.ai/2024/11/cc8067fa4c96436f037f8210ebe3f65c.png) ### 注意事項 diff --git a/zh_CN/features/datasets/maintain-dataset-via-api.md b/zh_CN/features/datasets/maintain-dataset-via-api.md index c572f36b..fbd49b55 100644 --- a/zh_CN/features/datasets/maintain-dataset-via-api.md +++ b/zh_CN/features/datasets/maintain-dataset-via-api.md @@ -19,7 +19,7 @@ **`POST /datasets`** {% hint style="warning" %} -仅用于创建空数据集 +仅用于创建空知识库 {% endhint %} ``` diff --git a/zh_CN/getting-started/install-self-hosted/environments.md b/zh_CN/getting-started/install-self-hosted/environments.md index ab7fe64f..2c9d321b 100644 --- a/zh_CN/getting-started/install-self-hosted/environments.md +++ b/zh_CN/getting-started/install-self-hosted/environments.md @@ -201,7 +201,7 @@ Flask 调试模式,开启可在接口输出 trace 信息,方便调试。 #### 文件存储配置 -用于存储数据集上传的文件、团队 / 租户的加密密钥等等文件。 +用于存储知识库上传的文件、团队 / 租户的加密密钥等等文件。 * STORAGE\_TYPE diff --git a/zh_CN/getting-started/install-self-hosted/local-source-code.md b/zh_CN/getting-started/install-self-hosted/local-source-code.md index d8eadb78..f18772f6 100644 --- a/zh_CN/getting-started/install-self-hosted/local-source-code.md +++ b/zh_CN/getting-started/install-self-hosted/local-source-code.md @@ -106,7 +106,7 @@ pyenv global 3.11 ``` 7. 启动 Worker 服务 - 用于消费异步队列任务,如数据集文件导入、更新数据集文档等异步操作。 Linux / MacOS 启动: + 用于消费异步队列任务,如知识库文件导入、更新知识库文档等异步操作。 Linux / MacOS 启动: ``` celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace --loglevel INFO diff --git a/zh_CN/guides/application-orchestrate/README.md b/zh_CN/guides/application-orchestrate/README.md index fe3cad4d..50b2814a 100644 --- a/zh_CN/guides/application-orchestrate/README.md +++ b/zh_CN/guides/application-orchestrate/README.md @@ -21,6 +21,6 @@ Dify 中提供了四种应用类型: 文本生成与聊天助手的区别见下表: -
文本生成聊天助手
WebApp 界面表单+结果式聊天式
WebAPI 端点completion-messageschat-messages
交互方式一问一答多轮对话
流式结果返回支持支持
上下文保存当次持续
用户输入表单支持支持
数据集与插件支持支持
AI 开场白不支持支持
情景举例翻译、判断、索引聊天
+
文本生成聊天助手
WebApp 界面表单+结果式聊天式
WebAPI 端点completion-messageschat-messages
交互方式一问一答多轮对话
流式结果返回支持支持
上下文保存当次持续
用户输入表单支持支持
知识库与插件支持支持
AI 开场白不支持支持
情景举例翻译、判断、索引聊天
### diff --git a/zh_CN/guides/application-publishing/developing-with-apis.md b/zh_CN/guides/application-publishing/developing-with-apis.md index 291f9c32..bccaf3c1 100644 --- a/zh_CN/guides/application-publishing/developing-with-apis.md +++ b/zh_CN/guides/application-publishing/developing-with-apis.md @@ -9,7 +9,7 @@ Dify 基于“**后端即服务**”理念为所有应用提供了 API,为 AI * 对 LLM 供应商的基础能力进行了良好封装 * 随时切换 LLM 供应商,并对 LLM 的密钥进行集中管理 * 在可视化的界面中运营你的应用,例如分析日志、标注及观察用户活跃 -* 持续为应用提供更多工具能力、插件能力和数据集 +* 持续为应用提供更多工具能力、插件能力和知识库 #### 如何使用 @@ -23,7 +23,7 @@ Dify 基于“**后端即服务**”理念为所有应用提供了 API,为 AI 在最佳实践中,API 密钥应通过后端调用,而不是直接以明文暴露在前端代码或请求中,这样可以防止你的应用被滥用或攻击。 {% endhint %} -你可以为一个应用**创建多个访问凭据**,以实现交付给不同的用户或开发者。这意味着 API 的使用者虽然使用了应用开发者提供的 AI 能力,但背后的 Promp 工程、数据集和工具能力是经封装的。 +你可以为一个应用**创建多个访问凭据**,以实现交付给不同的用户或开发者。这意味着 API 的使用者虽然使用了应用开发者提供的 AI 能力,但背后的 Promp 工程、知识库和工具能力是经封装的。 #### 文本生成型应用 diff --git a/zh_CN/guides/knowledge-base/README.md b/zh_CN/guides/knowledge-base/README.md index 95281240..035eaafc 100644 --- a/zh_CN/guides/knowledge-base/README.md +++ b/zh_CN/guides/knowledge-base/README.md @@ -11,7 +11,7 @@ Dify 的知识库功能将 RAG 管线上的各环节可视化,提供了一套 * 长文本内容(TXT、Markdown、DOCX、HTML、JSONL 甚至是 PDF 文件) * 结构化数据(CSV、Excel 等) -另外,我们正在逐步支持从诸多数据源同步数据至数据集,包括: +另外,我们正在逐步支持从诸多数据源同步数据至知识库,包括: * 网页 * Notion @@ -20,7 +20,7 @@ Dify 的知识库功能将 RAG 管线上的各环节可视化,提供了一套 * …… {% hint style="info" %} -**情景**:如果你的公司想基于现有知识库和产品文档建立一个 AI 客服助手,你可以在 Dify 中将文档上传至数据集,并建立一个对话型应用。这在过去可能需要花费你数周的时间,且难以持续维护。 +**情景**:如果你的公司想基于现有知识库和产品文档建立一个 AI 客服助手,你可以在 Dify 中将文档上传至知识库,并建立一个对话型应用。这在过去可能需要花费你数周的时间,且难以持续维护。 {% endhint %} ### 知识库与文档 diff --git a/zh_CN/guides/knowledge-base/create-knowledge-and-upload-documents-copy.md b/zh_CN/guides/knowledge-base/create-knowledge-and-upload-documents-copy.md index f7cbbada..8c4feabd 100644 --- a/zh_CN/guides/knowledge-base/create-knowledge-and-upload-documents-copy.md +++ b/zh_CN/guides/knowledge-base/create-knowledge-and-upload-documents-copy.md @@ -7,12 +7,12 @@

创建知识库

* 如果你已经准备好了文件,可以从上传文件开始; -* 如果你还没有准备好文档,可以先创建一个空数据集; +* 如果你还没有准备好文档,可以先创建一个空知识库;

创建知识库

{% hint style="info" %} -如果你在创建数据集时选择了使用外部数据源,该知识库的类型不可更改。这是为了防止单一知识库存在多数据源而造成的管理困难。如果你需要使用多个数据源,建议创建多个知识库。 +如果你在创建知识库时选择了使用外部数据源,该知识库的类型不可更改。这是为了防止单一知识库存在多数据源而造成的管理困难。如果你需要使用多个数据源,建议创建多个知识库。 {% endhint %} *** @@ -150,7 +150,7 @@ Rerank 模型:你可以在“模型供应商”页面配置 Rerank 模型的 A 仅启用语义检索模式。借助 Embedding 模型,即便知识库中没有出现查询中的确切词汇,也能通过计算向量距离的方式提高搜索的深度,返回正确内容。此外,当需要处理多语言内容时,语义检索能够捕捉不同语言之间的意义转换,提供更加准确的跨语言搜索结果。 - > 语义检索指的是比对用户问题与知识库内容中的向量距离。距离越近,匹配的概率越大。参考阅读:[《Dify:Embedding 技术与 Dify 数据集设计/规划》](https://mp.weixin.qq.com/s/vmY_CUmETo2IpEBf1nEGLQ)。 + > 语义检索指的是比对用户问题与知识库内容中的向量距离。距离越近,匹配的概率越大。参考阅读:[《Dify:Embedding 技术与 Dify 知识库设计/规划》](https://mp.weixin.qq.com/s/vmY_CUmETo2IpEBf1nEGLQ)。 - **关键词值为 1** diff --git a/zh_CN/guides/knowledge-base/create-knowledge-and-upload-documents.md b/zh_CN/guides/knowledge-base/create-knowledge-and-upload-documents.md index cceb08a1..fbdf7b44 100644 --- a/zh_CN/guides/knowledge-base/create-knowledge-and-upload-documents.md +++ b/zh_CN/guides/knowledge-base/create-knowledge-and-upload-documents.md @@ -176,7 +176,7 @@ 仅启用语义检索模式。借助 Embedding 模型,即便知识库中没有出现查询中的确切词汇,也能通过计算向量距离的方式提高搜索的深度,返回正确内容。此外,当需要处理多语言内容时,语义检索能够捕捉不同语言之间的意义转换,提供更加准确的跨语言搜索结果。 -> 语义检索指的是比对用户问题与知识库内容中的向量距离。距离越近,匹配的概率越大。参考阅读:[《Dify:Embedding 技术与 Dify 数据集设计/规划》](https://mp.weixin.qq.com/s/vmY\_CUmETo2IpEBf1nEGLQ)。 +> 语义检索指的是比对用户问题与知识库内容中的向量距离。距离越近,匹配的概率越大。参考阅读:[《Dify:Embedding 技术与 Dify 知识库设计/规划》](https://mp.weixin.qq.com/s/vmY\_CUmETo2IpEBf1nEGLQ)。 * **关键词值为 1** @@ -245,4 +245,4 @@ **Embedding 模型**是一种专门用于将文本向量化的大语言模型,它擅长将文本转换为密集的数值向量,有效捕捉语义信息。 -> 如需了解更多,请参考:[《Dify:Embedding 技术与 Dify 数据集设计/规划》](https://mp.weixin.qq.com/s/vmY\_CUmETo2IpEBf1nEGLQ)。 +> 如需了解更多,请参考:[《Dify:Embedding 技术与 Dify 知识库设计/规划》](https://mp.weixin.qq.com/s/vmY\_CUmETo2IpEBf1nEGLQ)。 diff --git a/zh_CN/guides/knowledge-base/external-data-tool.md b/zh_CN/guides/knowledge-base/external-data-tool.md index 1295300f..71d74b90 100644 --- a/zh_CN/guides/knowledge-base/external-data-tool.md +++ b/zh_CN/guides/knowledge-base/external-data-tool.md @@ -2,9 +2,9 @@ ## 功能介绍 -[知识库](/user-guide/knowledge-base/knowledge-base-creation/upload-documents) 功能允许开发者可以直接上传各类格式的长文本、结构化数据来构建数据集,使 AI 应用基于用户上传的最新上下文进行对话。 +[知识库](/user-guide/knowledge-base/knowledge-base-creation/upload-documents) 功能允许开发者可以直接上传各类格式的长文本、结构化数据来构建知识库,使 AI 应用基于用户上传的最新上下文进行对话。 -而**外部数据工具**赋能开发者可以使用自有的搜索能力或内部知识库等外部数据作为 LLM 的上下文,通过 API 扩展的方式实现外部数据的获取并嵌入提示词。相比在云端上传数据集,使用**外部数据工具**可以在保障私有数据安全,自定义搜索,获取实时数据等方面有显著优势。 +而**外部数据工具**赋能开发者可以使用自有的搜索能力或内部知识库等外部数据作为 LLM 的上下文,通过 API 扩展的方式实现外部数据的获取并嵌入提示词。相比在云端上传知识库,使用**外部数据工具**可以在保障私有数据安全,自定义搜索,获取实时数据等方面有显著优势。 ## 具体实现 diff --git a/zh_CN/guides/knowledge-base/integrate-knowledge-within-application.md b/zh_CN/guides/knowledge-base/integrate-knowledge-within-application.md index f489cf48..b2b25b43 100644 --- a/zh_CN/guides/knowledge-base/integrate-knowledge-within-application.md +++ b/zh_CN/guides/knowledge-base/integrate-knowledge-within-application.md @@ -41,7 +41,7 @@ 仅启用语义检索模式。借助 Embedding 模型,即便知识库中没有出现查询中的确切词汇,也能通过计算向量距离的方式提高搜索的深度,返回正确内容。此外,当需要处理多语言内容时,语义检索能够捕捉不同语言之间的意义转换,提供更加准确的跨语言搜索结果。 - > 语义检索指的是比对用户问题与知识库内容中的向量距离。距离越近,匹配的概率越大。参考阅读:[《Dify:Embedding 技术与 Dify 数据集设计/规划》](https://mp.weixin.qq.com/s/vmY\_CUmETo2IpEBf1nEGLQ)。 + > 语义检索指的是比对用户问题与知识库内容中的向量距离。距离越近,匹配的概率越大。参考阅读:[《Dify:Embedding 技术与 Dify 知识库设计/规划》](https://mp.weixin.qq.com/s/vmY\_CUmETo2IpEBf1nEGLQ)。 * **关键词值为 1** 仅启用关键词检索模式。通过用户输入的信息文本在知识库全文匹配,适用于用户知道确切的信息或术语的场景。该方法所消耗的计算资源较低,适合在大量文档的知识库内快速检索。 diff --git a/zh_CN/guides/knowledge-base/knowledge-and-documents-maintenance.md b/zh_CN/guides/knowledge-base/knowledge-and-documents-maintenance.md index 61e4d078..4280fb00 100644 --- a/zh_CN/guides/knowledge-base/knowledge-and-documents-maintenance.md +++ b/zh_CN/guides/knowledge-base/knowledge-and-documents-maintenance.md @@ -42,9 +42,18 @@ Dify 知识库提供整套标准 API ,开发者通过 API 调用对知识库 ### 禁用或归档文档 -**禁用**:数据集支持将暂时不想被索引的文档或分段进行禁用,在数据集文档列表,点击禁用按钮,则文档被禁用;也可以在文档详情,点击禁用按钮,禁用整个文档或某个分段,禁用的文档将不会被索引。禁用的文档点击启用,可以取消禁用。 +**禁用**:知识库支持将暂时不想被索引的文档或分段进行禁用,在知识库文档列表,点击禁用按钮,则文档被禁用;也可以在文档详情,点击禁用按钮,禁用整个文档或某个分段,禁用的文档将不会被索引。禁用的文档点击启用,可以取消禁用。 -**归档**:一些不再使用的旧文档数据,如果不想删除可以将它进行归档,归档后的数据就只能查看或删除,不可以进行编辑。在数据集文档列表,点击归档按钮,则文档被归档,也可以在文档详情,归档文档。归档的文档将不会被索引。归档的文档也可以点击撤销归档。 +**归档**:一些不再使用的旧文档数据,如果不想删除可以将它进行归档,归档后的数据就只能查看或删除,不可以进行编辑。在知识库文档列表,点击归档按钮,则文档被归档,也可以在文档详情,归档文档。归档的文档将不会被索引。归档的文档也可以点击撤销归档。 + +{% hint style="info" %} +**注意:** + +如果你的知识库中有部分文档长时间未更新或未检索时,为了确保知识库的高效运行,系统会暂时禁用这部分不活跃的文档。您可随时在知识库中启用它们以恢复使用。 + + - 对于 Sandbox/Free 版本用户,未使用知识库的将在 **7 天后** 自动禁用; + - 对于 Professional/Team 版本用户,未使用知识库的将在 **30 天后** 自动禁用。 +{% endhint %} *** diff --git a/zh_CN/guides/knowledge-base/sync-from-notion.md b/zh_CN/guides/knowledge-base/sync-from-notion.md index 513a8dbd..55e91544 100644 --- a/zh_CN/guides/knowledge-base/sync-from-notion.md +++ b/zh_CN/guides/knowledge-base/sync-from-notion.md @@ -4,14 +4,14 @@ Dify 知识库支持从 Notion 导入,并设置 **同步** 使得数据在 Not ### 授权验证 -1. 在创建数据集,选择数据源时,点击 **同步自 Notion 内容-- 去绑定,根据提示完成授权验证。** +1. 在创建知识库,选择数据源时,点击 **同步自 Notion 内容-- 去绑定,根据提示完成授权验证。** 2. 你也可以:进入 **设置 -- 数据来源 -- 添加数据源** 中点击 Notion 来源 **绑定** ,完成授权验证。

绑定 Notion

### 导入 Notion 数据 -完成验证授权后,进入创建数据集页面,点击 \*\*同步自 Notion 内容 ,\*\*选择需要的授权页面进行导入。 +完成验证授权后,进入创建知识库页面,点击 \*\*同步自 Notion 内容 ,\*\*选择需要的授权页面进行导入。 ### 进行分段和清洗 @@ -21,7 +21,7 @@ _**请注意:图片和文件暂不支持导入,表格类数据会被转换 ### 同步 Notion 数据 -如果你的 Notion 内容有修改,你可以直接在 Dify 数据集 **文档列表页**中点击 **同步** 即可进行数据一键同步,该步骤是需要消耗 Token。 +如果你的 Notion 内容有修改,你可以直接在 Dify 知识库 **文档列表页**中点击 **同步** 即可进行数据一键同步,该步骤是需要消耗 Token。

同步 Notion 内容

@@ -67,4 +67,4 @@ Notion集成分为**内部集成**(internal integration)和**外部集成** **NOTION\_CLIENT\_ID**=you-client-id -配置完成后,即可在数据集中操作 Notion 的数据导入及同步功能。 +配置完成后,即可在知识库中操作 Notion 的数据导入及同步功能。 diff --git a/zh_CN/guides/model-configuration/README.md b/zh_CN/guides/model-configuration/README.md index 1403a504..b9c4eda2 100644 --- a/zh_CN/guides/model-configuration/README.md +++ b/zh_CN/guides/model-configuration/README.md @@ -13,7 +13,7 @@ Dify 目前已支持主流的模型供应商,例如 OpenAI 的 GPT 系列、An 1. **系统推理模型**。 在创建的应用中,用的是该类型的模型。智聊、对话名称生成、下一步问题建议用的也是推理模型。 > 已支持的系统推理模型供应商:[OpenAI](https://platform.openai.com/account/api-keys)、[Azure OpenAI Service](https://azure.microsoft.com/en-us/products/ai-services/openai-service/)、[Anthropic](https://console.anthropic.com/account/keys)、Hugging Face Hub、Replicate、Xinference、OpenLLM、[讯飞星火](https://www.xfyun.cn/solutions/xinghuoAPI)、[文心一言](https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application)、[通义千问](https://dashscope.console.aliyun.com/api-key\_management?spm=a2c4g.11186623.0.0.3bbc424dxZms9k)、[Minimax](https://api.minimax.chat/user-center/basic-information/interface-key)、ZHIPU(ChatGLM) -2. **Embedding 模型**。在数据集中,将分段过的文档做 Embedding 用的是该类型的模型。在使用了数据集的应用中,将用户的提问做 Embedding 处理也是用的该类型的模型。 +2. **Embedding 模型**。在知识库中,将分段过的文档做 Embedding 用的是该类型的模型。在使用了知识库的应用中,将用户的提问做 Embedding 处理也是用的该类型的模型。 > 已支持的 Embedding 模型供应商:OpenAI、ZHIPU(ChatGLM)、Jina AI([Jina Embeddings](https://jina.ai/embeddings/)) 3. [**Rerank 模型**](https://docs.dify.ai/v/zh-hans/advanced/retrieval-augment/rerank)。**Rerank 模型用于增强检索能力,改善 LLM 的搜索结果。** diff --git a/zh_CN/guides/monitoring/integrate-external-ops-tools/README.md b/zh_CN/guides/monitoring/integrate-external-ops-tools/README.md index 8d58cb4d..d9d39702 100644 --- a/zh_CN/guides/monitoring/integrate-external-ops-tools/README.md +++ b/zh_CN/guides/monitoring/integrate-external-ops-tools/README.md @@ -18,11 +18,11 @@ LLM 应用在原型构建阶段通常涉及提示词测试、模型选择、RAG * **测试阶段** -进入测试阶段后,需要继续收集数据以改进和提高性能。 LangSmith 能够将运行作为示例添加到数据集中,从而扩展实际场景的测试覆盖范围。这是将日志系统和评估/测试系统置于同一平台中的一个关键优势。 +进入测试阶段后,需要继续收集数据以改进和提高性能。 LangSmith 能够将运行作为示例添加到知识库中,从而扩展实际场景的测试覆盖范围。这是将日志系统和评估/测试系统置于同一平台中的一个关键优势。 * **生产阶段** -进入生产环境后,开发团队还需要仔细检查应用关键数据点、增加基准数据集、人工注释以及深入分析运营数据结结果。尤其是在应用大规模使用中,运营和数据团队需要持续观测应用成本和性能,对模型以及应用表现进行优化。 +进入生产环境后,开发团队还需要仔细检查应用关键数据点、增加基准知识库、人工注释以及深入分析运营数据结结果。尤其是在应用大规模使用中,运营和数据团队需要持续观测应用成本和性能,对模型以及应用表现进行优化。 ### Dify 与 Ops 工具的集成 diff --git a/zh_CN/guides/workflow/README.md b/zh_CN/guides/workflow/README.md index dd566663..a78e37b6 100644 --- a/zh_CN/guides/workflow/README.md +++ b/zh_CN/guides/workflow/README.md @@ -31,7 +31,7 @@ Dify 工作流分为两种类型: * 数据分析和报告 -可以用于分析大型数据集并生成报告或摘要。通过提供相关信息给 LLM,它可以识别趋势、模式和洞察力,将原始数据转化为可操作的智能。对于希望做出数据驱动决策的企业来说,这尤其有价值。 +可以用于分析大型知识库并生成报告或摘要。通过提供相关信息给 LLM,它可以识别趋势、模式和洞察力,将原始数据转化为可操作的智能。对于希望做出数据驱动决策的企业来说,这尤其有价值。 * 邮件自动化处理 diff --git a/zh_CN/guides/workflow/node/variable-assigner-1.md b/zh_CN/guides/workflow/node/variable-assigner-1.md deleted file mode 100644 index 22b5e3b2..00000000 --- a/zh_CN/guides/workflow/node/variable-assigner-1.md +++ /dev/null @@ -1,71 +0,0 @@ -# 变量赋值 - -### 1 定义 - -变量赋值节点用于向可写入变量进行变量赋值。目前已支持的可写入变量为[会话变量](../key-concept.md#hui-hua-bian-liang)。 - -通过变量赋值节点可以将工作流内的变量赋值到会话变量中临时存储,并在后续对话中引用该变量值。 - -
- -*** - -### 2 场景 - -将会话中的**上下文、上传的文件、用户偏好**等通过变量赋值写入到会话变量中,并在后续对话中引用已存储的信息导向不同的处理流程或者进行回复。 - -**场景 1** - -**用户偏好记录**,在会话内记住用户语言偏好并在后续对话中持续使用该语言类型进行回复。 - -
- -**配置流程:** - -**设置会话变量**:首先设置一个会话变量 `language`,在会话流程开始时添加一个条件判断节点,用来判断 `language` 变量的值是否为空。 - -**变量写入/赋值**:首轮对话开始时, `language` 变量值为空,则使用 LLM 节点来提取用户输入的语言,再通过变量赋值节点将该语言类型写入到会话变量 `language` 中。 - -**变量读取**:在后续的对话轮次内: `language` 变量已存储用户语言偏好,LLM 节点可以通过引用 language 变量,使用用户的偏好语言类型进行回复。 - -**场景 2** - -**Checklist 打卡**,在会话内记住用户的 checklist 输入项并在后续对话中检查未完成项。 - -
- -会话开始时 LLM 会要求用户检查 Checklist 是否都已填写。 - -
- -会话过程中,根据用户已填写的信息,LLM 会每轮检查未填写的 Checklist,并提醒用户继续填写。\ - - -
- -**配置流程:** - -* **设置会话变量:**首先设置一个会话变量 `ai_checklist`,在 LLM 内引用该变量作为上下文进行检查。 -* **变量赋值/写入**:每一轮对话时,在 LLM 节点内检查 `ai_checklist` 内的值并比对用户输入,若用户提供了新的信息,则更新 Checklist 并将输出内容通过变量赋值节点写入到 `ai_checklist` 内。 -* **变量读取:**每一轮对话读取 `ai_cheklist` 内的值并比对用户输入直至所有 checklist 完成。 - -*** - -### 3 如何操作 - -
- -**设置变量:** - -Assigned Variable 指定变量:选择被赋值变量 - -Set Variable 设置变量:选择需要赋值的变量 - -以上图为例,赋值逻辑:将 `Language Recognition/text` 变量的值赋值到 `language` 变量中。 - -**写入模式:** - -* Overwrite 写入 -* Append 追加,指定变量为 Array 类型时 -* Clear 清除 - diff --git a/zh_CN/guides/workflow/node/variable-assigner.md b/zh_CN/guides/workflow/node/variable-assigner.md index 2c7c4805..f1a2ebea 100644 --- a/zh_CN/guides/workflow/node/variable-assigner.md +++ b/zh_CN/guides/workflow/node/variable-assigner.md @@ -1,6 +1,6 @@ # 变量赋值 -定义 +## 定义 变量赋值节点用于向可写入变量进行变量赋值,已支持以下可写入变量: @@ -8,15 +8,15 @@ 用法:通过变量赋值节点,你可以将工作流内的变量赋值到会话变量中用于临时存储,并可以在后续对话中持续引用。 -
+
*** -### 使用场景示例 +## 场景示例 -通过变量赋值节点,你可以将会话过程中的**上下文、上传至对话框的文件(即将上线)、用户所输入的偏好信息**等写入至会话变量,并在后续对话中引用已存储的信息导向不同的处理流程或者进行回复。 +你可以将对话过程中的**上下文、上传至对话框的文件、用户所输入的偏好信息**等变量,通过变量赋值节点写入至会话变量内,用作后续对话的参考信息。 -**场景 1** +### 场景 1 **自动判断提取并存储对话中的信息**,在会话内通过会话变量数组记录用户输入的重要信息,并在后续对话中让 LLM 基于会话变量中存储的历史信息进行个性化回复。 @@ -101,7 +101,7 @@ def main(arg1: list) -> str: } ``` -**场景 2** +### 场景 2 **记录用户的初始偏好信息**,在会话内记住用户输入的语言偏好,在后续对话中持续使用该语言类型进行回复。 @@ -133,22 +133,46 @@ def main(arg1: list) -> str: *** -### 使用变量赋值节点 +## 使用变量赋值节点 -点击节点右侧 + 号,选择“变量赋值”节点,填写“赋值的变量”和“设置变量”。 +点击节点右侧 `+` 号,选择 **“变量赋值”** 节点,配置需要被赋值的变量与源变量。变量赋值节点支持同时为多个变量赋值。 -
+
-**设置变量:** +### 设置变量 -赋值的变量:选择被赋值变量,即指定需要被赋值的目标会话变量。 +**变量:** 选择需要被赋值的变量。 -设置变量:选择需要赋值的变量,即指定需要被转换的源变量。 +**设置变量:** 选择需要赋值的变量,即指定需要被转换的源变量。 -以上图赋值逻辑为例:将上一个节点的文本输出项 `Language Recognition/text` 赋值到会话变量 `language` 内。 +上图的变量赋值逻辑:将用户在初始页面填写的语言偏好 `Start/language` 变量赋值至系统级会话变量 `language` 内。 -**写入模式:** +### 指定变量的写入模式 -* 覆盖,将源变量的内容覆盖至目标会话变量 -* 追加,指定变量为 Array 类型时 -* 清空,清空目标会话变量中的内容 +目标变量的数据类型将影响变量的写入模式。以下是不同变量间的写入模式: + +1. 目标变量的数据类型为 `String`。 + + * 覆盖,将源变量直接覆盖至目标变量 + * 清空,清空所选中变量中的内容 + * 设置,手动指定一个值,无需设置源变量 + +2. 目标变量的数据类型为 `Number`。 + + * 覆盖,将源变量直接覆盖至目标变量 + * 清空,清空所选中变量中的内容 + * 设置,手动指定一个值,无需设置源变量 + * 数字处理,对目标变量进行`加减乘除`操作 + +3. 目标变量的数据类型为 `Object`。 + + * 覆盖,将源变量的内容直接覆盖至目标变量 + * 清空,清空所选中变量中的内容 + * 设置,手动指定一个值,无需设置源变量 + +4. 目标变量的数据类型为 `Array`。 + + * 覆盖,将源变量的内容直接覆盖至目标变量 + * 清空,清空所选中变量中的内容 + * 追加,在目标的数组变量中添加一个新的元素 + * 扩展,在目标的数组变量中添加新的数组,即一次性添加多个元素 diff --git a/zh_CN/guides/workflow/variables.md b/zh_CN/guides/workflow/variables.md index 60fd690e..983785a3 100644 --- a/zh_CN/guides/workflow/variables.md +++ b/zh_CN/guides/workflow/variables.md @@ -75,6 +75,10 @@ Chatflow 类型应用提供以下系统变量: 关于如何将会话变量与变量赋值节点配合使用,请参考[变量赋值](node/variable-assigner.md)节点说明。 +如果想要查看会话变量值在应用对话时的变化情况,点击 Chatflow 应用预览页上方的会话变量 icon 进行查看。 + +![](https://assets-docs.dify.ai/2024/11/cc8067fa4c96436f037f8210ebe3f65c.png) + ### 注意事项 * 为避免变量名重复,节点命名不可重复 diff --git a/zh_CN/learn-more/extended-reading/prompt-engineering/prompt-engineering-1/README.md b/zh_CN/learn-more/extended-reading/prompt-engineering/prompt-engineering-1/README.md index ce8dfbe5..b952c451 100644 --- a/zh_CN/learn-more/extended-reading/prompt-engineering/prompt-engineering-1/README.md +++ b/zh_CN/learn-more/extended-reading/prompt-engineering/prompt-engineering-1/README.md @@ -25,7 +25,7 @@ * **专家模式提示词中的内容块** * - 用户在配置了数据集的 App 中,输入查询内容,App 会将查询内容作为数据集的检索条件,检索的结果在组织之后会作为上下文内容替换 `上下文` 变量,使 LLM 能够参考上下文的内容进行回答。 + 用户在配置了知识库的 App 中,输入查询内容,App 会将查询内容作为知识库的检索条件,检索的结果在组织之后会作为上下文内容替换 `上下文` 变量,使 LLM 能够参考上下文的内容进行回答。 * 查询内容仅在对话型应用的文本补全模型中可用,对话中用户输入的内容将替换该变量,以触发每轮新的对话。 diff --git a/zh_CN/learn-more/extended-reading/prompt-engineering/prompt-engineering-1/prompt-engineering-template.md b/zh_CN/learn-more/extended-reading/prompt-engineering/prompt-engineering-1/prompt-engineering-template.md index 2a56c0a5..98b20127 100644 --- a/zh_CN/learn-more/extended-reading/prompt-engineering/prompt-engineering-1/prompt-engineering-template.md +++ b/zh_CN/learn-more/extended-reading/prompt-engineering/prompt-engineering-1/prompt-engineering-template.md @@ -143,7 +143,7 @@ Dify 与部分模型厂商针对系统提示词做了联合深度优化,部分 ### 参数释义 -* 上下文(`Context`):用于将数据集中的相关文本作为提示词上下文插入至完整的提示词中。 +* 上下文(`Context`):用于将知识库中的相关文本作为提示词上下文插入至完整的提示词中。 * 对话前提示词(`Pre-prompt`):在**简易模式**下编排的对话前提示词将插入至完整提示词中。 * 会话历史(`History`):使用文本生成模型构建聊天应用时,系统会将用户会话历史作为上下文插入至完整提示词中。由于部分模型对角色前缀的响应有所差异,你也可以在对话历史的设置中修改对话历史中的角色前缀名,例如:将 “`Assistant`” 改为 “`AI`”。 * 查询内容(`Query`):查询内容为变量值,用于插入用户在聊天中输入的问题。 diff --git a/zh_CN/learn-more/extended-reading/retrieval-augment/hybrid-search.md b/zh_CN/learn-more/extended-reading/retrieval-augment/hybrid-search.md index f16cde3c..3dadd6ce 100644 --- a/zh_CN/learn-more/extended-reading/retrieval-augment/hybrid-search.md +++ b/zh_CN/learn-more/extended-reading/retrieval-augment/hybrid-search.md @@ -67,20 +67,20 @@ RAG 检索环节中的主流方法是向量检索,即语义相关度匹配的 **Rerank 模型:** 你可以在“模型供应商”页面配置 Rerank 模型的 API 秘钥之后,在检索设置中打开“Rerank 模型”,系统会在混合检索后对已召回的文档结果再一次进行语义重排序,优化排序结果。设置 Rerank 模型后,TopK 和 Score 阈值设置仅在 Rerank 步骤生效。 -### 创建数据集时设置检索模式 +### 创建知识库时设置检索模式 -进入“数据集->创建数据集”页面并在检索设置中设置不同的检索模式: +进入“知识库->创建知识库”页面并在检索设置中设置不同的检索模式: -

创建数据集时设置检索模式

+

创建知识库时设置检索模式

-### 数据集设置中修改检索模式 +### 知识库设置中修改检索模式 -进入“数据集->选择数据集->设置”页面中可以对已创建的数据集修改不同的检索模式。 +进入“知识库->选择知识库->设置”页面中可以对已创建的知识库修改不同的检索模式。 -

数据集设置中修改检索模式

+

知识库设置中修改检索模式

### 提示词编排中修改检索模式 -进入“提示词编排->上下文->选择数据集->设置”页面中可以在创建应用时修改不同的检索模式。 +进入“提示词编排->上下文->选择知识库->设置”页面中可以在创建应用时修改不同的检索模式。

提示词编排中修改检索模式

diff --git a/zh_CN/learn-more/extended-reading/retrieval-augment/rerank.md b/zh_CN/learn-more/extended-reading/retrieval-augment/rerank.md index 0a8dadaf..80242e59 100644 --- a/zh_CN/learn-more/extended-reading/retrieval-augment/rerank.md +++ b/zh_CN/learn-more/extended-reading/retrieval-augment/rerank.md @@ -34,20 +34,20 @@ Dify 目前已支持 Cohere Rerank 模型,进入“模型供应商-> Cohere” ### -### 数据集检索模式中设置 Rerank 模型 +### 知识库检索模式中设置 Rerank 模型 -进入“数据集->创建数据集->检索设置”页面并在添加 Rerank 设置。除了在创建数据集可以设置 Rerank ,你也可以在已创建的数据集设置内更改 Rerank 配置,在应用编排的数据集召回模式设置中更改 Rerank 配置。 +进入“知识库->创建知识库->检索设置”页面并在添加 Rerank 设置。除了在创建知识库可以设置 Rerank ,你也可以在已创建的知识库设置内更改 Rerank 配置,在应用编排的知识库召回模式设置中更改 Rerank 配置。 -

数据集检索模式中设置 Rerank 模型

+

知识库检索模式中设置 Rerank 模型

**TopK:** 用于设置 Rerank 后返回相关文档的数量。 **Score 阈值:** 用于设置 Rerank 后返回相关文档的最低分值。设置 Rerank 模型后,TopK 和 Score 阈值设置仅在 Rerank 步骤生效。 -### 数据集多路召回模式中设置 Rerank 模型 +### 知识库多路召回模式中设置 Rerank 模型 进入“提示词编排->上下文->设置”页面中设置为多路召回模式时需开启 Rerank 模型。 查看更多关于多路召回模式的说明,[《多路召回》](https://docs.dify.ai/v/zh-hans/guides/knowledge-base/integrate-knowledge-within-application#duo-lu-zhao-hui-tui-jian)。 -

数据集多路召回模式中设置 Rerank 模型

+

知识库多路召回模式中设置 Rerank 模型

diff --git a/zh_CN/learn-more/extended-reading/what-is-llmops.md b/zh_CN/learn-more/extended-reading/what-is-llmops.md index c07e4d47..da7284e2 100644 --- a/zh_CN/learn-more/extended-reading/what-is-llmops.md +++ b/zh_CN/learn-more/extended-reading/what-is-llmops.md @@ -21,7 +21,7 @@ 2. Prompt Engineering:所见即所得的 Prompt 编辑和调试,可根据用户输入的数据进行实时优化和调整。 3. 嵌入和上下文管理:自动处理长上下文的嵌入、存储和管理,提高效率和扩展性,无需编写大量代码。 4. 应用监控与维护:实时监控性能数据,快速发现和处理问题,确保应用程序的稳定运行,提供完整的日志记录。 -5. 微调数据准备:提供人工标注数据集的批量导出,在应用运营过程中收集线上反馈数据持续改善模型效果。 +5. 微调数据准备:提供人工标注知识库的批量导出,在应用运营过程中收集线上反馈数据持续改善模型效果。 6. 系统和运营:易用的界面,非技术人员也可参与,支持多人协同,降低开发和维护成本。与传统开发方式相比,Dify 提供了更加透明和易于监控的应用管理,让团队成员更好地了解应用的运行情况。 另外,Dify 将提供 AI 插件开发和集成的功能,使得开发者可以轻松地为各种应用创建和部署基于 LLM 的插件,进一步提升了开发效率和应用的价值。 diff --git a/zh_CN/learn-more/faq/install-faq.md b/zh_CN/learn-more/faq/install-faq.md index a2c69547..5a4669eb 100644 --- a/zh_CN/learn-more/faq/install-faq.md +++ b/zh_CN/learn-more/faq/install-faq.md @@ -96,7 +96,7 @@ FileNotFoundError: File not found 127.0.0.1 是容器内部地址, Dify 配置的服务器地址需要宿主机局域网 IP 地址。 -### 11. 本地部署版如何解决数据集文档上传的大小限制和数量限制。 +### 11. 本地部署版如何解决知识库文档上传的大小限制和数量限制。 可参考官网[环境变量说明文档](https://docs.dify.ai/v/zh-hans/getting-started/install-self-hosted/environments)去配置。 diff --git a/zh_CN/learn-more/faq/llms-use-faq.md b/zh_CN/learn-more/faq/llms-use-faq.md index ad434b2c..6a3c9ab7 100644 --- a/zh_CN/learn-more/faq/llms-use-faq.md +++ b/zh_CN/learn-more/faq/llms-use-faq.md @@ -13,7 +13,7 @@ Dify 支持 OpenAI 的自定义 API 域名能力,支持任何兼容 OpenAI 的 因为在自然语言处理中,较长的文本输出通常需要更长的计算时间和更多的计算资源。因此,限制输出文本的长度可以在一定程度上降低计算成本和计算时间。例如设置:max\_tokens=500 ,表示最多只考虑输出文本的前 500 个 token,而超过这个长度的部分将会被丢弃。这样做的目的是保证输出文本的长度不会超过 LLM 的接受范围,同时还可以充分利用计算资源,提高模型的运行效率。另一方面,更多的情况是,限制 max\_tokens 能够增加 prompt 的长度,如 gpt-3.5-turbo 的限制为 4097 tokens,如果设置 max\_tokens=4000,那么 prompt 就只剩下 97 tokens 可用,如果超过就会报错。 -### **4. 数据集长文本如何切分比较合理?** +### **4. 知识库长文本如何切分比较合理?** 在一些自然语言处理应用中,通常会将文本按照段落或者句子进行切分,以便更好地处理和理解文本中的语义和结构信息。最小切分单位取决于具体的任务和技术实现。例如: @@ -22,7 +22,7 @@ Dify 支持 OpenAI 的自定义 API 域名能力,支持任何兼容 OpenAI 的 最后,还需要进行实验和评估来确定最合适的 embedding 技术和切分单位。可以在测试集上 / 命中测试比较不同技术和切分单位的性能表现,并选择最优的方案。 -### 5. 我们在获取数据集分段时用的什么距离函数? +### 5. 我们在获取知识库分段时用的什么距离函数? 我们使用[余弦相似度](https://en.wikipedia.org/wiki/Cosine\_similarity)。距离函数的选择通常无关紧要。OpenAI 嵌入被归一化为长度 1,这意味着: @@ -86,7 +86,7 @@ Query or prefix prompt is too long, you can reduce the preix prompt, or shrink t 默认的模型可以在 **设置 - 模型供应商** 处配置,目前支持 OpenAI / Azure OpenAl / Anthropic 等模型厂商的文本生成型模型,同时支持 Hugging Face/ Replicate / xinference 上托管的开源模型的接入。 -### 13. 在社区版中,数据集开启 **Q\&A 分段模式**一直显示排队中,是什么原因? +### 13. 在社区版中,知识库开启 **Q\&A 分段模式**一直显示排队中,是什么原因? 请检查你所使用的 Embedding 模型 api-key 是否达到了速率限制。 @@ -97,9 +97,9 @@ Query or prefix prompt is too long, you can reduce the preix prompt, or shrink t * 浏览器清除缓存(Cookies、Session Storage 和 Local Storage),如果是手机里使用则清除对应 APP 的缓存,重新访问; * 二是重新生成一个 App 网址,重新网址进入即可。 -### 15. 数据集文档上传的大小限制有哪些? +### 15. 知识库文档上传的大小限制有哪些? -目前数据集文档上传单个文档最大是 15MB,总文档数量限制 100 个。如你本地部署版本需要调整修改该限制,请参考[文档](https://docs.dify.ai/v/zh-hans/getting-started/faq/install-faq#11.-ben-di-bu-shu-ban-ru-he-jie-jue-shu-ju-ji-wen-dang-shang-chuan-de-da-xiao-xian-zhi-he-shu-liang)。 +目前知识库文档上传单个文档最大是 15MB,总文档数量限制 100 个。如你本地部署版本需要调整修改该限制,请参考[文档](https://docs.dify.ai/v/zh-hans/getting-started/faq/install-faq#11.-ben-di-bu-shu-ban-ru-he-jie-jue-shu-ju-ji-wen-dang-shang-chuan-de-da-xiao-xian-zhi-he-shu-liang)。 ### 16. 为什么选择了 Claude 模型,还是会消耗 OpenAI 的费用? @@ -107,9 +107,9 @@ Query or prefix prompt is too long, you can reduce the preix prompt, or shrink t ### 17. 有什么方式能控制更多地使用上下文数据而不是模型自身生成能力吗? -是否使用数据集,会和数据集的描述有关系,尽可能把数据集描述写清楚,具体可参考[此文档编写技巧](https://docs.dify.ai/v/zh-hans/advanced/datasets)。 +是否使用知识库,会和知识库的描述有关系,尽可能把知识库描述写清楚,具体可参考[此文档编写技巧](https://docs.dify.ai/v/zh-hans/advanced/datasets)。 -### 18. 上传数据集文档是 Excel,该如何更好地分段? +### 18. 上传知识库文档是 Excel,该如何更好地分段? 首行设置表头,后面每行显示内容,不要有其他多余的表头设置,不要设置复杂格式的表格内容。 diff --git a/zh_CN/learn-more/use-cases/build-an-notion-ai-assistant.md b/zh_CN/learn-more/use-cases/build-an-notion-ai-assistant.md index 7a03115d..4cb2d218 100644 --- a/zh_CN/learn-more/use-cases/build-an-notion-ai-assistant.md +++ b/zh_CN/learn-more/use-cases/build-an-notion-ai-assistant.md @@ -18,9 +18,9 @@ Notion 是一个强大的知识管理工具。它的灵活性和可扩展性使 1.登录 Dify。 -2.创建一个数据集。 +2.创建一个知识库。 -3.将 Notion 和数据集连接起来。 +3.将 Notion 和知识库连接起来。 4.开始训练。 @@ -34,13 +34,13 @@ Notion 是一个强大的知识管理工具。它的灵活性和可扩展性使 ![login-1](https://pan.wsyfin.com/f/ERGcp/login-1.png) -#### 2.创建新的数据集 +#### 2.创建新的知识库 点击顶部侧边栏的 "Knowledge" 按钮,然后点击 "Create Knowledge" 按钮。 ![login-2](https://pan.wsyfin.com/f/G6ziA/login-2.png) -#### 3. 与 Notion 和你的数据集进行连接 +#### 3. 与 Notion 和你的知识库进行连接 选择 "Sync from Notion",然后点击 "Connect" 按钮。 @@ -74,11 +74,11 @@ Notion 是一个强大的知识管理工具。它的灵活性和可扩展性使 #### 5. 创建你自己的 AI 应用程序[​](https://wsyfin.com/notion-dify#5-create-your-own-ai-application) -你需要创建一个AI应用,然后连接刚刚创建的数据集。返回到仪表板,然后点击“创建新应用”按钮。建议直接使用聊天应用。 +你需要创建一个AI应用,然后连接刚刚创建的知识库。返回到仪表板,然后点击“创建新应用”按钮。建议直接使用聊天应用。 ![create-app-1](https://pan.wsyfin.com/f/QWRHo/create-app-1.png) -选择“Prompt Eng.”并在“context”中添加你的 Notion 数据集。 +选择“Prompt Eng.”并在“context”中添加你的 Notion 知识库。 ![create-app-2](https://pan.wsyfin.com/f/R6DT5/create-app-2.png) diff --git a/zh_CN/learn-more/use-cases/create-an-ai-chatbot-with-business-data-in-minutes.md b/zh_CN/learn-more/use-cases/create-an-ai-chatbot-with-business-data-in-minutes.md index ad7448e0..b8bf1e58 100644 --- a/zh_CN/learn-more/use-cases/create-an-ai-chatbot-with-business-data-in-minutes.md +++ b/zh_CN/learn-more/use-cases/create-an-ai-chatbot-with-business-data-in-minutes.md @@ -4,7 +4,7 @@ #### 首先,你需要理解 Dify.AI 是什么? -Dify 是一个开源且非常简单易用的 LLMOps 平台,让你能够可视化快速创建并运营 AI 应用的工具平台。Dify 提供了可视化的 Prompt 编排、运营、数据集管理等功能。你甚至无需具备 AI 相关的技术研究和晦涩概念的理解。Dify 对接了各个出色的大型语言模型供应商,如 OpenAI、Azure OpenAI、Antropic 等,已提供 GPT 系列、Claude 系列模型,未来也将接入优秀的开源模型。这一切都是可以在设置中切换使用。这意味着,你在创建调试应用时,可以对比不同模型的效果,以确定使用最适合你的模型。**基于 Dify,你不仅可以很轻易地开发一个 AI 智能客服,还可以创造符合你使用习惯和需求的文本写作助手、虚拟招聘 HR 专家、会议总结助手、翻译助手等各种文本生成型应用,为你的工作提效。** +Dify 是一个开源且非常简单易用的 LLMOps 平台,让你能够可视化快速创建并运营 AI 应用的工具平台。Dify 提供了可视化的 Prompt 编排、运营、知识库管理等功能。你甚至无需具备 AI 相关的技术研究和晦涩概念的理解。Dify 对接了各个出色的大型语言模型供应商,如 OpenAI、Azure OpenAI、Antropic 等,已提供 GPT 系列、Claude 系列模型,未来也将接入优秀的开源模型。这一切都是可以在设置中切换使用。这意味着,你在创建调试应用时,可以对比不同模型的效果,以确定使用最适合你的模型。**基于 Dify,你不仅可以很轻易地开发一个 AI 智能客服,还可以创造符合你使用习惯和需求的文本写作助手、虚拟招聘 HR 专家、会议总结助手、翻译助手等各种文本生成型应用,为你的工作提效。**
@@ -20,7 +20,7 @@ Dify 是一个开源产品,你可以在 GitHub (https://github.com/langgenius/ #### 上传你的产品文档或知识库 -如果你希望能基于公司现有的知识库和产品文档构建人工智能客服,来与用户交流,那么你需要尽可能将你产品有关的文档上传到 Dify 的数据集中。Dify 帮助你完成数据的**分段处理和清洗**。Dify数据集支持高质量和经济两种索引模式,我们推荐使用高质量模式,会消耗 token 但能提供更高的准确性。操作步骤:在 【数据集】页面,新建一个数据集,上传你的业务数据(支持批量上传多个文本),选择清洗方式,【保存并处理】,只需几秒钟即可完成处理。 +如果你希望能基于公司现有的知识库和产品文档构建人工智能客服,来与用户交流,那么你需要尽可能将你产品有关的文档上传到 Dify 的知识库中。Dify 帮助你完成数据的**分段处理和清洗**。Dify知识库支持高质量和经济两种索引模式,我们推荐使用高质量模式,会消耗 token 但能提供更高的准确性。操作步骤:在 【知识库】页面,新建一个知识库,上传你的业务数据(支持批量上传多个文本),选择清洗方式,【保存并处理】,只需几秒钟即可完成处理。
@@ -29,7 +29,7 @@ Dify 是一个开源产品,你可以在 GitHub (https://github.com/langgenius/ 在【构建应用】页面创建一个对话型应用。然后开始设置 AI 指令和它在前端和用户交互的体验: 1. \*\*给 AI 指令:\*\*点击左侧【提示词编排】编辑你的 Prompt ,让它扮演客服的角色与用户交流,你可以指定它和用户交流的语气、风格、限定它回答问题的范围; -2. \*\*让 AI 拥有你的业务知识:\*\*在【上下文】中添加你刚才上传的目标数据集; +2. \*\*让 AI 拥有你的业务知识:\*\*在【上下文】中添加你刚才上传的目标知识库; 3. \*\*设置一个【对话开场白】:\*\*点击 【添加功能】打开功能开关。目的是为 AI 应用添加一个开场白,在用户打开客服窗口时,它会先和用户打招呼,增加亲和感。 4. \*\*设置【下一步问题建议】:\*\*在【添加功能】开启此功能。目的是为了让用户在提完一个问题后,给用户进行下一步提问的方向提示。 5. \*\*选择一个合适的模型并调整参数:\*\*页面右上角可以选择不同的模型。不同模型的表现和消耗的 token 价格都不一样。这个例子中,我们使用 GPT3.5 模型。