You need to enable JavaScript to run this app.
导航

create

最近更新时间2024.04.16 15:42:20

首次发布时间2024.03.27 17:09:23

概述

/api/knowledge/collection/create 接口用于创建一个新的知识库。创建成功后,可以导入数据。

说明

  • 单个用户限制创建数量不超过50个。
  • 单个知识库的文档数不超过10K个。

前提条件

完成“对接指南“页面的注册账号、实名认证、AK/SK 密钥获取和签名获取后,可调用 API 接口实现知识库的创建功能。

请求接口

URI

http://api-knowledgebase.ml_platform.cn-beijing.volces.com/api/knowledge/collection/create

统一资源标识符

请求方法

POST

客户端对向量数据库服务器请求的操作类型

请求头

Content-Type: application/json

请求消息类型

Authorization: HMAC-SHA256 ***

鉴权

请求参数

参数

类型

是否必选

默认值

参数说明

name

string

知识库的名字。

  • 只能使用英文字母、数字、下划线_,并以英文字母开头,不能为空。
  • 长度要求:[1-64]。
  • 知识库名称不能重复。

description

string

""

知识库描述信息。

  • 长度要求:[1, 65535]

index

object

{
"index_type": 指定索引算法,支持hnsw、hnsw_hybrid和flat
"index_config": {
"fields":为一个list,指定需要在search时做筛选的字段,字段来源于doc的meta信息。支持的筛选字段类型和筛选规则参考VikingDB的标量索引字段设置规则,具体支持的字段类型为int64,float32,string,bool,list和list,字段规则和默认值参考VikingDB的field_type。每个字段需要分别设置field_name、field_type和default_val。
"cpu_quota":int类型,需要大于0,默认值2。
"embedding_model":指定向量化模型,当前支持的模型有 bge-large-zh、bge-m3、bge-large-zh-and-m3
"quant":向量的量化方式,对于hnsw和flat有不同的可选值。
}
}

注:

  • fields数量限制为50个,且名称不可重复。
  • fields的名字不能以"_sys_auto"开头,否则会创建失败。
  • 对于fields,如果不传或value为空,将不会加入任何的筛选字段。
  • 如果field设置doc_id字段,doc_id字段需要为string类型,这时系统会将doc的doc_id字段加入筛选字段
  • 如果字段不传,将会使用以下的默认值:
    • cpu_quota:2
    • embedding_model:bge-large-zh-and-m3
    • index_type:hnsw_hybrid
    • quant:int8

不同的向量化模型及其支持的索引类型组合,以及该组合的检索类型如下表:

向量化模型

产出类型

索引类型

检索类型

bge-large-zh

稠密向量

hnsw、flat

语义检索

bge-m3

稠密向量和稀疏向量

hnsw_hybrid

混合检索(兼顾语义检索和关键词匹配)

hnsw、flat

语义检索(此时稀疏向量被忽略,适用于只需要长文本窗口、多语言检索的纯语义检索场景)

bge-large-zh-and-m3

稠密向量和稀疏向量

hnsw_hybrid

混合检索(兼顾语义检索和关键词匹配)

响应消息

参数

参数说明

code

状态码

message

返回信息

request_id

标识每个请求的唯一标识符

状态码说明

状态码

http状态码

返回信息

状态码说明

0

200

success

成功

1000001

403

unauthorized

鉴权失败

1000002

403

no permission

权限不足

1000003

400

invalid request:%s

非法参数

  • 缺失必选参数
  • collecttion命名不符合规范
  • 字段类型与相关字段属性不满足约束条件

1000004

400

collection exist

collection已存在

完整示例

请求消息

curl -i -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: HMAC-SHA256 ***' \
  http://api-knowledgebase.ml_platform.cn-beijing.volces.com/api/knowledge/collection/create \
  -d '{
    "name": "test_collection_name",
    "description": "这是一个测试知识库",
    "index": {
        "index_type": "flat"
        "index_config": {    
            "fields": [                               
                {
                    "field_name": "id",       
                    "field_type": "int64"
                },
                {
                    "field_name": "text",                  
                    "field_type": "string", 
                    "default_val": ""
                }
            ]
            "cpu_quota": 2,
            "embedding_model": "bge-large-zh",
            "quant": "int8"
        }
    }
}'

响应消息

执行成功返回:

HTTP/1.1 200 OK
Content-Length: 43
Content-Type: application/json
 
{"code":0,"message":"success","request_id":"021695029537650fd001de666660000000000000000000230da93"}

执行失败返回:

HTTP/1.1 400 OK
Content-Length: 43
Content-Type: application/json
 
{"code":1000003, "message":"invalid request:%s", "request_id": "021695029757920fd001de6666600000000000000000002569b8f"}