diff --git a/.history/zh_CN/features/datasets/maintain-dataset-via-api_20240329083435.md b/.history/zh_CN/features/datasets/maintain-dataset-via-api_20240329083435.md new file mode 100644 index 0000000..e69de29 diff --git a/.history/zh_CN/features/datasets/maintain-dataset-via-api_20240329085331.md b/.history/zh_CN/features/datasets/maintain-dataset-via-api_20240329085331.md new file mode 100644 index 0000000..13aa078 --- /dev/null +++ b/.history/zh_CN/features/datasets/maintain-dataset-via-api_20240329085331.md @@ -0,0 +1,144 @@ +# 维护 Knowledge API + +> 身份验证、调用方法和应用服务API保持一致。区别在于知识API令牌可以对所有知识库进行操作. + +### 使用 Knowledge API 的好处 +* 同步您的数据系统以分散Knowledge以创建强大的工作流. +* 提供知识列表和文档列表API以及详细查询接口, 目的是为了便于生成自己的数据管理页. +* 为了简化您的同步进程,支持纯文本和 文件上传 / 更新文档 以及批量新增和修改. +* 提高Dify软件和服务的可见性,缩短手动处理文档和同步的时间. + +### 如何使用 + +请转到知识页面,您可以在左侧导航中切换到API页面。在此页面上,您可以查看dify提供的API文档并管理用于访问Knowledge API的凭据. + +

Knowledge API Document

+ +## **创建空的 Knowledge** + +**`POST /datasets`** + +{% hint style="warning" %} +仅用于创建空数据集 +{% endhint %} + +``` +curl --location --request POST 'https://api.dify.ai/v1/datasets' \ +--header 'Authorization: Bearer {api_key}' \ +--header 'Content-Type: application/json' \ +--data-raw '{"name": "name"}' + +``` + +#### **Knowledge 列表** + + +``` +curl --location --request GET 'https://api.dify.ai/v1/datasets?page=1&limit=20' \ +--header 'Authorization: Bearer {api_key}' + +``` + +#### **文本创建文档** + +``` +curl --location --request POST '/document/create_by_text>' \\ +--header 'Authorization: Bearer {api_key}' \\ +--header 'Content-Type: application/json' \\ +--data-raw '{ + "name": "Dify", + "text": "Dify means Do it for you...", + "indexing_technique": "high_quality", + "process_rule": { + "rules": { + "pre_processing_rules": [{ + "id": "remove_extra_spaces", + "enabled": true + }, { + "id": "remove_urls_emails", + "enabled": true + }], + "segmentation": { + "separator": "###", + "max_tokens": 500 + } + }, + "mode": "custom" + } +}' + +``` + +#### **文件创建文档** + +``` +curl --location POST 'https://api.dify.ai/v1/datasets/{dataset_id}/document/create_by_file' \ +--header 'Authorization: Bearer {api_key}' \ +--form 'data="{ + "name": "Dify", + "indexing_technique": "high_quality", + "process_rule": { + "rules": { + "pre_processing_rules": [{ + "id": "remove_extra_spaces", + "enabled": true + }, { + "id": "remove_urls_emails", + "enabled": true + }], + "segmentation": { + "separator": "###", + "max_tokens": 500 + } + }, + "mode": "custom" + } + }"; + type=text/plain' \ +--form 'file=@"/path/to/file"' + +``` + +#### **获取文档嵌入状态** + +``` +curl --location --request GET 'https://api.dify.ai/v1/datasets/{dataset_id}/documents/{batch}/indexing-status' \ +--header 'Authorization: Bearer {api_key}' +``` + +#### **删除文档** + +``` +curl --location --request GET 'https://api.dify.ai/v1/datasets/{dataset_id}/documents' \ +--header 'Authorization: Bearer {api_key}' + +``` + +#### **添加新的片段** + +``` +curl 'https://api.dify.ai/v1/datasets/aac47674-31a8-4f12-aab2-9603964c4789/documents/2034e0c1-1b75-4532-849e-24e72666595b/segment' \ + --header 'Authorization: Bearer {api_key}' \ + --header 'Content-Type: application/json' \ + --data-raw $'"segments":[ + {"content":"Dify means Do it for you", + "keywords":["Dify","Do"] + } + ]' + --compressed + +``` + + +### 报错信息 + +- `document_indexing`,表示文档正处于索引过程中 +- `provider_not_initialize`, 表示未配置嵌入模型 +- `not_found`,文档不存在 +- `dataset_name_duplicate` ,重复命名 +- `provider_quota_exceeded`,配额已超出最大限制 +- `dataset_not_initialized`,未进行初始化 +- `unsupported_file_type`,不支持的文件类型 + - 现支持的文件类型如下:txt, markdown, md, pdf, html, htm, xlsx, docx, csv +- `too_many_files`,表示文件数量太大,暂时只支持单文件上传 +- `file_too_large`,表示文件太大,仅支持15M以下的文件 \ No newline at end of file diff --git a/.history/zh_CN/features/datasets/sync-from-notion_20240329083457.md b/.history/zh_CN/features/datasets/sync-from-notion_20240329083457.md new file mode 100644 index 0000000..e69de29 diff --git a/.history/zh_CN/features/datasets/sync-from-notion_20240329092752.md b/.history/zh_CN/features/datasets/sync-from-notion_20240329092752.md new file mode 100644 index 0000000..eb4c878 --- /dev/null +++ b/.history/zh_CN/features/datasets/sync-from-notion_20240329092752.md @@ -0,0 +1,74 @@ +# 概念同步 + +Dify的概念支持从概念导入并设置 **同步** 以便在概念更新后自动同步数据以进行更新. + +### 鉴权 + +1. 当创建知识库时, 选择数据源, 点击 **从概念同步--转到连接**, 并根据提示完成授权验证. +2. 你也可以: 点击 **设置--数据源--添加数据源**, 点击概念来源 **连接** 以完成鉴权. + +

