UNPKG

@re-ai/volc-knowledge

Version:

火山引擎知识库接口接入SDK

133 lines (126 loc) 5.94 kB
# 创建知识库接口文档 ## 一接口概述 `/api/knowledge/collection/create`接口用于创建新的知识库,创建成功后可进行数据导入 ## 二前提条件 完成“签名鉴权方式”页面的注册账号实名认证AK/SK密钥获取和签名获取后,方可调用该API接口创建知识库 ## 三请求接口 |参数|详情|描述| |---|---|---| |URI|`/api/knowledge/collection/create`|统一资源标识符| |请求方法|POST|客户端对向量数据库服务器请求的操作类型| |请求头|`Content-Type: application/json`<br>`Authorization: HMAC-SHA256 ***`|请求消息类型<br>鉴权| ## 四请求参数 |参数|子参数|类型|是否必选|默认值|参数说明| |---|---|---|---|---|---| |name|--|string||--|知识库名字,只能用英文字母数字下划线_,需以英文字母开头,不能为空,长度[1-64],且名称不能重复| |project|--|string||default|知识库所属项目,在访问控制】-【资源管理】-【项目中创建| |description|--|string||""|知识库描述信息,长度[1, 65535]| |data_type|--|string||unstructured_data|知识库内的数据类型,可选“unstructured_data”(非结构化数据)“structured_data”(结构化数据)| |preprocessing|chunking_strategy|string||--|切片策略,枚举值["custom_balance", "custom"]“custom_balance”为新默认策略,提升多种文档解析能力和检索性能;“custom”为自定义分隔符策略原“default”仅兼容存量知识库| |preprocessing|chunking_identifier|list||--|自定义分隔符号,仅“custom”策略时生效| |preprocessing|chunk_length|int||500|切片最大长度,取值参考向量化模型及索引算法对照表| |preprocessing|merge_small_chunks|bool||true|是否合并短文本片,合并后长度不超切片最大长度| |preprocessing|multi_modal|--||--|图片召回策略,枚举值"image_ocr",传参开启,不传不开启,新创建知识库不推荐用旧参数名“multi_mode”| |table_config|table_type|string||--|当data_type为“structured_data”时生效,“row”表示从行开始解析,“col”表示从列开始解析| |table_config|table_pos|int||--|字段位于第几行或列| |table_config|start_pos|int||--|起始数据所在行| |table_config|table_fields|object||--|包含字段名称类型是否参与索引默认值是否为过滤字段等信息的列表| |index|index_config|object||--|索引配置| |index|index_config.fields|object||--|标签,数量限制180个且名称不可重复,不能以“_sys_auto”开头,不传或值为空则不加入筛选字段| |index|index_config.cpu_quota|int||1|cpu配额,大于0| |index|index_config.embedding_model|string||doubao-embedding-and-m3|指定向量化模型,可选范围参考对照表| |index|index_config.embedding_dimension|int||2048|向量维度,可选范围参考对照表| |index|index_config.quant|string||int8|向量量化方式,可选范围参考对照表| |index|index_type|string||hnsw_hybrid|指定索引算法,支持hnsw_hybridhnsw和flat,推荐“hnsw_hybrid”| ## 五响应消息 |参数|参数说明| |---|---| |code|状态码| |message|返回信息| |data|返回的详细信息,包含“resource_id”(知识库的唯一id)| |request_id|标识每个请求的唯一标识符| ## 六状态码说明 |状态码|http状态码|返回信息|状态码说明| |---|---|---|---| |0|200|success|成功| |1000001|403|unauthorized|鉴权失败| |1000002|403|no permission|权限不足| |1000003|400|invalid request:%s|非法参数,包括缺失必选参数collection命名不规范字段类型与属性不满足约束条件等| |1000004|400|collection exist|collection已存在| ## 七完整示例 ### (一)请求消息 ```bash curl -i -X POST \ -H 'Content-Type: application/json' \ -H 'Authorization: HMAC-SHA256 ***' \ https://api-knowledgebase.mlp.cn-beijing.volces.com/api/knowledge/collection/create \ -d '{ "name": "apiexample", "description": "test", "index": { "index_type": "hnsw_hybrid", "index_config": { "fields": [], "quant": "int8", "cpu_quota": 1, "embedding_model": "doubao-embedding-and-m3", "embedding_dimension": 2048 } }, "table_config": { "table_type": "row", "table_pos": 1, "start_pos": 2, "table_fields": [ { "field_type": "string", "field_name": "讲解模块", "if_embedding": true, "if_filter": false }, { "field_type": "string", "field_name": "子模块", "if_embedding": true, "if_filter": false }, { "field_type": "string", "field_name": "问题示例", "if_embedding": true, "if_filter": false }, { "field_type": "string", "field_name": "记忆化 ————讲解要点", "if_embedding": true, "if_filter": false } ] }, "data_type": "structured_data", "project": "default" }' ``` ### (二)响应消息 1. **执行成功返回** ```json HTTP/1.1 200 OK Content-Length: 43 Content-Type: application/json { "code":0, "message":"success", "data": { "resource_id": "kb-8349ef57441ab57" }, "request_id":"021695029537650fd001de666660000000000000000000230da93" } ``` 2. **执行失败返回** ```json HTTP/1.1 400 OK Content-Length: 43 Content-Type: application/json {"code":1000003, "message":"invalid request:%s", "request_id": "021695029757920fd001de6666600000000000000000002569b8f"} ```