创建知识库
接口描述(Description)
创建知识库
请注意,当前版本(Beta),1个账号下允许创建10个知识库。
请求地址(Request URL)
[POST] https://api.sensenova.cn/v1/llm/knowledge-bases
请求头(Request Header)
无特殊Header,请参考接口鉴权
请求体(Request Body)
名称 | 类型 | 必须 | 默认值 | 可选值 | 描述 |
---|---|---|---|---|---|
description | string | 否 | - | - | 知识库描述 长度不超过256字符 |
files | string[] | 否 | - | - | 文件管理模块对应的文件ID,1个知识库最多支持添加50个文件(注意,文件必须是知识库支持的格式) |
configs | object | 否 | - | - | 知识库构建参数配置 |
configs
部分参数如下:
名称 | 类型 | 必须 | 默认值 | 可选值 | 描述 |
---|---|---|---|---|---|
text_split | object | 否 | - | - | 文本分割配置 |
embedding | object | 否 | - | - | embedding配置 |
text_split
部分参数如下:
名称 | 类型 | 必须 | 默认值 | 可选值 | 描述 |
---|---|---|---|---|---|
mode | string | 否 | semantics | 按语义分割:semantics 按长度和标点分割: delimiter (请注意,这种模式目前仅支持处理PDF格式的知识库文件) | 文本分割模式 |
config | object | 否 | - | - | delimiter 模式下的分隔符配置,semantics 模式不支持 |
config
部分参数如下:
名称 | 类型 | 必须 | 默认值 | 可选值 | 描述 |
---|---|---|---|---|---|
max_length | int | 否 | 500 | [200,+∞) | 每个分割片段最大字数长度,注意最大值不能超过所使用的Embedding模型的长度限制,否则超出部分会被截断 |
punctuations | object[] | 否 | 默认优先级顺序由大到小为:## 、\n\n 、\n 、。 、! 、. 、, 、, 、空格 | - | 分割每个片段的标记符号列表,包括符号及其优先级 |
punctuations
部分参数如下:
名称 | 类型 | 必须 | 默认值 | 可选值 | 描述 |
---|---|---|---|---|---|
mark | string | 否 | -- | ## 、\n\n 、\n 、。 、! 、. 、, 、, 、空格 | 分割标记 |
priority | int | 否 | -- | [1,+∞) | 分割标记优先级,数字越大优先级越高,若指定标点符号则必须填写优先级 |
embedding
部分参数如下:
名称 | 类型 | 必须 | 默认值 | 可选值 | 描述 |
---|---|---|---|---|---|
model | string | 否 | nova-embedding-stable | 参考查询模型列表 | 模型ID |
请求示例(Request Example)
curl --request POST "https://api.sensenova.cn/v1/llm/knowledge-bases" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_TOKEN" \
-d '{
"description": "string",
"files":[
"string"
],
"configs":{
"text_split":{
"mode": "semantics"
},
"embedding":{
"model": "string"
}
}
}'
响应(Response)
名称 | 类型 | 描述 |
---|---|---|
knowledge_base | object | 知识库 |
knowledge_base
部分参数如下:
名称 | 类型 | 描述 |
---|---|---|
id | string | 知识库ID |
description | string | 知识库描述 |
files | objetc[] | 文件详情 |
configs | object | 知识库构建参数详情 |
created_at | string | 知识库创建时间,ISO 8601标准时间格式,精确到纳秒 |
updated_at | string | 知识库更新时间,ISO 8601标准时间格式,精确到纳秒 |
status | string | 知识库状态 可用: AVAILABLE 不可用: UNAVAILABLE 正在准备: LOADING 等待中: PENDING |
files
部分参数如下:
名称 | 类型 | 描述 |
---|---|---|
id | string | 文件ID |
description | string | 文件描述 |
status | string | 文件状态,枚举值 未上传/上传中: NOTUPLOADED 已上传: UPLOADED 文件无效: INVALID 文件有效: VALID |
configs
部分参数如下:
名称 | 类型 | 描述 |
---|---|---|
text_split | object | 文本分割配置 |
embedding | object | embedding配置 |
text_split
部分参数如下:
名称 | 类型 | 描述 |
---|---|---|
mode | string | 文本分割模式 |
config | object | delimiter 模式下的分隔符配置,semantics 模式无此配置 |
config
部分参数如下:
名称 | 类型 | 描述 |
---|---|---|
max_length | string | 每个分割片段最大字数长度 |
punctuations | object[] | 分割每个片段的标记符号列表 |
punctuations
部分参数如下:
名称 | 类型 | 描述 |
---|---|---|
mark | string | 分割标记 |
priority | int | 分割标记优先级 |
embedding
部分参数如下:
名称 | 类型 | 描述 |
---|---|---|
model | string | 模型ID |
响应示例(Response Example)
{
"knowledge_base": {
"id": "string",
"description": "string",
"files":[
{
"id": "string",
"description": "string",
"status": "string"
}
],
"configs":{
"text_split":{
"mode": "string",
"config": {}
},
"embedding":{
"model": "string"
}
},
"created_at": "2023-06-28T17:23:01.243566533Z",
"updated_at": "2023-06-28T17:23:01.243566533Z",
"status": "string"
}
}
错误信息
参考错误码