创建空知识库
curl --request POST \
--url https://{api_base_url}/datasets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "",
"permission": "only_me",
"provider": "vendor",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"summary_index_setting": {
"enable": true,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
'import requests
url = "https://{api_base_url}/datasets"
payload = {
"name": "<string>",
"description": "",
"permission": "only_me",
"provider": "vendor",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"summary_index_setting": {
"enable": True,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '',
permission: 'only_me',
provider: 'vendor',
embedding_model: '<string>',
embedding_model_provider: '<string>',
external_knowledge_api_id: '<string>',
external_knowledge_id: '<string>',
summary_index_setting: {
enable: true,
model_name: '<string>',
model_provider_name: '<string>',
summary_prompt: '<string>'
}
})
};
fetch('https://{api_base_url}/datasets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/datasets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '',
'permission' => 'only_me',
'provider' => 'vendor',
'embedding_model' => '<string>',
'embedding_model_provider' => '<string>',
'external_knowledge_api_id' => '<string>',
'external_knowledge_id' => '<string>',
'summary_index_setting' => [
'enable' => true,
'model_name' => '<string>',
'model_provider_name' => '<string>',
'summary_prompt' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/datasets"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{api_base_url}/datasets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/datasets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"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": "langgenius/openai/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,
"maintainer": "admin"
}{
"status": 400,
"code": "invalid_param",
"message": "No Embedding Model available. Please configure a valid provider in the Settings -> Model Provider."
}{
"status": 403,
"code": "forbidden",
"message": "Sorry, you have reached the knowledge base request rate limit of your subscription."
}{
"status": 409,
"code": "dataset_name_duplicate",
"message": "The dataset name already exists. Please modify your dataset name."
}Authorizations
Body
知识库名称。
1 - 40知识库描述。
400high_quality 使用嵌入模型进行精确搜索;economy 使用基于关键词的索引。
high_quality, economy 控制谁可以访问此知识库。only_me 仅限创建者,all_team_members 授权整个工作区访问,partial_members 授权指定成员访问。
only_me, all_team_members, partial_members vendor 为内部知识库,external 为外部知识库。
vendor, external 检索模型配置。控制查询此知识库时如何搜索和排序分段。
Show child attributes
Show child attributes
外部知识库 API 连接的 ID。
外部知识库的 ID。
摘要索引配置。
Show child attributes
Show child attributes
Response
知识库创建成功。
知识库的唯一标识符。
知识库的显示名称。在工作区内唯一。
描述知识库用途或内容的可选文本。
供应商类型。内部管理为 vendor,外部知识库连接为 external。
控制谁可以访问此知识库。可选值:only_me、all_team_members、partial_members。
文档的数据源类型,尚未配置时为 null。
high_quality 使用嵌入模型进行精确搜索;economy 使用基于关键词的索引。
当前使用该知识库的应用数量。
知识库中的文档总数。
所有文档的总字数。
创建该知识库的用户 ID。
创建者的显示名称。
创建时间戳(Unix 纪元,单位为秒)。
最后更新该知识库的用户 ID。
最后更新时间戳(Unix 纪元,单位为秒)。
用于索引的嵌入模型名称。
嵌入模型供应商标识符,格式为 organization/plugin_name/provider_name(例如 langgenius/openai/openai)。旧版知识库可能返回简写形式(例如 openai)。
配置的嵌入模型当前是否可用。
知识库的检索配置。
Show child attributes
Show child attributes
摘要索引配置。
Show child attributes
Show child attributes
与该知识库关联的标签。
Show child attributes
Show child attributes
文档分块模式。text_model 表示标准文本分块,hierarchical_model 表示父子结构,qa_model 表示问答对提取。
外部知识库的连接详情。当 provider 为 external 时存在。
Show child attributes
Show child attributes
外部知识库的检索设置。内部知识库时为 null。
Show child attributes
Show child attributes
知识库的元数据字段定义。
Show child attributes
Show child attributes
是否启用内置元数据字段(例如 document_name、uploader)。
自定义处理流水线的 ID(如果已配置)。
运行时处理模式。
分段结构配置。
知识库的图标显示配置。
Show child attributes
Show child attributes
知识库是否已发布。
文档总数。
已启用且可用的文档数量。
该知识库是否启用 API 访问。
是否启用多模态内容处理。
知识库维护者的显示名称。未设置时为 null。
当 permission 为 partial_members 时被授予访问权限的成员账户 ID。更新响应中始终返回;详情响应中仅当 permission 为 partial_members 时返回。
Was this page helpful?
curl --request POST \
--url https://{api_base_url}/datasets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "",
"permission": "only_me",
"provider": "vendor",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"summary_index_setting": {
"enable": true,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
'import requests
url = "https://{api_base_url}/datasets"
payload = {
"name": "<string>",
"description": "",
"permission": "only_me",
"provider": "vendor",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"summary_index_setting": {
"enable": True,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '',
permission: 'only_me',
provider: 'vendor',
embedding_model: '<string>',
embedding_model_provider: '<string>',
external_knowledge_api_id: '<string>',
external_knowledge_id: '<string>',
summary_index_setting: {
enable: true,
model_name: '<string>',
model_provider_name: '<string>',
summary_prompt: '<string>'
}
})
};
fetch('https://{api_base_url}/datasets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/datasets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '',
'permission' => 'only_me',
'provider' => 'vendor',
'embedding_model' => '<string>',
'embedding_model_provider' => '<string>',
'external_knowledge_api_id' => '<string>',
'external_knowledge_id' => '<string>',
'summary_index_setting' => [
'enable' => true,
'model_name' => '<string>',
'model_provider_name' => '<string>',
'summary_prompt' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/datasets"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{api_base_url}/datasets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/datasets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"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": "langgenius/openai/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,
"maintainer": "admin"
}{
"status": 400,
"code": "invalid_param",
"message": "No Embedding Model available. Please configure a valid provider in the Settings -> Model Provider."
}{
"status": 403,
"code": "forbidden",
"message": "Sorry, you have reached the knowledge base request rate limit of your subscription."
}{
"status": 409,
"code": "dataset_name_duplicate",
"message": "The dataset name already exists. Please modify your dataset name."
}