概念链接

+ +### 导入数据 + +完成鉴权操作后, 前往构建知识库页面, 点击 **概念同步**, 选择要导入的所需授权页面. + +### 分段清洗 + +接下来, 选择你的 **分段设置** 和 **索引方法**, **保存并处理**. 等待dify数据处理, 通常此步骤需要在LLM提供程序中使用令牌. 不仅支持导入普通页面类型,还可以汇总保存数据库类型下的页面属性. + +_**便笺:当前不支持导入图像和文件。表数据将转换为文本.**_ + +### 同步概念数据 + +如果您的概念内容已被修改,您可以直接在dify知识文档列表页面上单击[同步]按钮,一键同步数据(请注意,每次单击都会同步当前内容)。此步骤需要使用令牌. + +

同步概念数据

+ +### (社区版) 概念集成配置指南 + +集成分为两种方式: **内部集成** 和 **公共集成** . 它可以按需在dify中配置. + +有关这两种集成方法的具体区别,请参阅 [概念正式说明](https://developers.notion.com/docs/authorization). + +#### 1. **使用内部集成** + +创建您的集成页面 [集成设置](https://www.notion.so/my-integrations) . 默认状态下, 所有集成都从内部集成开始; 内部集成将与您选择的工作空间相关联, 因此,您需要是工作区所有者才能创建集成. + +**具体操作步骤:** + +点击 " **New integration** " 按钮, 即默认为内部(不能修改), 选择关联的空间, 输入名称并上传logo, 点击"**提交**" 成功创建集成. + +
+ +一旦创建了集成, 您可以根据需要更新其设置。 **性能** 此选项卡,然后再单击 "**显示**" 按钮后 **密钥** 复制您的密钥. + +
+ +将其复制并返回到dify源代码 , 在 **.env** 文件与配置相关的环境变量中,环境变量如下: + +**NOTION\_INTEGRATION\_TYPE** = 内部 或 **NOTION\_INTEGRATION\_TYPE** = 公用 + +**NOTION\_INTERNAL\_SECRET**= 你的内部密钥 + +#### 2. **使用公共集成** + +**您需要将内部集成升级为公共集成** , 导航到集成分发页面,并切换开关以显示集成. + +要将开关切换到公共设置,您需要 **在组织信息中填写其他信息**, 包括您的公司名称, 网址, 和重定向目标路径, 然后点击 "提交" 按钮. + +
+ +在您公共集成成功后, 在您的[集成设置页面](https://www.notion.so/my-integrations), 您将能够在[密钥]选项卡中访问集成的密钥. + +
+ +返回到dify源代码,在 **.env** 与文件配置相关的环境变量中, 环境变量如下: + +**NOTION\_INTEGRATION\_TYPE**=公共 + +**NOTION\_CLIENT\_SECRET**=你的客户端密钥 + +**NOTION\_CLIENT\_ID**=你的客户端id + +配置完成后,您将能够使用知识部分中的概念数据导入和同步功能. diff --git a/zh_CN/features/ai-plugins/based-on-frontend-templates.md b/zh_CN/features/ai-plugins/based-on-frontend-templates.md new file mode 100644 index 0000000..c183cf9 --- /dev/null +++ b/zh_CN/features/ai-plugins/based-on-frontend-templates.md @@ -0,0 +1,39 @@ +# 基于 WebApp 模板 + +如果开发人员从零开始开发新产品,或者处于产品原型设计阶段,你可以使用Dify快速启动人工智能网站。同时,Dify希望开发者能够完全自由地创造出不同形式的前端应用。为此,我们提供: + +* **SDK** 用于快速访问各种语言的dify API +* **WebApp Template** 用于为每种类型的应用程序搭建WebApp开发脚手架 + +根据麻省理工学院的许可,WebApp模板是开源的。您可以自由地修改和部署它们以实现dify的所有功能,或者作为实现您自己的应用程序的参考代码. + +您可以在GitHub上找到这些模板: + +* [Conversational app](https://github.com/langgenius/webapp-conversation) +* [Text generation app](https://github.com/langgenius/webapp-text-generator) + +使用WebApp模板的最快捷方式是通过github点击 "**Use this template**" , 这相当于派生一个新的存储库. 然后您需要配置dify应用ID和API密钥, 比如: + +```javascript +export const APP_ID = '' +export const API_KEY = '' +``` + +More config in `config/index.ts`: + +``` +export const APP_INFO: AppInfo = { + "title": 'Chat APP', + "description": '', + "copyright": '', + "privacy_policy": '', + "default_language": 'zh-Hans' +} + +export const isShowPrompt = true +export const promptTemplate = '' +``` + +每个WebApp模板都提供了一个包含部署说明的自述文件。通常,WebApp模板包含一个轻量级的后端服务,以确保开发者的API密钥不会直接暴露给用户. + +这些WebApp模板可以帮助你快速构建AI应用的原型,并使用dify的所有功能。如果您在此基础上开发自己的应用程序或新模板,请随时与我们分享. diff --git a/zh_CN/features/datasets/maintain-dataset-via-api.md b/zh_CN/features/datasets/maintain-dataset-via-api.md new file mode 100644 index 0000000..13aa078 --- /dev/null +++ b/zh_CN/features/datasets/maintain-dataset-via-api.md @@ -0,0 +1,144 @@ +# 维护 Knowledge API + +> 身份验证、调用方法和应用服务API保持一致。区别在于知识API令牌可以对所有知识库进行操作. + +### 使用 Knowledge API 的好处 +* 同步您的数据系统以分散Knowledge以创建强大的工作流. +* 提供知识列表和文档列表API以及详细查询接口, 目的是为了便于生成自己的数据管理页. +* 为了简化您的同步进程,支持纯文本和 文件上传 / 更新文档 以及批量新增和修改. +* 提高Dify软件和服务的可见性,缩短手动处理文档和同步的时间. + +### 如何使用 + +请转到知识页面,您可以在左侧导航中切换到API页面。在此页面上,您可以查看dify提供的API文档并管理用于访问Knowledge API的凭据. + +

Knowledge API Document

+ +## **创建空的 Knowledge** + +**`POST /datasets`** + +{% hint style="warning" %} +仅用于创建空数据集 +{% endhint %} + +``` +curl --location --request POST 'https://api.dify.ai/v1/datasets' \ +--header 'Authorization: Bearer {api_key}' \ +--header 'Content-Type: application/json' \ +--data-raw '{"name": "name"}' + +``` + +#### **Knowledge 列表** + + +``` +curl --location --request GET 'https://api.dify.ai/v1/datasets?page=1&limit=20' \ +--header 'Authorization: Bearer {api_key}' + +``` + +#### **文本创建文档** + +``` +curl --location --request POST '/document/create_by_text>' \\ +--header 'Authorization: Bearer {api_key}' \\ +--header 'Content-Type: application/json' \\ +--data-raw '{ + "name": "Dify", + "text": "Dify means Do it for you...", + "indexing_technique": "high_quality", + "process_rule": { + "rules": { + "pre_processing_rules": [{ + "id": "remove_extra_spaces", + "enabled": true + }, { + "id": "remove_urls_emails", + "enabled": true + }], + "segmentation": { + "separator": "###", + "max_tokens": 500 + } + }, + "mode": "custom" + } +}' + +``` + +#### **文件创建文档** + +``` +curl --location POST 'https://api.dify.ai/v1/datasets/{dataset_id}/document/create_by_file' \ +--header 'Authorization: Bearer {api_key}' \ +--form 'data="{ + "name": "Dify", + "indexing_technique": "high_quality", + "process_rule": { + "rules": { + "pre_processing_rules": [{ + "id": "remove_extra_spaces", + "enabled": true + }, { + "id": "remove_urls_emails", + "enabled": true + }], + "segmentation": { + "separator": "###", + "max_tokens": 500 + } + }, + "mode": "custom" + } + }"; + type=text/plain' \ +--form 'file=@"/path/to/file"' + +``` + +#### **获取文档嵌入状态** + +``` +curl --location --request GET 'https://api.dify.ai/v1/datasets/{dataset_id}/documents/{batch}/indexing-status' \ +--header 'Authorization: Bearer {api_key}' +``` + +#### **删除文档** + +``` +curl --location --request GET 'https://api.dify.ai/v1/datasets/{dataset_id}/documents' \ +--header 'Authorization: Bearer {api_key}' + +``` + +#### **添加新的片段** + +``` +curl 'https://api.dify.ai/v1/datasets/aac47674-31a8-4f12-aab2-9603964c4789/documents/2034e0c1-1b75-4532-849e-24e72666595b/segment' \ + --header 'Authorization: Bearer {api_key}' \ + --header 'Content-Type: application/json' \ + --data-raw $'"segments":[ + {"content":"Dify means Do it for you", + "keywords":["Dify","Do"] + } + ]' + --compressed + +``` + + +### 报错信息 + +- `document_indexing`,表示文档正处于索引过程中 +- `provider_not_initialize`, 表示未配置嵌入模型 +- `not_found`,文档不存在 +- `dataset_name_duplicate` ,重复命名 +- `provider_quota_exceeded`,配额已超出最大限制 +- `dataset_not_initialized`,未进行初始化 +- `unsupported_file_type`,不支持的文件类型 + - 现支持的文件类型如下:txt, markdown, md, pdf, html, htm, xlsx, docx, csv +- `too_many_files`,表示文件数量太大,暂时只支持单文件上传 +- `file_too_large`,表示文件太大,仅支持15M以下的文件 \ No newline at end of file diff --git a/zh_CN/features/datasets/sync-from-notion.md b/zh_CN/features/datasets/sync-from-notion.md new file mode 100644 index 0000000..eb4c878 --- /dev/null +++ b/zh_CN/features/datasets/sync-from-notion.md @@ -0,0 +1,74 @@ +# 概念同步 + +Dify的概念支持从概念导入并设置 **同步** 以便在概念更新后自动同步数据以进行更新. + +### 鉴权 + +1. 当创建知识库时, 选择数据源, 点击 **从概念同步--转到连接**, 并根据提示完成授权验证. +2. 你也可以: 点击 **设置--数据源--添加数据源**, 点击概念来源 **连接** 以完成鉴权. + +

概念链接

+ +### 导入数据 + +完成鉴权操作后, 前往构建知识库页面, 点击 **概念同步**, 选择要导入的所需授权页面. + +### 分段清洗 + +接下来, 选择你的 **分段设置** 和 **索引方法**, **保存并处理**. 等待dify数据处理, 通常此步骤需要在LLM提供程序中使用令牌. 不仅支持导入普通页面类型,还可以汇总保存数据库类型下的页面属性. + +_**便笺:当前不支持导入图像和文件。表数据将转换为文本.**_ + +### 同步概念数据 + +如果您的概念内容已被修改,您可以直接在dify知识文档列表页面上单击[同步]按钮,一键同步数据(请注意,每次单击都会同步当前内容)。此步骤需要使用令牌. + +

同步概念数据

+ +### (社区版) 概念集成配置指南 + +集成分为两种方式: **内部集成** 和 **公共集成** . 它可以按需在dify中配置. + +有关这两种集成方法的具体区别,请参阅 [概念正式说明](https://developers.notion.com/docs/authorization). + +#### 1. **使用内部集成** + +创建您的集成页面 [集成设置](https://www.notion.so/my-integrations) . 默认状态下, 所有集成都从内部集成开始; 内部集成将与您选择的工作空间相关联, 因此,您需要是工作区所有者才能创建集成. + +**具体操作步骤:** + +点击 " **New integration** " 按钮, 即默认为内部(不能修改), 选择关联的空间, 输入名称并上传logo, 点击"**提交**" 成功创建集成. + +
+ +一旦创建了集成, 您可以根据需要更新其设置。 **性能** 此选项卡,然后再单击 "**显示**" 按钮后 **密钥** 复制您的密钥. + +
+ +将其复制并返回到dify源代码 , 在 **.env** 文件与配置相关的环境变量中,环境变量如下: + +**NOTION\_INTEGRATION\_TYPE** = 内部 或 **NOTION\_INTEGRATION\_TYPE** = 公用 + +**NOTION\_INTERNAL\_SECRET**= 你的内部密钥 + +#### 2. **使用公共集成** + +**您需要将内部集成升级为公共集成** , 导航到集成分发页面,并切换开关以显示集成. + +要将开关切换到公共设置,您需要 **在组织信息中填写其他信息**, 包括您的公司名称, 网址, 和重定向目标路径, 然后点击 "提交" 按钮. + +
+ +在您公共集成成功后, 在您的[集成设置页面](https://www.notion.so/my-integrations), 您将能够在[密钥]选项卡中访问集成的密钥. + +
+ +返回到dify源代码,在 **.env** 与文件配置相关的环境变量中, 环境变量如下: + +**NOTION\_INTEGRATION\_TYPE**=公共 + +**NOTION\_CLIENT\_SECRET**=你的客户端密钥 + +**NOTION\_CLIENT\_ID**=你的客户端id + +配置完成后,您将能够使用知识部分中的概念数据导入和同步功能.