Files
dify-docs/zh/api-reference/openapi_knowledge.json
Riskey 21122c4282 Batch update apis (#715)
* Batch update service apis

* final check and add zh/ja docs

* add temporary redirects for changed api links embedded in the product

* Restore original operationIds to preserve SDK compatibility

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* complete the missing descriptions

* correct the human input terminology

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 16:38:10 +08:00

6657 lines
239 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"openapi": "3.0.1",
"info": {
"title": "知识库 API",
"description": "用于管理知识库、文档、分段、元数据和标签的 API包括创建、检索和配置操作。**注意:**单个知识库 API 密钥有权操作同一账户下所有可见的知识库。请注意数据安全。",
"version": "1.0.0"
},
"servers": [
{
"url": "{apiBaseUrl}",
"description": "Knowledge API 的基础 URL。",
"variables": {
"apiBaseUrl": {
"default": "https://api.dify.ai/v1",
"description": "API 的实际基础 URL"
}
}
}
],
"security": [
{
"ApiKeyAuth": []
}
],
"tags": [
{
"name": "知识库",
"description": "用于管理知识库的操作,包括创建、配置和检索。"
},
{
"name": "文档",
"description": "用于在知识库中创建、更新和管理文档的操作。"
},
{
"name": "分段",
"description": "用于管理分段和子分段的操作。"
},
{
"name": "元数据",
"description": "用于管理知识库元数据字段和文档元数据值的操作。"
},
{
"name": "标签",
"description": "用于管理知识库标签和标签绑定的操作。"
},
{
"name": "模型",
"description": "用于获取可用模型的操作。"
},
{
"name": "知识流水线",
"description": "用于管理和运行知识流水线的操作,包括数据源插件和流水线执行。"
}
],
"paths": {
"/datasets": {
"post": {
"tags": [
"知识库"
],
"summary": "创建空知识库",
"description": "创建新的空知识库。创建后,使用 [从文本创建文档](/api-reference/文档/从文本创建文档) 或 [从文件创建文档](/api-reference/文档/从文件创建文档) 添加文档。",
"operationId": "createDataset",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "知识库名称。"
},
"description": {
"type": "string",
"maxLength": 400,
"default": "",
"description": "知识库描述。"
},
"indexing_technique": {
"type": "string",
"enum": [
"high_quality",
"economy"
],
"nullable": true,
"description": "`high_quality` 使用嵌入模型进行精确搜索;`economy` 使用基于关键词的索引。"
},
"permission": {
"type": "string",
"enum": [
"only_me",
"all_team_members",
"partial_members"
],
"default": "only_me",
"description": "控制谁可以访问此知识库。`only_me` 仅限创建者,`all_team_members` 授权整个工作区访问,`partial_members` 授权指定成员访问。"
},
"provider": {
"type": "string",
"enum": [
"vendor",
"external"
],
"default": "vendor",
"description": "`vendor` 为内部知识库,`external` 为外部知识库。"
},
"embedding_model": {
"type": "string",
"description": "嵌入模型名称。使用 [获取可用模型](/api-reference/模型/获取可用模型) 中 `model_type=text-embedding` 返回的 `model` 字段值。"
},
"embedding_model_provider": {
"type": "string",
"description": "嵌入模型供应商。使用 [获取可用模型](/api-reference/模型/获取可用模型) 中 `model_type=text-embedding` 返回的 `provider` 字段值。"
},
"retrieval_model": {
"$ref": "#/components/schemas/RetrievalModel",
"description": "检索模型配置。控制查询此知识库时如何搜索和排序分段。"
},
"external_knowledge_api_id": {
"type": "string",
"description": "外部知识库 API 连接的 ID。"
},
"external_knowledge_id": {
"type": "string",
"description": "外部知识库的 ID。"
},
"summary_index_setting": {
"type": "object",
"nullable": true,
"description": "摘要索引配置。",
"properties": {
"enable": {
"type": "boolean",
"description": "是否启用摘要索引。"
},
"model_name": {
"type": "string",
"description": "用于生成摘要的模型名称。"
},
"model_provider_name": {
"type": "string",
"description": "摘要生成模型的提供商。"
},
"summary_prompt": {
"type": "string",
"description": "用于摘要生成的自定义提示词模板。"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "知识库创建成功。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Dataset"
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "c42e2a6e-40b3-4330-96f8-f1e4d768e8c9",
"name": "Product Documentation",
"description": "产品 API 技术文档",
"provider": "vendor",
"permission": "only_me",
"data_source_type": null,
"indexing_technique": "high_quality",
"app_count": 0,
"document_count": 0,
"word_count": 0,
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"author_name": "admin",
"created_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"updated_at": 1741267200,
"embedding_model": "text-embedding-3-small",
"embedding_model_provider": "openai",
"embedding_available": true,
"retrieval_model_dict": {
"search_method": "semantic_search",
"reranking_enable": false,
"reranking_mode": null,
"reranking_model": {
"reranking_provider_name": "",
"reranking_model_name": ""
},
"weights": null,
"top_k": 3,
"score_threshold_enabled": false,
"score_threshold": null
},
"tags": [],
"doc_form": "text_model",
"external_knowledge_info": null,
"external_retrieval_model": null,
"doc_metadata": [],
"built_in_field_enabled": true,
"pipeline_id": null,
"runtime_mode": null,
"chunk_structure": null,
"icon_info": null,
"summary_index_setting": null,
"is_published": false,
"total_documents": 0,
"total_available_documents": 0,
"enable_api": true,
"is_multimodal": false
}
}
}
}
}
},
"409": {
"description": "`dataset_name_duplicate` : 知识库名称已存在,请修改名称。",
"content": {
"application/json": {
"examples": {
"dataset_name_duplicate": {
"summary": "dataset_name_duplicate",
"value": {
"status": 409,
"code": "dataset_name_duplicate",
"message": "The dataset name already exists. Please modify your dataset name."
}
}
}
}
}
}
}
},
"get": {
"tags": [
"知识库"
],
"summary": "获取知识库列表",
"description": "返回知识库的分页列表。支持按关键词和标签筛选。",
"operationId": "listDatasets",
"parameters": [
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"default": 1
},
"description": "要获取的页码。"
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"default": 20
},
"description": "每页条目数。"
},
{
"name": "keyword",
"in": "query",
"schema": {
"type": "string"
},
"description": "按名称筛选的搜索关键词。"
},
{
"name": "include_all",
"in": "query",
"schema": {
"type": "boolean",
"default": false
},
"description": "是否包含所有知识库,无论权限如何。"
},
{
"name": "tag_ids",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"style": "form",
"explode": true,
"description": "用于筛选的标签 ID。"
}
],
"responses": {
"200": {
"description": "知识库列表。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"description": "知识库对象数组。",
"items": {
"$ref": "#/components/schemas/Dataset"
}
},
"has_more": {
"type": "boolean",
"description": "下一页是否还有更多项目。"
},
"limit": {
"type": "integer",
"description": "每页条目数。"
},
"total": {
"type": "integer",
"description": "匹配条目的总数。"
},
"page": {
"type": "integer",
"description": "当前页码。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": [
{
"id": "c42e2a6e-40b3-4330-96f8-f1e4d768e8c9",
"name": "Product Documentation",
"description": "产品 API 技术文档",
"provider": "vendor",
"permission": "only_me",
"data_source_type": null,
"indexing_technique": "high_quality",
"app_count": 0,
"document_count": 0,
"word_count": 0,
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"author_name": "admin",
"created_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"updated_at": 1741267200,
"embedding_model": "text-embedding-3-small",
"embedding_model_provider": "openai",
"embedding_available": true,
"retrieval_model_dict": {
"search_method": "semantic_search",
"reranking_enable": false,
"reranking_mode": null,
"reranking_model": {
"reranking_provider_name": "",
"reranking_model_name": ""
},
"weights": null,
"top_k": 3,
"score_threshold_enabled": false,
"score_threshold": null
},
"tags": [],
"doc_form": "text_model",
"external_knowledge_info": null,
"external_retrieval_model": null,
"doc_metadata": [],
"built_in_field_enabled": true,
"pipeline_id": null,
"runtime_mode": null,
"chunk_structure": null,
"icon_info": null,
"summary_index_setting": null,
"is_published": false,
"total_documents": 0,
"total_available_documents": 0,
"enable_api": true,
"is_multimodal": false
}
],
"has_more": false,
"limit": 20,
"total": 1,
"page": 1
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}": {
"get": {
"tags": [
"知识库"
],
"summary": "获取知识库详情",
"description": "获取指定知识库的详细信息,包括嵌入模型、检索配置和文档统计信息。",
"operationId": "getDatasetDetail",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"responses": {
"200": {
"description": "知识库详情。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Dataset"
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "c42e2a6e-40b3-4330-96f8-f1e4d768e8c9",
"name": "Product Documentation",
"description": "产品 API 技术文档",
"provider": "vendor",
"permission": "only_me",
"data_source_type": null,
"indexing_technique": "high_quality",
"app_count": 0,
"document_count": 0,
"word_count": 0,
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"author_name": "admin",
"created_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"updated_at": 1741267200,
"embedding_model": "text-embedding-3-small",
"embedding_model_provider": "openai",
"embedding_available": true,
"retrieval_model_dict": {
"search_method": "semantic_search",
"reranking_enable": false,
"reranking_mode": null,
"reranking_model": {
"reranking_provider_name": "",
"reranking_model_name": ""
},
"weights": null,
"top_k": 3,
"score_threshold_enabled": false,
"score_threshold": null
},
"tags": [],
"doc_form": "text_model",
"external_knowledge_info": null,
"external_retrieval_model": null,
"doc_metadata": [],
"built_in_field_enabled": true,
"pipeline_id": null,
"runtime_mode": null,
"chunk_structure": null,
"icon_info": null,
"summary_index_setting": null,
"is_published": false,
"total_documents": 0,
"total_available_documents": 0,
"enable_api": true,
"is_multimodal": false
}
}
}
}
}
},
"403": {
"description": "`forbidden` : 访问此知识库的权限不足。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "Insufficient permissions to access this knowledge base."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 未找到知识库。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
}
}
},
"patch": {
"tags": [
"知识库"
],
"summary": "更新知识库",
"description": "更新现有知识库的名称、描述、权限或检索设置。仅更新请求体中提供的字段。",
"operationId": "updateDataset",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "知识库名称。"
},
"description": {
"type": "string",
"maxLength": 400,
"description": "知识库描述。"
},
"indexing_technique": {
"type": "string",
"enum": [
"high_quality",
"economy"
],
"nullable": true,
"description": "`high_quality` 使用嵌入模型进行精确搜索;`economy` 使用基于关键词的索引。"
},
"permission": {
"type": "string",
"enum": [
"only_me",
"all_team_members",
"partial_members"
],
"description": "控制谁可以访问此知识库。`only_me` 仅限创建者,`all_team_members` 授权整个工作区访问,`partial_members` 授权指定成员访问。"
},
"embedding_model": {
"type": "string",
"description": "嵌入模型名称。使用 [获取可用模型](/api-reference/模型/获取可用模型) 中 `model_type=text-embedding` 返回的 `model` 字段值。"
},
"embedding_model_provider": {
"type": "string",
"description": "嵌入模型供应商。使用 [获取可用模型](/api-reference/模型/获取可用模型) 中 `model_type=text-embedding` 返回的 `provider` 字段值。"
},
"retrieval_model": {
"$ref": "#/components/schemas/RetrievalModel",
"description": "检索模型配置。控制查询此知识库时如何搜索和排序分段。"
},
"partial_member_list": {
"type": "array",
"description": "当 `permission` 为 `partial_members` 时有访问权限的团队成员列表。",
"items": {
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "要授予访问权限的团队成员 ID。"
}
}
}
},
"external_retrieval_model": {
"type": "object",
"description": "外部知识库的检索设置。",
"properties": {
"top_k": {
"type": "integer",
"description": "返回的最大结果数。"
},
"score_threshold": {
"type": "number",
"description": "用于过滤结果的最低相关性分数阈值。"
},
"score_threshold_enabled": {
"type": "boolean",
"description": "是否启用分数阈值过滤。"
}
}
},
"external_knowledge_id": {
"type": "string",
"description": "外部知识库的 ID。"
},
"external_knowledge_api_id": {
"type": "string",
"description": "外部知识库 API 连接的 ID。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "知识库更新成功。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Dataset"
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "c42e2a6e-40b3-4330-96f8-f1e4d768e8c9",
"name": "Product Documentation",
"description": "产品 API 技术文档",
"provider": "vendor",
"permission": "only_me",
"data_source_type": null,
"indexing_technique": "high_quality",
"app_count": 0,
"document_count": 0,
"word_count": 0,
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"author_name": "admin",
"created_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"updated_at": 1741267200,
"embedding_model": "text-embedding-3-small",
"embedding_model_provider": "openai",
"embedding_available": true,
"retrieval_model_dict": {
"search_method": "semantic_search",
"reranking_enable": false,
"reranking_mode": null,
"reranking_model": {
"reranking_provider_name": "",
"reranking_model_name": ""
},
"weights": null,
"top_k": 3,
"score_threshold_enabled": false,
"score_threshold": null
},
"tags": [],
"doc_form": "text_model",
"external_knowledge_info": null,
"external_retrieval_model": null,
"doc_metadata": [],
"built_in_field_enabled": true,
"pipeline_id": null,
"runtime_mode": null,
"chunk_structure": null,
"icon_info": null,
"summary_index_setting": null,
"is_published": false,
"total_documents": 0,
"total_available_documents": 0,
"enable_api": true,
"is_multimodal": false
}
}
}
}
}
},
"403": {
"description": "`forbidden` : 访问此知识库的权限不足。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "Insufficient permissions to access this knowledge base."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 未找到知识库。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
}
}
},
"delete": {
"tags": [
"知识库"
],
"summary": "删除知识库",
"description": "永久删除知识库及其所有文档。该知识库不能被任何应用正在使用。",
"operationId": "deleteDataset",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"responses": {
"204": {
"description": "Success."
},
"404": {
"description": "`not_found` : 未找到知识库。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
},
"409": {
"description": "`dataset_in_use` : 该知识库正在被一些应用使用。请先从应用中移除后再删除。",
"content": {
"application/json": {
"examples": {
"dataset_in_use": {
"summary": "dataset_in_use",
"value": {
"status": 409,
"code": "dataset_in_use",
"message": "The dataset is being used by some apps. Please remove the dataset from the apps before deleting it."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/document/create-by-text": {
"post": {
"tags": [
"文档"
],
"summary": "从文本创建文档",
"description": "通过纯文本内容创建文档。文档将异步处理——使用返回的 `batch` ID 配合 [获取文档嵌入状态(进度)](/api-reference/文档/获取文档嵌入状态(进度)) 跟踪进度。",
"operationId": "createDocumentFromText",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"text"
],
"properties": {
"name": {
"type": "string",
"description": "文档名称。"
},
"text": {
"type": "string",
"description": "文档文本内容。"
},
"indexing_technique": {
"type": "string",
"enum": [
"high_quality",
"economy"
],
"description": "向知识库添加首个文档时必填。后续文档如果省略此字段,将继承知识库的索引方式。`high_quality` 使用嵌入模型进行精确搜索;`economy` 使用基于关键词的索引。"
},
"doc_form": {
"type": "string",
"enum": [
"text_model",
"hierarchical_model",
"qa_model"
],
"default": "text_model",
"description": "`text_model` 为标准文本分段,`hierarchical_model` 为父子分段结构,`qa_model` 为问答对提取。"
},
"doc_language": {
"type": "string",
"default": "English",
"description": "用于处理优化的文档语言。"
},
"process_rule": {
"type": "object",
"description": "分块处理规则。",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"automatic",
"custom",
"hierarchical"
],
"description": "处理模式。`automatic` 使用内置规则,`custom` 允许手动配置,`hierarchical` 启用父子分段结构(配合 `doc_form: hierarchical_model` 使用)。"
},
"rules": {
"type": "object",
"properties": {
"pre_processing_rules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"remove_stopwords",
"remove_extra_spaces",
"remove_urls_emails"
],
"description": "规则标识符。"
},
"enabled": {
"type": "boolean",
"description": "该预处理规则是否启用。"
}
}
}
},
"segmentation": {
"type": "object",
"properties": {
"separator": {
"type": "string",
"default": "\n",
"description": "用于拆分文本的自定义分隔符。"
},
"max_tokens": {
"type": "integer",
"description": "每个分段的最大令牌数。"
},
"chunk_overlap": {
"type": "integer",
"default": 0,
"description": "分段之间的令牌重叠数。"
}
}
}
}
}
}
},
"retrieval_model": {
"$ref": "#/components/schemas/RetrievalModel",
"description": "检索模型配置。控制查询此知识库时如何搜索和排序分段。"
},
"embedding_model": {
"type": "string",
"description": "嵌入模型名称。使用 [获取可用模型](/api-reference/模型/获取可用模型) 中 `model_type=text-embedding` 返回的 `model` 字段值。"
},
"embedding_model_provider": {
"type": "string",
"description": "嵌入模型供应商。使用 [获取可用模型](/api-reference/模型/获取可用模型) 中 `model_type=text-embedding` 返回的 `provider` 字段值。"
},
"original_document_id": {
"type": "string",
"description": "用于版本控制的原始文档 ID。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "文档创建成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"document": {
"$ref": "#/components/schemas/Document"
},
"batch": {
"type": "string",
"description": "用于跟踪索引进度的批次 ID。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"document": {
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"position": 1,
"data_source_type": "upload_file",
"data_source_info": {
"upload_file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"data_source_detail_dict": {
"upload_file": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "guide.txt",
"size": 2048,
"extension": "txt",
"mime_type": "text/plain",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200
}
},
"dataset_process_rule_id": "e1f2a3b4-c5d6-7890-ef12-345678901234",
"name": "guide.txt",
"created_from": "api",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"tokens": 0,
"indexing_status": "indexing",
"error": null,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"archived": false,
"display_status": "indexing",
"word_count": 0,
"hit_count": 0,
"doc_form": "text_model",
"doc_metadata": [],
"summary_index_status": null,
"need_summary": false
},
"batch": "20250306150245647595"
}
}
}
}
}
},
"400": {
"description": "- `provider_not_initialize` : 未找到有效的模型提供商凭据。请前往设置 -> 模型提供商完成凭据配置。\n- `invalid_param` : 知识库不存在。/ indexing_technique 为必填项。",
"content": {
"application/json": {
"examples": {
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"invalid_param_dataset": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Dataset does not exist."
}
},
"invalid_param_indexing": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "indexing_technique is required."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/document/create-by-file": {
"post": {
"tags": [
"文档"
],
"summary": "从文件创建文档",
"description": "通过上传文件创建文档。支持常见文档格式PDF、TXT、DOCX 等)。处理过程为异步——使用返回的 `batch` ID 配合 [获取文档嵌入状态(进度)](/api-reference/文档/获取文档嵌入状态(进度)) 跟踪进度。",
"operationId": "createDocumentFromFile",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "要上传的文件。"
},
"data": {
"type": "string",
"description": "包含配置信息的 JSON 字符串。接受与 [从文本创建文档](/api-reference/文档/从文本创建文档) 相同的字段(`indexing_technique`、`doc_form`、`doc_language`、`process_rule`、`retrieval_model`、`embedding_model`、`embedding_model_provider`),但不包括 `name` 和 `text`。",
"example": "{\"indexing_technique\":\"high_quality\",\"doc_form\":\"text_model\",\"doc_language\":\"English\",\"process_rule\":{\"mode\":\"automatic\"}}"
}
}
}
}
}
},
"responses": {
"200": {
"description": "文档创建成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"document": {
"$ref": "#/components/schemas/Document"
},
"batch": {
"type": "string",
"description": "用于跟踪索引进度的批次 ID。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"document": {
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"position": 1,
"data_source_type": "upload_file",
"data_source_info": {
"upload_file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"data_source_detail_dict": {
"upload_file": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "guide.txt",
"size": 2048,
"extension": "txt",
"mime_type": "text/plain",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200
}
},
"dataset_process_rule_id": "e1f2a3b4-c5d6-7890-ef12-345678901234",
"name": "guide.txt",
"created_from": "api",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"tokens": 0,
"indexing_status": "indexing",
"error": null,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"archived": false,
"display_status": "indexing",
"word_count": 0,
"hit_count": 0,
"doc_form": "text_model",
"doc_metadata": [],
"summary_index_status": null,
"need_summary": false
},
"batch": "20250306150245647595"
}
}
}
}
}
},
"400": {
"description": "- `no_file_uploaded` : 请上传文件。\n- `too_many_files` : 仅允许上传一个文件。\n- `filename_not_exists_error` : 指定的文件名不存在。\n- `provider_not_initialize` : 未找到有效的模型提供商凭据。请前往设置 -> 模型提供商完成凭据配置。\n- `invalid_param` : 知识库不存在、不支持外部数据集、文件过大、不支持的文件类型或缺少必填字段。",
"content": {
"application/json": {
"examples": {
"no_file_uploaded": {
"summary": "no_file_uploaded",
"value": {
"status": 400,
"code": "no_file_uploaded",
"message": "Please upload your file."
}
},
"too_many_files": {
"summary": "too_many_files",
"value": {
"status": 400,
"code": "too_many_files",
"message": "Only one file is allowed."
}
},
"filename_not_exists_error": {
"summary": "filename_not_exists_error",
"value": {
"status": 400,
"code": "filename_not_exists_error",
"message": "The specified filename does not exist."
}
},
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"invalid_param_dataset": {
"summary": "invalid_param (dataset)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Dataset does not exist."
}
},
"invalid_param_external": {
"summary": "invalid_param (external)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "External datasets are not supported."
}
},
"invalid_param_file_too_large": {
"summary": "invalid_param (file_too_large)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "File size exceeded."
}
},
"invalid_param_unsupported_file_type": {
"summary": "invalid_param (unsupported_file_type)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "File type not allowed."
}
},
"invalid_param_indexing": {
"summary": "invalid_param (indexing_technique)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "indexing_technique is required."
}
},
"invalid_param_process_rule": {
"summary": "invalid_param (process_rule)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "process_rule is required."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents": {
"get": {
"tags": [
"文档"
],
"summary": "获取知识库的文档列表",
"description": "返回知识库中的文档分页列表。支持按关键词和索引状态进行筛选。",
"operationId": "listDocuments",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"default": 1
},
"description": "要获取的页码。"
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"default": 20
},
"description": "每页的项目数量。服务器上限为 `100`。"
},
{
"name": "keyword",
"in": "query",
"schema": {
"type": "string"
},
"description": "按文档名称筛选的搜索关键词。"
},
{
"name": "status",
"in": "query",
"schema": {
"type": "string",
"enum": [
"queuing",
"indexing",
"paused",
"error",
"available",
"disabled",
"archived"
]
},
"description": "按显示状态筛选。"
}
],
"responses": {
"200": {
"description": "文档列表。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"description": "知识库对象数组。",
"items": {
"$ref": "#/components/schemas/Document"
}
},
"has_more": {
"type": "boolean",
"description": "下一页是否还有更多项目。"
},
"limit": {
"type": "integer",
"description": "每页条目数。"
},
"total": {
"type": "integer",
"description": "匹配条目的总数。"
},
"page": {
"type": "integer",
"description": "当前页码。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": [
{
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"position": 1,
"data_source_type": "upload_file",
"data_source_info": {
"upload_file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"data_source_detail_dict": {
"upload_file": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "guide.txt",
"size": 2048,
"extension": "txt",
"mime_type": "text/plain",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200
}
},
"dataset_process_rule_id": "e1f2a3b4-c5d6-7890-ef12-345678901234",
"name": "guide.txt",
"created_from": "api",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"tokens": 512,
"indexing_status": "completed",
"error": null,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"archived": false,
"display_status": "available",
"word_count": 350,
"hit_count": 0,
"doc_form": "text_model",
"doc_metadata": [],
"summary_index_status": null,
"need_summary": false
}
],
"has_more": false,
"limit": 20,
"total": 1,
"page": 1
}
}
}
}
}
},
"404": {
"description": "`not_found` : 知识库未找到。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/{document_id}": {
"get": {
"tags": [
"文档"
],
"summary": "获取文档详情",
"description": "获取指定文档的详细信息,包括索引状态、元数据和处理统计信息。",
"operationId": "getDocumentDetail",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "metadata",
"in": "query",
"schema": {
"type": "string",
"enum": [
"all",
"only",
"without"
],
"default": "all"
},
"description": "`all` 返回所有字段(包括元数据)。`only` 仅返回 `id`、`doc_type` 和 `doc_metadata`。`without` 返回除 `doc_metadata` 外的所有字段。"
}
],
"responses": {
"200": {
"description": "文档详情。响应结构根据 `metadata` 查询参数的不同而变化。当 `metadata` 为 `only` 时,仅返回 `id`、`doc_type` 和 `doc_metadata`。当 `metadata` 为 `without` 时,省略 `doc_type` 和 `doc_metadata`。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "文档标识符。"
},
"position": {
"type": "integer",
"description": "在知识库中的位置索引。"
},
"data_source_type": {
"type": "string",
"description": "文档的上传方式。文件上传为 `upload_file`Notion 导入为 `notion_import`。"
},
"data_source_info": {
"type": "object",
"description": "原始数据源信息。"
},
"dataset_process_rule_id": {
"type": "string",
"description": "应用于该文档的处理规则 ID。"
},
"dataset_process_rule": {
"type": "object",
"description": "知识库级别的处理规则配置。"
},
"document_process_rule": {
"type": "object",
"description": "文档级别的处理规则配置。"
},
"name": {
"type": "string",
"description": "文档名称。"
},
"created_from": {
"type": "string",
"description": "文档来源。通过 API 创建时为 `api`,通过 UI 创建时为 `web`。"
},
"created_by": {
"type": "string",
"description": "创建该文档的用户 ID。"
},
"created_at": {
"type": "number",
"description": "文档创建的 Unix 时间戳。"
},
"tokens": {
"type": "integer",
"description": "文档中的令牌数。"
},
"indexing_status": {
"type": "string",
"description": "当前索引状态,例如 `waiting`、`parsing`、`cleaning`、`splitting`、`indexing`、`completed`、`error`、`paused`。"
},
"error": {
"type": "string",
"nullable": true,
"description": "索引失败时的错误消息,否则为 `null`。"
},
"enabled": {
"type": "boolean",
"description": "该文档是否启用检索。"
},
"disabled_at": {
"type": "number",
"nullable": true,
"description": "文档被禁用的 Unix 时间戳,启用时为 `null`。"
},
"disabled_by": {
"type": "string",
"nullable": true,
"description": "禁用该文档的用户 ID启用时为 `null`。"
},
"archived": {
"type": "boolean",
"description": "文档是否已归档。"
},
"display_status": {
"type": "string",
"description": "适合 UI 显示的索引状态。"
},
"word_count": {
"type": "integer",
"description": "文档的总字数。"
},
"hit_count": {
"type": "integer",
"description": "该文档被检索的次数。"
},
"doc_form": {
"type": "string",
"description": "文档分块模式。`text_model` 表示标准文本,`hierarchical_model` 表示父子结构,`qa_model` 表示问答对。"
},
"doc_language": {
"type": "string",
"description": "文档内容的语言。"
},
"doc_type": {
"type": "string",
"nullable": true,
"description": "文档类型分类,未设置时为 `null`。"
},
"doc_metadata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "元数据字段标识符。"
},
"name": {
"type": "string",
"description": "元数据字段名称。"
},
"type": {
"type": "string",
"description": "元数据字段类型。"
},
"value": {
"type": "string",
"description": "此文档的元数据字段值。"
}
}
},
"description": "此文档的自定义元数据键值对。"
},
"completed_at": {
"type": "number",
"nullable": true,
"description": "处理完成的 Unix 时间戳,尚未完成时为 `null`。"
},
"updated_at": {
"type": "number",
"nullable": true,
"description": "最后更新的 Unix 时间戳,从未更新时为 `null`。"
},
"indexing_latency": {
"type": "number",
"nullable": true,
"description": "索引耗时(秒),未完成时为 `null`。"
},
"segment_count": {
"type": "integer",
"description": "文档中的分段数。"
},
"average_segment_length": {
"type": "number",
"description": "分段的平均字符长度。"
},
"summary_index_status": {
"type": "string",
"nullable": true,
"description": "摘要索引的状态,未启用摘要索引时为 `null`。"
},
"need_summary": {
"type": "boolean",
"description": "该文档是否需要生成摘要。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"position": 1,
"data_source_type": "upload_file",
"data_source_info": {
"upload_file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"dataset_process_rule_id": "e1f2a3b4-c5d6-7890-ef12-345678901234",
"dataset_process_rule": {
"id": "e1f2a3b4-c5d6-7890-ef12-345678901234",
"mode": "custom"
},
"document_process_rule": {
"mode": "custom",
"rules": {
"pre_processing_rules": [],
"segmentation": {
"separator": "###",
"max_tokens": 500,
"chunk_overlap": 50
}
}
},
"name": "guide.txt",
"created_from": "api",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"tokens": 512,
"indexing_status": "completed",
"error": null,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"archived": false,
"display_status": "available",
"word_count": 350,
"hit_count": 0,
"doc_form": "text_model",
"doc_language": "English",
"doc_type": null,
"doc_metadata": [],
"completed_at": 1741267260,
"updated_at": 1741267260,
"indexing_latency": 60.0,
"segment_count": 5,
"average_segment_length": 70.0,
"summary_index_status": null,
"need_summary": false
}
}
}
}
}
},
"400": {
"description": "`invalid_metadata` : 指定键的元数据值无效。",
"content": {
"application/json": {
"examples": {
"invalid_metadata": {
"summary": "invalid_metadata",
"value": {
"status": 400,
"code": "invalid_metadata",
"message": "Invalid metadata value: {metadata_key}"
}
}
}
}
}
},
"403": {
"description": "`forbidden` : 没有权限。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "No permission."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 未找到文档。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Document not found."
}
}
}
}
}
}
}
},
"delete": {
"tags": [
"文档"
],
"summary": "删除文档",
"description": "从知识库中永久删除文档及其所有分段。",
"operationId": "deleteDocument",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
}
],
"responses": {
"204": {
"description": "Success."
},
"400": {
"description": "`document_indexing` : 索引期间无法删除文档。",
"content": {
"application/json": {
"examples": {
"document_indexing": {
"summary": "document_indexing",
"value": {
"status": 400,
"code": "document_indexing",
"message": "Cannot delete document during indexing."
}
}
}
}
}
},
"403": {
"description": "`archived_document_immutable` : 已归档的文档不可编辑。",
"content": {
"application/json": {
"examples": {
"archived_document_immutable": {
"summary": "archived_document_immutable",
"value": {
"status": 403,
"code": "archived_document_immutable",
"message": "The archived document is not editable."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 文档不存在。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Document Not Exists."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/{document_id}/download": {
"get": {
"tags": [
"文档"
],
"summary": "下载文档",
"description": "获取文档原始上传文件的签名下载 URL。",
"operationId": "downloadDocumentZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
}
],
"responses": {
"200": {
"description": "下载 URL 生成成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "用于下载原始上传文件的签名 URL。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"url": "https://storage.example.com/datasets/documents/abc123/original-file.pdf?token=xyz789&expires=1741353600"
}
}
}
}
}
},
"403": {
"description": "`forbidden` : 没有权限访问此文档。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "No permission."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 未找到文档。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Document not found."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/{batch}/indexing-status": {
"get": {
"tags": [
"文档"
],
"summary": "获取文档嵌入状态(进度)",
"description": "检查批量文档的索引进度。返回每个文档的当前处理阶段和分段完成计数。请轮询此接口直到 `indexing_status` 变为 `completed` 或 `error`。状态按以下顺序推进:`waiting` → `parsing` → `cleaning` → `splitting` → `indexing` → `completed`。",
"operationId": "getDocumentIndexingStatus",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "batch",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "创建文档时返回的批次 ID。"
}
],
"responses": {
"200": {
"description": "批次中文档的索引状态。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "文档标识符。"
},
"indexing_status": {
"type": "string",
"description": "当前索引状态:`waiting`、`parsing`、`cleaning`、`splitting`、`indexing`、`completed` 或 `error`。"
},
"processing_started_at": {
"type": "number",
"description": "处理开始的 Unix 时间戳。"
},
"parsing_completed_at": {
"type": "number",
"description": "解析完成的 Unix 时间戳。"
},
"cleaning_completed_at": {
"type": "number",
"description": "清洗完成的 Unix 时间戳。"
},
"splitting_completed_at": {
"type": "number",
"description": "拆分完成的 Unix 时间戳。"
},
"completed_at": {
"type": "number",
"description": "索引完成的 Unix 时间戳。"
},
"paused_at": {
"type": "number",
"nullable": true,
"description": "索引暂停的时间戳。未暂停时为 `null`。"
},
"error": {
"type": "string",
"nullable": true,
"description": "索引失败时的错误信息。无错误时为 `null`。"
},
"stopped_at": {
"type": "number",
"nullable": true,
"description": "索引停止的时间戳。未停止时为 `null`。"
},
"completed_segments": {
"type": "integer",
"description": "已索引的分段数。"
},
"total_segments": {
"type": "integer",
"description": "待索引的分段总数。"
}
}
},
"description": "索引状态条目列表。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": [
{
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"indexing_status": "completed",
"processing_started_at": 1741267200,
"parsing_completed_at": 1741267200,
"cleaning_completed_at": 1741267200,
"splitting_completed_at": 1741267200,
"completed_at": 1741267200,
"paused_at": null,
"error": null,
"stopped_at": null,
"completed_segments": 5,
"total_segments": 5
}
]
}
}
}
}
}
},
"404": {
"description": "`not_found` : 知识库未找到。/ 文档未找到。",
"content": {
"application/json": {
"examples": {
"dataset_not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
},
"documents_not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Documents not found."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/{document_id}/update-by-text": {
"post": {
"tags": [
"文档"
],
"summary": "用文本更新文档",
"description": "更新现有文档的文本内容、名称或处理配置。内容变更时将重新触发索引——使用返回的 `batch` ID 配合 [获取文档嵌入状态(进度)](/api-reference/文档/获取文档嵌入状态(进度)) 跟踪进度。",
"operationId": "updateDocumentByText",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "文档名称。当提供 `text` 时必填。"
},
"text": {
"type": "string",
"description": "文档文本内容。"
},
"process_rule": {
"type": "object",
"description": "分块处理规则。",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"automatic",
"custom",
"hierarchical"
],
"description": "处理模式。`automatic` 使用内置规则,`custom` 允许手动配置,`hierarchical` 启用父子分段结构(配合 `doc_form: hierarchical_model` 使用)。"
},
"rules": {
"type": "object",
"properties": {
"pre_processing_rules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"remove_stopwords",
"remove_extra_spaces",
"remove_urls_emails"
],
"description": "规则标识符。"
},
"enabled": {
"type": "boolean",
"description": "该预处理规则是否启用。"
}
}
}
},
"segmentation": {
"type": "object",
"properties": {
"separator": {
"type": "string",
"default": "\n",
"description": "用于拆分文本的自定义分隔符。"
},
"max_tokens": {
"type": "integer",
"description": "每个分段的最大令牌数。"
},
"chunk_overlap": {
"type": "integer",
"default": 0,
"description": "分段之间的令牌重叠数。"
}
}
}
}
}
}
},
"doc_form": {
"type": "string",
"enum": [
"text_model",
"hierarchical_model",
"qa_model"
],
"default": "text_model",
"description": "`text_model` 为标准文本分段,`hierarchical_model` 为父子分段结构,`qa_model` 为问答对提取。"
},
"doc_language": {
"type": "string",
"default": "English",
"description": "用于处理优化的文档语言。"
},
"retrieval_model": {
"$ref": "#/components/schemas/RetrievalModel",
"description": "检索模型配置。控制查询此知识库时如何搜索和排序分段。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "文档更新成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"document": {
"$ref": "#/components/schemas/Document"
},
"batch": {
"type": "string",
"description": "用于跟踪索引进度的批次 ID。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"document": {
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"position": 1,
"data_source_type": "upload_file",
"data_source_info": {
"upload_file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"data_source_detail_dict": {
"upload_file": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "guide.txt",
"size": 2048,
"extension": "txt",
"mime_type": "text/plain",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200
}
},
"dataset_process_rule_id": "e1f2a3b4-c5d6-7890-ef12-345678901234",
"name": "guide.txt",
"created_from": "api",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"tokens": 512,
"indexing_status": "completed",
"error": null,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"archived": false,
"display_status": "available",
"word_count": 350,
"hit_count": 0,
"doc_form": "text_model",
"doc_metadata": [],
"summary_index_status": null,
"need_summary": false
},
"batch": "20250306150245647595"
}
}
}
}
}
},
"400": {
"description": "- `provider_not_initialize` : 未找到有效的模型提供商凭据。请前往设置 -> 模型提供商完成凭据配置。\n- `invalid_param` : 知识库不存在,或提供文本时 name 为必填项。",
"content": {
"application/json": {
"examples": {
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"invalid_param_dataset": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Dataset does not exist."
}
},
"invalid_param_name_required": {
"summary": "invalid_param (name required)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "name is required when text is provided."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/{document_id}/update-by-file": {
"post": {
"tags": [
"文档"
],
"summary": "用文件更新文档",
"description": "通过上传新文件更新现有文档。将重新触发索引——使用返回的 `batch` ID 配合 [获取文档嵌入状态(进度)](/api-reference/文档/获取文档嵌入状态(进度)) 跟踪进度。",
"operationId": "updateDocumentByFile",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
}
],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "要上传的文件。"
},
"data": {
"type": "string",
"description": "包含配置信息的 JSON 字符串。接受与 [从文本创建文档](/api-reference/文档/从文本创建文档) 相同的字段(`indexing_technique`、`doc_form`、`doc_language`、`process_rule`、`retrieval_model`、`embedding_model`、`embedding_model_provider`),但不包括 `name` 和 `text`。",
"example": "{\"indexing_technique\":\"high_quality\",\"doc_form\":\"text_model\",\"doc_language\":\"English\",\"process_rule\":{\"mode\":\"automatic\"}}"
}
}
}
}
}
},
"responses": {
"200": {
"description": "文档更新成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"document": {
"$ref": "#/components/schemas/Document"
},
"batch": {
"type": "string",
"description": "用于跟踪索引进度的批次 ID。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"document": {
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"position": 1,
"data_source_type": "upload_file",
"data_source_info": {
"upload_file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"data_source_detail_dict": {
"upload_file": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "guide.txt",
"size": 2048,
"extension": "txt",
"mime_type": "text/plain",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200
}
},
"dataset_process_rule_id": "e1f2a3b4-c5d6-7890-ef12-345678901234",
"name": "guide.txt",
"created_from": "api",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"tokens": 512,
"indexing_status": "completed",
"error": null,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"archived": false,
"display_status": "available",
"word_count": 350,
"hit_count": 0,
"doc_form": "text_model",
"doc_metadata": [],
"summary_index_status": null,
"need_summary": false
},
"batch": "20250306150245647595"
}
}
}
}
}
},
"400": {
"description": "- `too_many_files` : 仅允许上传一个文件。\n- `filename_not_exists_error` : 指定的文件名不存在。\n- `provider_not_initialize` : 未找到有效的模型提供商凭据。请前往设置 -> 模型提供商完成凭据配置。\n- `invalid_param` : 知识库不存在、不支持外部数据集、文件过大或不支持的文件类型。",
"content": {
"application/json": {
"examples": {
"too_many_files": {
"summary": "too_many_files",
"value": {
"status": 400,
"code": "too_many_files",
"message": "Only one file is allowed."
}
},
"filename_not_exists_error": {
"summary": "filename_not_exists_error",
"value": {
"status": 400,
"code": "filename_not_exists_error",
"message": "The specified filename does not exist."
}
},
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"invalid_param_dataset": {
"summary": "invalid_param (dataset)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Dataset does not exist."
}
},
"invalid_param_external": {
"summary": "invalid_param (external)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "External datasets are not supported."
}
},
"invalid_param_file_too_large": {
"summary": "invalid_param (file_too_large)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "File size exceeded."
}
},
"invalid_param_unsupported_file_type": {
"summary": "invalid_param (unsupported_file_type)",
"value": {
"status": 400,
"code": "invalid_param",
"message": "File type not allowed."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/download-zip": {
"post": {
"tags": [
"文档"
],
"summary": "批量下载文档ZIP",
"description": "将多个上传文件文档下载为单个 ZIP 压缩包。最多接受 `100` 个文档 ID。",
"operationId": "downloadDocumentsZipZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"document_ids"
],
"properties": {
"document_ids": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "string",
"format": "uuid"
},
"description": "要包含在 ZIP 压缩包中的文档 ID 数组。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "包含所请求文档的 ZIP 压缩包。",
"content": {
"application/zip": {
"schema": {
"type": "string",
"format": "binary",
"description": "ZIP 压缩包二进制流。"
}
}
}
},
"403": {
"description": "`forbidden` : 权限不足。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "Insufficient permissions."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 文档或知识库未找到。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Document not found."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/status/{action}": {
"patch": {
"tags": [
"文档"
],
"summary": "批量更新文档状态",
"description": "批量启用、禁用、归档或取消归档多个文档。",
"operationId": "batchUpdateDocumentStatus",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "action",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"enable",
"disable",
"archive",
"un_archive"
]
},
"description": "`enable` 启用,`disable` 停用,`archive` 归档,`un_archive` 从归档中恢复。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"document_ids"
],
"properties": {
"document_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "要更新的文档 ID 列表。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "文档更新成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"result": {
"type": "string",
"description": "操作结果。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"result": "success"
}
}
}
}
}
},
"400": {
"description": "`invalid_action` : 无效的操作。",
"content": {
"application/json": {
"examples": {
"invalid_action": {
"summary": "invalid_action",
"value": {
"status": 400,
"code": "invalid_action",
"message": "Invalid action."
}
}
}
}
}
},
"403": {
"description": "`forbidden` : 权限不足。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "Insufficient permissions."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 知识库未找到。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/{document_id}/segments": {
"post": {
"tags": [
"分段"
],
"summary": "向文档添加分段",
"description": "在文档中创建一个或多个分段。每个分段可以包含可选的关键词和答案字段(适用于 QA 模式文档)。",
"operationId": "createSegments",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"segments"
],
"properties": {
"segments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "分段文本内容。"
},
"answer": {
"type": "string",
"description": "QA 模式的回答内容。"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "分段的关键词。"
},
"attachment_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "附件文件 ID。"
}
}
},
"description": "要创建的分段对象数组。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "分段创建成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Segment"
},
"description": "已创建的分段列表。"
},
"doc_form": {
"type": "string",
"description": "该文档使用的分块模式。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": [
{
"id": "f3d1c7be-9f3a-40d8-8eb8-3a1ef9c3f2c1",
"position": 1,
"document_id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"content": "Dify is an open-source LLM app development platform.",
"sign_content": "",
"answer": "",
"word_count": 9,
"tokens": 12,
"keywords": [
"dify",
"platform",
"llm"
],
"index_node_id": "a1b2c3d4-e5f6-7890-abcd-000000000001",
"index_node_hash": "abc123def456",
"hit_count": 0,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"status": "completed",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"updated_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"indexing_at": 1741267200,
"completed_at": 1741267200,
"error": null,
"stopped_at": null,
"child_chunks": [],
"attachments": [],
"summary": null
}
],
"doc_form": "text_model"
}
}
}
}
}
},
"404": {
"description": "`not_found` : 文档未完成或已禁用。",
"content": {
"application/json": {
"examples": {
"not_found_not_completed": {
"summary": "not_found (not completed)",
"value": {
"status": 404,
"code": "not_found",
"message": "Document is not completed."
}
},
"not_found_disabled": {
"summary": "not_found (disabled)",
"value": {
"status": 404,
"code": "not_found",
"message": "Document is disabled."
}
}
}
}
}
}
}
},
"get": {
"tags": [
"分段"
],
"summary": "从文档获取分段",
"description": "返回文档内分段的分页列表。支持按关键词和状态筛选。",
"operationId": "listSegments",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"default": 1
},
"description": "要获取的页码。"
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"default": 20
},
"description": "每页的项目数量。服务器上限为 `100`。"
},
{
"name": "status",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"style": "form",
"explode": true,
"description": "按索引状态筛选分段,例如 `completed`、`indexing`、`error`。"
},
{
"name": "keyword",
"in": "query",
"schema": {
"type": "string"
},
"description": "搜索关键词。"
}
],
"responses": {
"200": {
"description": "分段列表。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Segment"
},
"description": "分段列表。"
},
"doc_form": {
"type": "string",
"description": "该文档使用的分块模式。"
},
"total": {
"type": "integer",
"description": "匹配的分段总数。"
},
"has_more": {
"type": "boolean",
"description": "下一页是否还有更多项目。"
},
"limit": {
"type": "integer",
"description": "每页条目数。"
},
"page": {
"type": "integer",
"description": "当前页码。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": [
{
"id": "f3d1c7be-9f3a-40d8-8eb8-3a1ef9c3f2c1",
"position": 1,
"document_id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"content": "Dify is an open-source LLM app development platform.",
"sign_content": "",
"answer": "",
"word_count": 9,
"tokens": 12,
"keywords": [
"dify",
"platform",
"llm"
],
"index_node_id": "a1b2c3d4-e5f6-7890-abcd-000000000001",
"index_node_hash": "abc123def456",
"hit_count": 0,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"status": "completed",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"updated_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"indexing_at": 1741267200,
"completed_at": 1741267200,
"error": null,
"stopped_at": null,
"child_chunks": [],
"attachments": [],
"summary": null
}
],
"doc_form": "text_model",
"total": 1,
"has_more": false,
"limit": 20,
"page": 1
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}": {
"get": {
"tags": [
"分段"
],
"summary": "获取文档中的分段详情",
"description": "获取指定分段的详细信息,包括内容、关键词和索引状态。",
"operationId": "getSegmentDetail",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "segment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Chunk ID."
}
],
"responses": {
"200": {
"description": "分段详情。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Segment"
},
"doc_form": {
"type": "string",
"description": "该文档使用的分块模式。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": {
"id": "f3d1c7be-9f3a-40d8-8eb8-3a1ef9c3f2c1",
"position": 1,
"document_id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"content": "Dify is an open-source LLM app development platform.",
"sign_content": "",
"answer": "",
"word_count": 9,
"tokens": 12,
"keywords": [
"dify",
"platform",
"llm"
],
"index_node_id": "a1b2c3d4-e5f6-7890-abcd-000000000001",
"index_node_hash": "abc123def456",
"hit_count": 0,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"status": "completed",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"updated_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"indexing_at": 1741267200,
"completed_at": 1741267200,
"error": null,
"stopped_at": null,
"child_chunks": [],
"attachments": [],
"summary": null
},
"doc_form": "text_model"
}
}
}
}
}
}
}
},
"post": {
"tags": [
"分段"
],
"summary": "更新文档中的分段",
"description": "更新分段的内容、关键词或回答。修改后的分段将重新触发索引。",
"operationId": "updateSegment",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "segment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Chunk ID."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"segment"
],
"properties": {
"segment": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "分段文本内容。"
},
"answer": {
"type": "string",
"description": "QA 模式的回答内容。"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "分段的关键词。"
},
"enabled": {
"type": "boolean",
"description": "分段是否已启用。"
},
"regenerate_child_chunks": {
"type": "boolean",
"default": false,
"description": "是否重新生成子分段。"
},
"attachment_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "附件文件 ID。"
},
"summary": {
"type": "string",
"nullable": true,
"description": "摘要索引的摘要内容。"
}
},
"description": "要更新的分段数据。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "分段更新成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Segment"
},
"doc_form": {
"type": "string",
"description": "该文档使用的分块模式。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": {
"id": "f3d1c7be-9f3a-40d8-8eb8-3a1ef9c3f2c1",
"position": 1,
"document_id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"content": "Dify is an open-source LLM app development platform.",
"sign_content": "",
"answer": "",
"word_count": 9,
"tokens": 12,
"keywords": [
"dify",
"platform",
"llm"
],
"index_node_id": "a1b2c3d4-e5f6-7890-abcd-000000000001",
"index_node_hash": "abc123def456",
"hit_count": 0,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"status": "completed",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"updated_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"indexing_at": 1741267200,
"completed_at": 1741267200,
"error": null,
"stopped_at": null,
"child_chunks": [],
"attachments": [],
"summary": null
},
"doc_form": "text_model"
}
}
}
}
}
}
}
},
"delete": {
"tags": [
"分段"
],
"summary": "删除文档中的分段",
"description": "从文档中永久删除一个分段。",
"operationId": "deleteSegment",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "segment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Chunk ID."
}
],
"responses": {
"204": {
"description": "Success."
}
}
}
},
"/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks": {
"post": {
"tags": [
"分段"
],
"summary": "创建子分段",
"description": "在父分段下创建子分段。仅适用于使用 `hierarchical_model` 分块模式的文档。",
"operationId": "createChildChunk",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "segment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Chunk ID."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string",
"description": "子分段文本内容。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "子分段创建成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ChildChunk"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": {
"id": "d7e8f9a0-1b2c-3d4e-5f6a-7b8c9d0e1f2a",
"segment_id": "f3d1c7be-9f3a-40d8-8eb8-3a1ef9c3f2c1",
"content": "Dify is an open-source platform.",
"position": 1,
"word_count": 6,
"type": "automatic",
"created_at": 1741267200,
"updated_at": 1741267200
}
}
}
}
}
}
},
"400": {
"description": "`invalid_param` : 创建子分段索引失败。",
"content": {
"application/json": {
"examples": {
"invalid_param": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Create child chunk index failed: {error details}"
}
}
}
}
}
}
}
},
"get": {
"tags": [
"分段"
],
"summary": "获取子分段",
"description": "返回特定父分段下子分段的分页列表。",
"operationId": "getChildChunks",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "segment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Chunk ID."
},
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"default": 1,
"minimum": 1
},
"description": "要获取的页码。"
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"default": 20,
"minimum": 1
},
"description": "每页的项目数量。服务器上限为 `100`。"
},
{
"name": "keyword",
"in": "query",
"schema": {
"type": "string"
},
"description": "搜索关键词。"
}
],
"responses": {
"200": {
"description": "子分段列表。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChildChunk"
},
"description": "子分段列表。"
},
"total": {
"type": "integer",
"description": "子分段总数。"
},
"total_pages": {
"type": "integer",
"description": "总页数。"
},
"page": {
"type": "integer",
"description": "当前页码。"
},
"limit": {
"type": "integer",
"description": "每页条目数。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": [
{
"id": "d7e8f9a0-1b2c-3d4e-5f6a-7b8c9d0e1f2a",
"segment_id": "f3d1c7be-9f3a-40d8-8eb8-3a1ef9c3f2c1",
"content": "Dify is an open-source platform.",
"position": 1,
"word_count": 6,
"type": "automatic",
"created_at": 1741267200,
"updated_at": 1741267200
}
],
"total": 1,
"total_pages": 1,
"page": 1,
"limit": 20
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}": {
"patch": {
"tags": [
"分段"
],
"summary": "更新子分段",
"description": "更新现有子分段的内容。",
"operationId": "updateChildChunk",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "segment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Chunk ID."
},
{
"name": "child_chunk_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "子分段 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string",
"description": "子分段文本内容。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "子分段更新成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ChildChunk"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": {
"id": "d7e8f9a0-1b2c-3d4e-5f6a-7b8c9d0e1f2a",
"segment_id": "f3d1c7be-9f3a-40d8-8eb8-3a1ef9c3f2c1",
"content": "Dify is an open-source platform.",
"position": 1,
"word_count": 6,
"type": "automatic",
"created_at": 1741267200,
"updated_at": 1741267200
}
}
}
}
}
}
},
"400": {
"description": "`invalid_param` : 更新子分段索引失败。",
"content": {
"application/json": {
"examples": {
"invalid_param": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Create child chunk index failed: {error details}"
}
}
}
}
}
}
}
},
"delete": {
"tags": [
"分段"
],
"summary": "删除子分段",
"description": "从父分段中永久删除一个子分段。",
"operationId": "deleteChildChunk",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "document_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "文档 ID."
},
{
"name": "segment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Chunk ID."
},
{
"name": "child_chunk_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "子分段 ID。"
}
],
"responses": {
"204": {
"description": "Success."
},
"400": {
"description": "`invalid_param` : 删除子分段索引失败。",
"content": {
"application/json": {
"examples": {
"invalid_param": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Delete child chunk index failed: {error details}"
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/retrieve": {
"post": {
"tags": [
"知识库"
],
"summary": "从知识库检索分段 / 测试检索",
"description": "对知识库执行搜索查询,检索最相关的分段。此接口可用于生产环境检索和测试检索。",
"operationId": "retrieveSegments",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 250,
"description": "搜索查询文本。"
},
"retrieval_model": {
"$ref": "#/components/schemas/RetrievalModel",
"description": "检索模型配置。控制查询此知识库时如何搜索和排序分段。"
},
"external_retrieval_model": {
"type": "object",
"description": "外部知识库的检索设置。",
"properties": {
"top_k": {
"type": "integer",
"description": "返回的最大结果数。"
},
"score_threshold": {
"type": "number",
"description": "用于过滤结果的最低相关性分数阈值。"
},
"score_threshold_enabled": {
"type": "boolean",
"description": "是否启用分数阈值过滤。"
}
}
},
"attachment_ids": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "要包含在检索上下文中的附件 ID 列表。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "检索结果。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"query": {
"type": "object",
"description": "原始查询对象。",
"properties": {
"content": {
"type": "string",
"description": "查询文本。"
}
}
},
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"segment": {
"type": "object",
"description": "从知识库中匹配的分段。",
"properties": {
"id": {
"type": "string",
"description": "分段的唯一标识符。"
},
"position": {
"type": "integer",
"description": "分段在文档中的位置。"
},
"document_id": {
"type": "string",
"description": "该分段所属文档的 ID。"
},
"content": {
"type": "string",
"description": "分段的文本内容。"
},
"sign_content": {
"type": "string",
"description": "用于完整性验证的签名内容哈希。"
},
"answer": {
"type": "string",
"description": "回答内容,用于问答模式文档。"
},
"word_count": {
"type": "integer",
"description": "分段内容的字数。"
},
"tokens": {
"type": "integer",
"description": "分段内容的令牌数。"
},
"keywords": {
"type": "array",
"description": "与该分段关联的关键词,用于基于关键词的检索。",
"items": {
"type": "string"
}
},
"index_node_id": {
"type": "string",
"description": "向量存储中索引节点的 ID。"
},
"index_node_hash": {
"type": "string",
"description": "索引内容的哈希值,用于检测变更。"
},
"hit_count": {
"type": "integer",
"description": "该分段在检索查询中被匹配的次数。"
},
"enabled": {
"type": "boolean",
"description": "该分段是否启用检索。"
},
"disabled_at": {
"type": "number",
"nullable": true,
"description": "分段被禁用的时间戳。启用时为 `null`。"
},
"disabled_by": {
"type": "string",
"nullable": true,
"description": "禁用该分段的用户 ID。启用时为 `null`。"
},
"status": {
"type": "string",
"description": "分段的索引状态。"
},
"created_by": {
"type": "string",
"description": "创建该分段的用户 ID。"
},
"created_at": {
"type": "number",
"description": "创建时间戳Unix 纪元,单位为秒)。"
},
"indexing_at": {
"type": "number",
"nullable": true,
"description": "索引开始的时间戳。尚未开始时为 `null`。"
},
"completed_at": {
"type": "number",
"nullable": true,
"description": "索引完成的时间戳。尚未完成时为 `null`。"
},
"error": {
"type": "string",
"nullable": true,
"description": "索引失败时的错误消息。无错误时为 `null`。"
},
"stopped_at": {
"type": "number",
"nullable": true,
"description": "索引停止的时间戳。未停止时为 `null`。"
},
"document": {
"type": "object",
"description": "匹配分段的父文档信息。",
"properties": {
"id": {
"type": "string",
"description": "文档的唯一标识符。"
},
"data_source_type": {
"type": "string",
"description": "文档的创建方式。"
},
"name": {
"type": "string",
"description": "文档名称。"
},
"doc_type": {
"type": "string",
"nullable": true,
"description": "文档类型分类。未设置时为 `null`。"
},
"doc_metadata": {
"type": "object",
"nullable": true,
"description": "文档的元数据值。未配置元数据时为 `null`。"
}
}
}
}
},
"child_chunks": {
"type": "array",
"description": "使用分层索引时,分段内匹配的子分段。",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "子分段的唯一标识符。"
},
"content": {
"type": "string",
"description": "子分段的文本内容。"
},
"position": {
"type": "integer",
"description": "子分段在父分段中的位置。"
},
"score": {
"type": "number",
"description": "子分段的相关性得分。"
}
}
}
},
"score": {
"type": "number",
"description": "相关性得分。"
},
"tsne_position": {
"type": "object",
"nullable": true,
"description": "t-SNE 可视化位置。"
},
"files": {
"type": "array",
"description": "附加到该分段的文件。",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "附件文件标识符。"
},
"name": {
"type": "string",
"description": "原始文件名。"
},
"size": {
"type": "integer",
"description": "文件大小(字节)。"
},
"extension": {
"type": "string",
"description": "文件扩展名。"
},
"mime_type": {
"type": "string",
"description": "文件的 MIME 类型。"
},
"source_url": {
"type": "string",
"description": "访问附件的 URL。"
}
}
}
},
"summary": {
"type": "string",
"nullable": true,
"description": "通过摘要索引检索到的摘要内容。"
}
}
},
"description": "匹配的检索记录列表。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"query": {
"content": "What is Dify?"
},
"records": [
{
"segment": {
"id": "f3d1c7be-9f3a-40d8-8eb8-3a1ef9c3f2c1",
"position": 1,
"document_id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"content": "Dify is an open-source LLM app development platform.",
"sign_content": "",
"answer": "",
"word_count": 9,
"tokens": 12,
"keywords": [
"dify",
"platform",
"llm"
],
"index_node_id": "a1b2c3d4-e5f6-7890-abcd-000000000001",
"index_node_hash": "abc123def456",
"hit_count": 1,
"enabled": true,
"disabled_at": null,
"disabled_by": null,
"status": "completed",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": 1741267200,
"indexing_at": 1741267200,
"completed_at": 1741267200,
"error": null,
"stopped_at": null,
"document": {
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"data_source_type": "upload_file",
"name": "guide.txt",
"doc_type": null,
"doc_metadata": null
}
},
"child_chunks": [],
"score": 0.92,
"tsne_position": null,
"files": [],
"summary": null
}
]
}
}
}
}
}
},
"400": {
"description": "- `dataset_not_initialized` : 知识库仍在初始化或索引中。请稍候。\n- `provider_not_initialize` : 未找到有效的模型提供商凭据。请前往设置 -> 模型提供商完成凭据配置。\n- `provider_quota_exceeded` : Your quota for Dify Hosted OpenAI has been exhausted. Please go to Settings -> Model Provider to complete your own provider credentials.\n- `model_currently_not_support` : Dify Hosted OpenAI trial currently not support the GPT-4 model.\n- `completion_request_error` : Completion request failed.\n- `invalid_param` : Invalid parameter value.",
"content": {
"application/json": {
"examples": {
"dataset_not_initialized": {
"summary": "dataset_not_initialized",
"value": {
"status": 400,
"code": "dataset_not_initialized",
"message": "The dataset is still being initialized or indexing. Please wait a moment."
}
},
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"provider_quota_exceeded": {
"summary": "provider_quota_exceeded",
"value": {
"status": 400,
"code": "provider_quota_exceeded",
"message": "Your quota for Dify Hosted OpenAI has been exhausted. Please go to Settings -> Model Provider to complete your own provider credentials."
}
},
"model_currently_not_support": {
"summary": "model_currently_not_support",
"value": {
"status": 400,
"code": "model_currently_not_support",
"message": "Dify Hosted OpenAI trial currently not support the GPT-4 model."
}
},
"completion_request_error": {
"summary": "completion_request_error",
"value": {
"status": 400,
"code": "completion_request_error",
"message": "Completion request failed."
}
},
"invalid_param": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Invalid parameter value."
}
}
}
}
}
},
"403": {
"description": "`forbidden` : 权限不足。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "Insufficient permissions."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 知识库未找到。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
},
"500": {
"description": "`internal_server_error` : 检索过程中发生内部错误。",
"content": {
"application/json": {
"examples": {
"internal_server_error": {
"summary": "internal_server_error",
"value": {
"status": 500,
"code": "internal_server_error",
"message": "An internal error occurred."
}
}
}
}
}
}
}
}
},
"/datasets/tags": {
"post": {
"tags": [
"标签"
],
"summary": "创建知识库标签",
"description": "创建新标签以组织知识库。",
"operationId": "createKnowledgeTag",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50,
"description": "Tag name."
}
}
}
}
}
},
"responses": {
"200": {
"description": "标签创建成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "标签标识符。"
},
"name": {
"type": "string",
"description": "标签显示名称。"
},
"type": {
"type": "string",
"description": "标签类型。知识库标签始终为 `knowledge`。"
},
"binding_count": {
"type": "string",
"nullable": true,
"description": "绑定到该标签的知识库数量。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "f4b5c6d7-e8f9-0a1b-2c3d-4e5f6a7b8c9d",
"name": "Product Docs",
"type": "knowledge",
"binding_count": "0"
}
}
}
}
}
}
}
},
"get": {
"tags": [
"标签"
],
"summary": "获取知识库标签列表",
"description": "返回工作区中所有知识库标签的列表。",
"operationId": "getKnowledgeTags",
"responses": {
"200": {
"description": "标签列表。",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "标签标识符。"
},
"name": {
"type": "string",
"description": "标签显示名称。"
},
"type": {
"type": "string",
"description": "标签类型。知识库标签始终为 `knowledge`。"
},
"binding_count": {
"type": "string",
"nullable": true,
"description": "绑定到该标签的知识库数量。"
}
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": [
{
"id": "f4b5c6d7-e8f9-0a1b-2c3d-4e5f6a7b8c9d",
"name": "Product Docs",
"type": "knowledge",
"binding_count": "0"
}
]
}
}
}
}
}
}
},
"patch": {
"tags": [
"标签"
],
"summary": "修改知识库标签",
"description": "重命名现有的知识库标签。",
"operationId": "updateKnowledgeTag",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tag_id",
"name"
],
"properties": {
"tag_id": {
"type": "string",
"description": "要更新的标签 ID。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50,
"description": "新标签名称。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "标签更新成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "标签标识符。"
},
"name": {
"type": "string",
"description": "标签显示名称。"
},
"type": {
"type": "string",
"description": "标签类型。知识库标签始终为 `knowledge`。"
},
"binding_count": {
"type": "string",
"nullable": true,
"description": "绑定到该标签的知识库数量。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "f4b5c6d7-e8f9-0a1b-2c3d-4e5f6a7b8c9d",
"name": "Product Docs",
"type": "knowledge",
"binding_count": "0"
}
}
}
}
}
}
}
},
"delete": {
"tags": [
"标签"
],
"summary": "删除知识库标签",
"description": "永久删除知识库标签。不会删除已被标记的知识库。",
"operationId": "deleteKnowledgeTag",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tag_id"
],
"properties": {
"tag_id": {
"type": "string",
"description": "要删除的标签 ID。"
}
}
}
}
}
},
"responses": {
"204": {
"description": "Success."
}
}
}
},
"/datasets/tags/binding": {
"post": {
"tags": [
"标签"
],
"summary": "绑定标签到知识库",
"description": "将一个或多个标签绑定到知识库。一个知识库可以有多个标签。",
"operationId": "bindTagsToDataset",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tag_ids",
"target_id"
],
"properties": {
"tag_ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "要绑定的标签 ID。"
},
"target_id": {
"type": "string",
"description": "知识库 ID。"
}
}
}
}
}
},
"responses": {
"204": {
"description": "Success."
}
}
}
},
"/datasets/tags/unbinding": {
"post": {
"tags": [
"标签"
],
"summary": "解除标签与知识库的绑定",
"description": "移除知识库的标签绑定。",
"operationId": "unbindTagFromDataset",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tag_id",
"target_id"
],
"properties": {
"tag_id": {
"type": "string",
"description": "要解绑的标签 ID。"
},
"target_id": {
"type": "string",
"description": "知识库 ID。"
}
}
}
}
}
},
"responses": {
"204": {
"description": "Success."
}
}
}
},
"/datasets/{dataset_id}/tags": {
"get": {
"tags": [
"标签"
],
"summary": "获取知识库绑定的标签",
"description": "返回绑定到特定知识库的标签列表。",
"operationId": "queryDatasetTags",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"responses": {
"200": {
"description": "绑定到知识库的标签。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "标签标识符。"
},
"name": {
"type": "string",
"description": "标签显示名称。"
}
}
},
"description": "绑定到此知识库的标签列表。"
},
"total": {
"type": "integer",
"description": "绑定到该知识库的标签总数。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": [
{
"id": "f4b5c6d7-e8f9-0a1b-2c3d-4e5f6a7b8c9d",
"name": "Product Docs"
}
],
"total": 1
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/metadata": {
"post": {
"tags": [
"元数据"
],
"summary": "创建元数据字段",
"description": "为知识库创建自定义元数据字段。元数据字段可用于为文档添加结构化信息标注。",
"operationId": "createMetadataFieldZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"type",
"name"
],
"properties": {
"type": {
"type": "string",
"enum": [
"string",
"number",
"time"
],
"description": "`string` 为文本值,`number` 为数值,`time` 为日期/时间值。"
},
"name": {
"type": "string",
"description": "元数据字段名称。"
}
}
}
}
}
},
"responses": {
"201": {
"description": "元数据字段创建成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "元数据字段标识符。"
},
"name": {
"type": "string",
"description": "元数据字段名称。"
},
"type": {
"type": "string",
"description": "元数据字段类型。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "b5c6d7e8-f9a0-1b2c-3d4e-5f6a7b8c9d0e",
"name": "author",
"type": "string"
}
}
}
}
}
}
}
},
"get": {
"tags": [
"元数据"
],
"summary": "获取元数据字段列表",
"description": "返回知识库的所有元数据字段列表(包括自定义和内置字段),以及使用每个字段的文档数量。",
"operationId": "listMetadataFieldsZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"responses": {
"200": {
"description": "知识库的元数据字段。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"doc_metadata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "元数据字段标识符。"
},
"name": {
"type": "string",
"description": "元数据字段名称。"
},
"type": {
"type": "string",
"description": "元数据字段类型。"
},
"count": {
"type": "integer",
"description": "使用该元数据字段的文档数量。"
}
}
},
"description": "元数据字段定义列表。"
},
"built_in_field_enabled": {
"type": "boolean",
"description": "该知识库是否启用了内置元数据字段。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"doc_metadata": [
{
"id": "b5c6d7e8-f9a0-1b2c-3d4e-5f6a7b8c9d0e",
"name": "author",
"type": "string",
"count": 3
}
],
"built_in_field_enabled": true
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/metadata/{metadata_id}": {
"patch": {
"tags": [
"元数据"
],
"summary": "更新元数据字段",
"description": "重命名自定义元数据字段。",
"operationId": "updateMetadataFieldZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "metadata_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "元数据字段 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "新元数据字段名称。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "元数据字段更新成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "元数据字段标识符。"
},
"name": {
"type": "string",
"description": "元数据字段名称。"
},
"type": {
"type": "string",
"description": "元数据字段类型。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "b5c6d7e8-f9a0-1b2c-3d4e-5f6a7b8c9d0e",
"name": "author",
"type": "string"
}
}
}
}
}
}
}
},
"delete": {
"tags": [
"元数据"
],
"summary": "删除元数据字段",
"description": "永久删除自定义元数据字段。使用此字段的文档将丢失其对应的元数据值。",
"operationId": "deleteMetadataFieldZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "metadata_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "元数据字段 ID。"
}
],
"responses": {
"204": {
"description": "Success."
}
}
}
},
"/datasets/{dataset_id}/metadata/built-in": {
"get": {
"tags": [
"元数据"
],
"summary": "获取内置元数据字段",
"description": "返回系统提供的内置元数据字段列表(例如文档类型、来源 URL。",
"operationId": "getBuiltInMetadataFieldsZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"responses": {
"200": {
"description": "内置元数据字段。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"fields": {
"type": "array",
"description": "系统提供的元数据字段列表。",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "内置字段标识符。`document_name` 表示文档标题,`uploader` 表示创建者,`upload_date` 表示创建时间,`last_update_date` 表示最后修改时间,`source` 表示文档来源。"
},
"type": {
"type": "string",
"description": "字段数据类型。文本值为 `string`,日期/时间值为 `time`。"
}
}
}
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"fields": [
{
"name": "document_name",
"type": "string"
},
{
"name": "uploader",
"type": "string"
},
{
"name": "upload_date",
"type": "time"
},
{
"name": "last_update_date",
"type": "time"
},
{
"name": "source",
"type": "string"
}
]
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/metadata/built-in/{action}": {
"post": {
"tags": [
"元数据"
],
"summary": "更新内置元数据字段",
"description": "启用或禁用知识库的内置元数据字段。",
"operationId": "toggleBuiltInMetadataFieldZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "action",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"enable",
"disable"
]
},
"description": "`enable` 启用内置元数据字段,`disable` 停用内置元数据字段。"
}
],
"responses": {
"200": {
"description": "内置元数据字段切换成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"result": {
"type": "string",
"description": "操作结果。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"result": "success"
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/documents/metadata": {
"post": {
"tags": [
"元数据"
],
"summary": "批量更新文档元数据",
"description": "批量更新多个文档的元数据值。请求中的每个文档将接收指定的元数据键值对。",
"operationId": "batchUpdateDocumentMetadataZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"operation_data"
],
"properties": {
"operation_data": {
"type": "array",
"items": {
"type": "object",
"required": [
"document_id",
"metadata_list"
],
"properties": {
"document_id": {
"type": "string",
"description": "要更新元数据的文档 ID。"
},
"metadata_list": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"description": "元数据字段 ID。"
},
"name": {
"type": "string",
"description": "元数据字段名称。"
},
"value": {
"description": "元数据值。可以是字符串、数字或 `null`。"
}
}
}
},
"partial_update": {
"type": "boolean",
"default": false,
"description": "是否部分更新元数据,保留未指定字段的现有值。"
}
}
},
"description": "文档元数据更新操作数组。每个条目将一个文档 ID 映射到其元数据键值对。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "文档元数据更新成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"result": {
"type": "string",
"description": "操作结果。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"result": "success"
}
}
}
}
}
}
}
}
},
"/workspaces/current/models/model-types/{model_type}": {
"get": {
"tags": [
"模型"
],
"summary": "获取可用模型",
"description": "按类型获取可用模型列表。主要用于查询知识库配置所需的 `text-embedding` 和 `rerank` 模型。",
"operationId": "getAvailableModelsZh",
"parameters": [
{
"name": "model_type",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"text-embedding",
"rerank",
"llm",
"tts",
"speech2text",
"moderation"
]
},
"description": "要获取的模型类型。对于知识库配置,使用 `text-embedding` 获取嵌入模型,使用 `rerank` 获取重排序模型。"
}
],
"responses": {
"200": {
"description": "指定类型的可用模型。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"description": "模型提供商及其可用模型的列表。",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "模型提供商标识符,例如 `openai`、`cohere`。"
},
"label": {
"type": "object",
"description": "提供商的本地化显示名称。",
"properties": {
"en_US": {
"type": "string",
"description": "英文显示名称。"
},
"zh_Hans": {
"type": "string",
"description": "中文显示名称。"
}
}
},
"icon_small": {
"type": "object",
"description": "提供商小图标的 URL。",
"properties": {
"en_US": {
"type": "string",
"description": "小图标 URL。"
}
}
},
"icon_large": {
"type": "object",
"description": "提供商大图标的 URL。",
"properties": {
"en_US": {
"type": "string",
"description": "大图标 URL。"
}
}
},
"status": {
"type": "string",
"description": "提供商状态。凭证已配置且有效时为 `active`。"
},
"models": {
"type": "array",
"description": "该提供商的可用模型列表。",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "模型标识符。创建或更新知识库时,将此值作为 `embedding_model` 参数使用。"
},
"label": {
"type": "object",
"description": "模型的本地化显示名称。",
"properties": {
"en_US": {
"type": "string",
"description": "英文模型名称。"
},
"zh_Hans": {
"type": "string",
"description": "中文模型名称。"
}
}
},
"model_type": {
"type": "string",
"description": "模型类型,与 `model_type` 路径参数匹配。"
},
"features": {
"type": "array",
"nullable": true,
"description": "模型支持的功能,无功能时为 `null`。",
"items": {
"type": "string"
}
},
"fetch_from": {
"type": "string",
"description": "模型定义的来源。`predefined-model` 表示内置模型,`customizable-model` 表示用户自配置的模型。"
},
"model_properties": {
"type": "object",
"description": "模型特定的属性,例如 `context_size`。"
},
"status": {
"type": "string",
"description": "模型可用状态。就绪时为 `active`。"
}
}
}
}
}
}
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"data": [
{
"provider": "openai",
"label": {
"en_US": "OpenAI",
"zh_Hans": "OpenAI"
},
"icon_small": {
"en_US": "https://example.com/openai-small.svg"
},
"icon_large": {
"en_US": "https://example.com/openai-large.svg"
},
"status": "active",
"models": [
{
"model": "text-embedding-3-small",
"label": {
"en_US": "text-embedding-3-small",
"zh_Hans": "text-embedding-3-small"
},
"model_type": "text-embedding",
"features": null,
"fetch_from": "predefined-model",
"model_properties": {
"context_size": 8191
},
"status": "active"
}
]
}
]
}
}
}
}
}
}
}
}
},
"/datasets/pipeline/file-upload": {
"post": {
"tags": [
"知识流水线"
],
"summary": "上传流水线文件",
"description": "上传文件以在知识流水线中使用。通过 `multipart/form-data` 接受单个文件。",
"operationId": "uploadPipelineFileZh",
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "要上传的文件。"
}
}
}
}
}
},
"responses": {
"201": {
"description": "文件上传成功。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "已上传文件的唯一标识符。"
},
"name": {
"type": "string",
"description": "原始文件名。"
},
"size": {
"type": "integer",
"description": "文件大小(字节)。"
},
"extension": {
"type": "string",
"description": "文件扩展名。"
},
"mime_type": {
"type": "string",
"description": "文件的 MIME 类型。"
},
"created_by": {
"type": "string",
"description": "上传文件的用户 ID。"
},
"created_at": {
"type": "string",
"description": "上传时间戳ISO 8601 格式)。"
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "report.pdf",
"size": 524288,
"extension": "pdf",
"mime_type": "application/pdf",
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"created_at": "2025-03-06T12:00:00"
}
}
}
}
}
},
"400": {
"description": "- `no_file_uploaded` : 请上传文件。\n- `filename_not_exists_error` : 指定的文件名不存在。\n- `too_many_files` : 仅允许上传一个文件。",
"content": {
"application/json": {
"examples": {
"no_file_uploaded": {
"summary": "no_file_uploaded",
"value": {
"status": 400,
"code": "no_file_uploaded",
"message": "Please upload your file."
}
},
"filename_not_exists_error": {
"summary": "filename_not_exists_error",
"value": {
"status": 400,
"code": "filename_not_exists_error",
"message": "The specified filename does not exist."
}
},
"too_many_files": {
"summary": "too_many_files",
"value": {
"status": 400,
"code": "too_many_files",
"message": "Only one file is allowed."
}
}
}
}
}
},
"413": {
"description": "`file_too_large` : 文件大小超出限制。",
"content": {
"application/json": {
"examples": {
"file_too_large": {
"summary": "file_too_large",
"value": {
"status": 413,
"code": "file_too_large",
"message": "File size exceeded."
}
}
}
}
}
},
"415": {
"description": "`unsupported_file_type` : 不允许的文件类型。",
"content": {
"application/json": {
"examples": {
"unsupported_file_type": {
"summary": "unsupported_file_type",
"value": {
"status": 415,
"code": "unsupported_file_type",
"message": "File type not allowed."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/pipeline/datasource-plugins": {
"get": {
"tags": [
"知识流水线"
],
"summary": "获取数据源插件列表",
"description": "列出知识流水线可用的所有数据源插件。根据 `is_published` 查询参数返回已发布或草稿状态的插件。",
"operationId": "listDatasourcePluginsZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "is_published",
"in": "query",
"schema": {
"type": "boolean",
"default": true
},
"description": "获取已发布还是草稿状态的数据源插件。`true` 返回已发布的插件,`false` 返回草稿插件。"
}
],
"responses": {
"200": {
"description": "数据源插件列表。",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "数据源插件的唯一标识符。"
},
"name": {
"type": "string",
"description": "数据源插件的显示名称。"
},
"type": {
"type": "string",
"description": "数据源插件类型。"
}
}
}
},
"examples": {
"success": {
"summary": "响应示例",
"value": [
{
"id": "b1c2d3e4-f5a6-7890-abcd-ef1234567890",
"name": "Web Scraper",
"type": "online_document"
}
]
}
}
}
}
},
"404": {
"description": "`not_found` : 未找到知识库。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/pipeline/datasource/nodes/{node_id}/run": {
"post": {
"tags": [
"知识流水线"
],
"summary": "执行数据源节点",
"description": "在知识流水线中执行单个数据源节点。返回包含节点执行结果的流式响应。",
"operationId": "runDatasourceNodeZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
},
{
"name": "node_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "要执行的数据源节点 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"inputs",
"datasource_type",
"is_published"
],
"properties": {
"inputs": {
"type": "object",
"additionalProperties": true,
"description": "数据源节点的输入变量。"
},
"datasource_type": {
"type": "string",
"enum": [
"online_document",
"local_file",
"website_crawl",
"online_drive"
],
"description": "数据源类型。"
},
"credential_id": {
"type": "string",
"nullable": true,
"description": "用于数据源认证的凭证 ID。"
},
"is_published": {
"type": "boolean",
"description": "运行节点的已发布版本还是草稿版本。`true` 运行已发布版本,`false` 运行草稿版本。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "包含节点执行事件的流式响应。",
"content": {
"text/event-stream": {
"schema": {
"type": "string",
"description": "包含节点执行进度和结果的 Server-Sent Events 流。"
}
}
}
},
"404": {
"description": "`not_found` : 未找到知识库。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
}
}
}
},
"/datasets/{dataset_id}/pipeline/run": {
"post": {
"tags": [
"知识流水线"
],
"summary": "运行流水线",
"description": "为知识库执行完整的知识流水线。支持流式和阻塞两种响应模式。",
"operationId": "runPipelineZh",
"parameters": [
{
"name": "dataset_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "知识库 ID。"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"inputs",
"datasource_type",
"datasource_info_list",
"start_node_id",
"is_published",
"response_mode"
],
"properties": {
"inputs": {
"type": "object",
"additionalProperties": true,
"description": "流水线的输入变量。"
},
"datasource_type": {
"type": "string",
"enum": [
"online_document",
"local_file",
"website_crawl",
"online_drive"
],
"description": "数据源类型。"
},
"datasource_info_list": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "供流水线处理的数据源信息对象列表。"
},
"start_node_id": {
"type": "string",
"description": "流水线开始执行的节点 ID。"
},
"is_published": {
"type": "boolean",
"description": "运行流水线的已发布版本还是草稿版本。`true` 运行已发布版本,`false` 运行草稿版本。"
},
"response_mode": {
"type": "string",
"enum": [
"streaming",
"blocking"
],
"description": "流水线执行的响应模式。`streaming` 返回服务器发送事件流,`blocking` 等待并返回完整结果。"
}
}
}
}
}
},
"responses": {
"200": {
"description": "流水线执行结果。格式取决于 `response_mode`:流式返回 `text/event-stream`,阻塞返回完整的 JSON 结果。",
"content": {
"text/event-stream": {
"schema": {
"type": "string",
"description": "包含流水线执行进度和结果的服务器发送事件流。当 `response_mode` 为 `streaming` 时返回。"
}
},
"application/json": {
"schema": {
"type": "object",
"description": "完整的流水线执行结果。当 `response_mode` 为 `blocking` 时返回。",
"additionalProperties": true
},
"examples": {
"success": {
"summary": "Blocking Response Example",
"value": {
"task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"workflow_run_id": "f1e2d3c4-b5a6-7890-abcd-ef0987654321",
"data": {
"id": "f1e2d3c4-b5a6-7890-abcd-ef0987654321",
"status": "succeeded",
"outputs": {},
"created_at": 1741267200,
"finished_at": 1741267210
}
}
}
}
}
}
},
"403": {
"description": "`forbidden` : 禁止访问。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "Forbidden."
}
}
}
}
}
},
"404": {
"description": "`not_found` : 未找到知识库。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Dataset not found."
}
}
}
}
}
},
"500": {
"description": "`pipeline_run_error` : 流水线执行失败。",
"content": {
"application/json": {
"examples": {
"pipeline_run_error": {
"summary": "pipeline_run_error",
"value": {
"status": 500,
"code": "pipeline_run_error",
"message": "Pipeline execution failed: connection timeout"
}
}
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Dataset": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "知识库的唯一标识符。"
},
"name": {
"type": "string",
"description": "知识库的显示名称。在工作区内唯一。"
},
"description": {
"type": "string",
"description": "描述知识库用途或内容的可选文本。"
},
"provider": {
"type": "string",
"description": "提供商类型。内部管理为 `vendor`,外部知识库连接为 `external`。"
},
"permission": {
"type": "string",
"description": "控制谁可以访问此知识库。可选值:`only_me`、`all_team_members`、`partial_members`。"
},
"data_source_type": {
"type": "string",
"description": "文档的数据源类型,尚未配置时为 `null`。"
},
"indexing_technique": {
"type": "string",
"description": "`high_quality` 使用嵌入模型进行精确搜索;`economy` 使用基于关键词的索引。"
},
"app_count": {
"type": "integer",
"description": "当前使用该知识库的应用数量。"
},
"document_count": {
"type": "integer",
"description": "知识库中的文档总数。"
},
"word_count": {
"type": "integer",
"description": "所有文档的总字数。"
},
"created_by": {
"type": "string",
"description": "创建该知识库的用户 ID。"
},
"author_name": {
"type": "string",
"description": "创建者的显示名称。"
},
"created_at": {
"type": "number",
"description": "创建时间戳Unix 纪元,单位为秒)。"
},
"updated_by": {
"type": "string",
"description": "最后更新该知识库的用户 ID。"
},
"updated_at": {
"type": "number",
"description": "最后更新时间戳Unix 纪元,单位为秒)。"
},
"embedding_model": {
"type": "string",
"description": "用于索引的嵌入模型名称。"
},
"embedding_model_provider": {
"type": "string",
"description": "嵌入模型供应商。使用 [获取可用模型](/api-reference/模型/获取可用模型) 中 `model_type=text-embedding` 返回的 `provider` 字段值。"
},
"embedding_available": {
"type": "boolean",
"description": "配置的嵌入模型当前是否可用。"
},
"retrieval_model_dict": {
"type": "object",
"description": "知识库的检索配置。",
"properties": {
"search_method": {
"type": "string",
"description": "用于检索的搜索方式。`keyword_search` 表示关键词匹配,`semantic_search` 表示基于嵌入的语义相似度,`full_text_search` 表示全文索引,`hybrid_search` 表示语义和关键词混合搜索。"
},
"reranking_enable": {
"type": "boolean",
"description": "是否启用重排序。"
},
"reranking_mode": {
"type": "string",
"nullable": true,
"description": "重排序模式。`reranking_model` 表示基于模型的重排序,`weighted_score` 表示基于分数的加权。重排序禁用时为 `null`。"
},
"reranking_model": {
"type": "object",
"description": "重排序模型配置。",
"properties": {
"reranking_provider_name": {
"type": "string",
"description": "重排序模型的提供商名称。"
},
"reranking_model_name": {
"type": "string",
"description": "重排序模型名称。"
}
}
},
"weights": {
"type": "object",
"nullable": true,
"description": "混合搜索的权重配置。",
"properties": {
"weight_type": {
"type": "string",
"description": "平衡语义搜索和关键词搜索权重的策略。"
},
"vector_setting": {
"type": "object",
"description": "语义搜索权重设置。",
"properties": {
"vector_weight": {
"type": "number",
"description": "分配给语义(向量)搜索结果的权重。"
},
"embedding_provider_name": {
"type": "string",
"description": "用于向量搜索的嵌入模型提供商。"
},
"embedding_model_name": {
"type": "string",
"description": "用于向量搜索的嵌入模型名称。"
}
}
},
"keyword_setting": {
"type": "object",
"description": "关键词搜索权重设置。",
"properties": {
"keyword_weight": {
"type": "number",
"description": "分配给关键词搜索结果的权重。"
}
}
}
}
},
"top_k": {
"type": "integer",
"description": "返回的最大结果数。"
},
"score_threshold_enabled": {
"type": "boolean",
"description": "是否启用分数阈值过滤。"
},
"score_threshold": {
"type": "number",
"description": "结果的最低相关性分数。仅在 `score_threshold_enabled` 为 `true` 时生效。"
}
}
},
"summary_index_setting": {
"type": "object",
"nullable": true,
"description": "摘要索引配置。",
"properties": {
"enable": {
"type": "boolean",
"description": "是否已启用摘要索引。"
},
"model_name": {
"type": "string",
"description": "用于生成摘要的模型名称。"
},
"model_provider_name": {
"type": "string",
"description": "摘要生成模型的提供商。"
},
"summary_prompt": {
"type": "string",
"description": "用于摘要生成的提示词模板。"
}
}
},
"tags": {
"type": "array",
"description": "与该知识库关联的标签。",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "标签标识符。"
},
"name": {
"type": "string",
"description": "Tag name."
},
"type": {
"type": "string",
"description": "标签类型。知识库标签始终为 `knowledge`。"
}
}
}
},
"doc_form": {
"type": "string",
"description": "文档分块模式。`text_model` 表示标准文本分块,`hierarchical_model` 表示父子结构,`qa_model` 表示问答对提取。"
},
"external_knowledge_info": {
"type": "object",
"nullable": true,
"description": "外部知识库的连接详情。当 `provider` 为 `external` 时存在。",
"properties": {
"external_knowledge_id": {
"type": "string",
"description": "外部知识库的 ID。"
},
"external_knowledge_api_id": {
"type": "string",
"description": "外部知识库 API 连接的 ID。"
},
"external_knowledge_api_name": {
"type": "string",
"description": "外部知识库 API 的显示名称。"
},
"external_knowledge_api_endpoint": {
"type": "string",
"description": "外部知识库 API 的端点 URL。"
}
}
},
"external_retrieval_model": {
"type": "object",
"nullable": true,
"description": "外部知识库的检索设置。内部知识库时为 `null`。",
"properties": {
"top_k": {
"type": "integer",
"description": "从外部知识库返回的最大结果数量。"
},
"score_threshold": {
"type": "number",
"description": "最低相关性得分阈值。"
},
"score_threshold_enabled": {
"type": "boolean",
"description": "是否启用分数阈值过滤。"
}
}
},
"doc_metadata": {
"type": "array",
"description": "知识库的元数据字段定义。",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "元数据字段标识符。"
},
"name": {
"type": "string",
"description": "元数据字段名称。"
},
"type": {
"type": "string",
"description": "元数据字段值类型。"
}
}
}
},
"built_in_field_enabled": {
"type": "boolean",
"description": "是否启用内置元数据字段(例如 `document_name`、`uploader`)。"
},
"pipeline_id": {
"type": "string",
"nullable": true,
"description": "自定义处理流水线的 ID如果已配置。"
},
"runtime_mode": {
"type": "string",
"nullable": true,
"description": "运行时处理模式。"
},
"chunk_structure": {
"type": "string",
"nullable": true,
"description": "分段结构配置。"
},
"icon_info": {
"type": "object",
"nullable": true,
"description": "知识库的图标显示配置。",
"properties": {
"icon_type": {
"type": "string",
"description": "图标类型。"
},
"icon": {
"type": "string",
"description": "图标标识符或表情符号。"
},
"icon_background": {
"type": "string",
"description": "图标的背景颜色。"
},
"icon_url": {
"type": "string",
"description": "自定义图标图片的 URL。"
}
}
},
"is_published": {
"type": "boolean",
"description": "知识库是否已发布。"
},
"total_documents": {
"type": "integer",
"description": "文档总数。"
},
"total_available_documents": {
"type": "integer",
"description": "已启用且可用的文档数量。"
},
"enable_api": {
"type": "boolean",
"description": "该知识库是否启用 API 访问。"
},
"is_multimodal": {
"type": "boolean",
"description": "是否启用多模态内容处理。"
}
}
},
"Document": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "文档的唯一标识符。"
},
"position": {
"type": "integer",
"description": "文档在列表中的显示位置。"
},
"data_source_type": {
"type": "string",
"description": "文档的创建方式。文件上传为 `upload_file`Notion 导入为 `notion_import`。"
},
"data_source_info": {
"type": "object",
"description": "原始数据源信息,随 `data_source_type` 而异。"
},
"data_source_detail_dict": {
"type": "object",
"description": "详细的数据源信息,包括文件详情。"
},
"dataset_process_rule_id": {
"type": "string",
"description": "应用于该文档的处理规则 ID。"
},
"name": {
"type": "string",
"description": "文档名称。"
},
"created_from": {
"type": "string",
"description": "文档来源。通过 API 创建时为 `api`,通过 UI 创建时为 `web`。"
},
"created_by": {
"type": "string",
"description": "创建该文档的用户 ID。"
},
"created_at": {
"type": "number",
"description": "创建时间戳Unix 纪元,单位为秒)。"
},
"tokens": {
"type": "integer",
"description": "文档中的令牌总数。"
},
"indexing_status": {
"type": "string",
"description": "当前索引状态。`waiting` 表示排队中,`parsing` 表示正在提取内容,`cleaning` 表示正在去噪,`splitting` 表示正在分块,`indexing` 表示正在构建向量,`completed` 表示就绪,`error` 表示失败,`paused` 表示手动暂停。"
},
"error": {
"type": "string",
"nullable": true,
"description": "索引失败时的错误消息。无错误时为 `null`。"
},
"enabled": {
"type": "boolean",
"description": "该文档是否启用检索。"
},
"disabled_at": {
"type": "number",
"nullable": true,
"description": "文档被禁用的时间戳。启用时为 `null`。"
},
"disabled_by": {
"type": "string",
"nullable": true,
"description": "禁用该文档的用户 ID。启用时为 `null`。"
},
"archived": {
"type": "boolean",
"description": "文档是否已归档。"
},
"display_status": {
"type": "string",
"description": "基于 `indexing_status` 和 `enabled` 状态派生的面向用户的显示状态。"
},
"word_count": {
"type": "integer",
"description": "文档的总字数。"
},
"hit_count": {
"type": "integer",
"description": "该文档在检索查询中被匹配的次数。"
},
"doc_form": {
"type": "string",
"description": "文档分块模式。`text_model` 表示标准文本分块,`hierarchical_model` 表示父子结构,`qa_model` 表示问答对提取。"
},
"doc_metadata": {
"type": "array",
"description": "分配给该文档的元数据值。",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "元数据字段标识符。"
},
"name": {
"type": "string",
"description": "元数据字段名称。"
},
"type": {
"type": "string",
"description": "元数据字段值类型。"
},
"value": {
"type": "string",
"description": "此文档的元数据值。"
}
}
}
},
"summary_index_status": {
"type": "string",
"nullable": true,
"description": "该文档的摘要索引状态。未配置摘要索引时为 `null`。"
},
"need_summary": {
"type": "boolean",
"description": "是否需要为该文档生成摘要。"
}
}
},
"Segment": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "分段的唯一标识符。"
},
"position": {
"type": "integer",
"description": "分段在文档中的位置。"
},
"document_id": {
"type": "string",
"description": "该分段所属文档的 ID。"
},
"content": {
"type": "string",
"description": "分段的文本内容。"
},
"sign_content": {
"type": "string",
"description": "用于完整性验证的签名内容哈希。"
},
"answer": {
"type": "string",
"description": "回答内容,用于问答模式文档。"
},
"word_count": {
"type": "integer",
"description": "分段内容的字数。"
},
"tokens": {
"type": "integer",
"description": "分段内容的令牌数。"
},
"keywords": {
"type": "array",
"description": "与该分段关联的关键词,用于基于关键词的检索。",
"items": {
"type": "string"
}
},
"index_node_id": {
"type": "string",
"description": "向量存储中索引节点的 ID。"
},
"index_node_hash": {
"type": "string",
"description": "索引内容的哈希值,用于检测变更。"
},
"hit_count": {
"type": "integer",
"description": "该分段在检索查询中被匹配的次数。"
},
"enabled": {
"type": "boolean",
"description": "该分段是否启用检索。"
},
"disabled_at": {
"type": "number",
"nullable": true,
"description": "分段被禁用的时间戳。启用时为 `null`。"
},
"disabled_by": {
"type": "string",
"nullable": true,
"description": "禁用该分段的用户 ID。启用时为 `null`。"
},
"status": {
"type": "string",
"description": "分段的当前索引状态,例如 `completed`、`indexing`、`error`。"
},
"created_by": {
"type": "string",
"description": "创建该分段的用户 ID。"
},
"created_at": {
"type": "number",
"description": "创建时间戳Unix 纪元,单位为秒)。"
},
"updated_at": {
"type": "number",
"description": "最后更新时间戳Unix 纪元,单位为秒)。"
},
"updated_by": {
"type": "string",
"description": "最后更新该分段的用户 ID。"
},
"indexing_at": {
"type": "number",
"nullable": true,
"description": "索引开始的时间戳。尚未开始时为 `null`。"
},
"completed_at": {
"type": "number",
"nullable": true,
"description": "索引完成的时间戳。尚未完成时为 `null`。"
},
"error": {
"type": "string",
"nullable": true,
"description": "索引失败时的错误消息。无错误时为 `null`。"
},
"stopped_at": {
"type": "number",
"nullable": true,
"description": "索引停止的时间戳。未停止时为 `null`。"
},
"child_chunks": {
"type": "array",
"description": "属于该分段的子分段。仅在分层模式文档中存在。",
"items": {
"$ref": "#/components/schemas/ChildChunk"
}
},
"attachments": {
"type": "array",
"description": "附加到该分段的文件。",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "附件文件标识符。"
},
"name": {
"type": "string",
"description": "原始文件名。"
},
"size": {
"type": "integer",
"description": "文件大小(字节)。"
},
"extension": {
"type": "string",
"description": "文件扩展名。"
},
"mime_type": {
"type": "string",
"description": "文件的 MIME 类型。"
},
"source_url": {
"type": "string",
"description": "访问附件的 URL。"
}
}
}
},
"summary": {
"type": "string",
"nullable": true,
"description": "AI 生成的分段内容摘要。未启用摘要索引时为 `null`。"
}
}
},
"ChildChunk": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "子分段的唯一标识符。"
},
"segment_id": {
"type": "string",
"description": "该子分段所属的父分段 ID。"
},
"content": {
"type": "string",
"description": "子分段的文本内容。"
},
"position": {
"type": "integer",
"description": "子分段在父分段中的位置。"
},
"word_count": {
"type": "integer",
"description": "子分段内容的字数。"
},
"type": {
"type": "string",
"description": "子分段的创建方式。系统生成为 `automatic`,手动创建为 `custom`。"
},
"created_at": {
"type": "number",
"description": "创建时间戳Unix 纪元,单位为秒)。"
},
"updated_at": {
"type": "number",
"description": "最后更新时间戳Unix 纪元,单位为秒)。"
}
}
},
"RetrievalModel": {
"type": "object",
"required": [
"search_method",
"reranking_enable",
"top_k",
"score_threshold_enabled"
],
"properties": {
"search_method": {
"type": "string",
"description": "用于检索的搜索方法。",
"enum": [
"keyword_search",
"semantic_search",
"full_text_search",
"hybrid_search"
]
},
"reranking_enable": {
"type": "boolean",
"description": "是否启用重排序。"
},
"reranking_model": {
"type": "object",
"description": "重排序模型配置。",
"properties": {
"reranking_provider_name": {
"type": "string",
"description": "重排序模型的提供商名称。"
},
"reranking_model_name": {
"type": "string",
"description": "重排序模型名称。"
}
}
},
"reranking_mode": {
"type": "string",
"enum": [
"reranking_model",
"weighted_score"
],
"nullable": true,
"description": "重排序模式。当 `reranking_enable` 为 `true` 时必填。"
},
"top_k": {
"type": "integer",
"description": "返回的最大结果数。"
},
"score_threshold_enabled": {
"type": "boolean",
"description": "是否启用分数阈值过滤。"
},
"score_threshold": {
"type": "number",
"nullable": true,
"description": "结果的最低相关性分数。仅在 `score_threshold_enabled` 为 `true` 时生效。"
},
"weights": {
"type": "object",
"nullable": true,
"description": "混合搜索的权重配置。",
"properties": {
"weight_type": {
"type": "string",
"description": "平衡语义搜索和关键词搜索权重的策略。",
"enum": [
"semantic_first",
"keyword_first",
"customized"
]
},
"vector_setting": {
"type": "object",
"description": "语义搜索权重设置。",
"properties": {
"vector_weight": {
"type": "number",
"description": "分配给语义(向量)搜索结果的权重。"
},
"embedding_provider_name": {
"type": "string",
"description": "用于向量搜索的嵌入模型提供商。"
},
"embedding_model_name": {
"type": "string",
"description": "用于向量搜索的嵌入模型名称。"
}
}
},
"keyword_setting": {
"type": "object",
"description": "关键词搜索权重设置。",
"properties": {
"keyword_weight": {
"type": "number",
"description": "分配给关键词搜索结果的权重。"
}
}
}
}
}
}
}
},
"securitySchemes": {
"ApiKeyAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "API_KEY",
"description": "API Key 认证。对于所有 API 请求,请在 `Authorization` HTTP 头中包含您的 API Key并加上 `Bearer ` 前缀。示例:`Authorization: Bearer {API_KEY}`。**强烈建议将 API Key 存储在服务端,不要在客户端共享或存储,以避免 API Key 泄漏导致严重后果。**"
}
}
}
}