创建知识库
接口描述(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"
  }
}
错误信息
参考错误码