UNPKG

@re-ai/volc-knowledge

Version:

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

98 lines (91 loc) 6.03 kB
# 向知识库导入文档接口文档 ## 一接口概述 `/api/knowledge/doc/add`接口用于向已创建的知识库导入文档,文档类型需符合支持文档格式说明 ## 二前提条件 完成“签名鉴权方式”页面的注册账号实名认证AK/SK密钥获取和签名获取后,可调用该API接口实现文档导入功能 ## 三请求接口 |参数|详情|描述| |---|---|---| |URI|`/api/knowledge/doc/add`|统一资源标识符| |请求方法|POST|客户端对向量数据库服务器请求的操作类型| |请求头|`Content-Type: application/json`<br>`Authorization: HMAC-SHA256 ***`|请求消息类型<br>鉴权| ## 四请求参数 |参数|子参数|类型|是否必选|默认值|参数说明| |---|---|---|---|---|---| |collection_name|--|string||--|知识库名称,由英文字母数字下划线组成,以英文字母开头,不能为空,长度在1 - 64之间| |project|--|string||default|知识库所属项目,在访问控制】-【资源管理】-【项目中创建| |resource_id|--|string||--|知识库唯一id,可单独传该参数,或同时传name和project作为唯一标识| |add_type|--|string||--|文档添加方式,枚举值为“url”(提供可下载链接)“tos”(tos已授权目录,仅支持华北区域)“lark”(上传飞书文档)| |doc_id|--|string||--|知识库下的文档唯一标识,由英文字母数字下划线组成,以英文字母开头,不能为空,长度在1 - 128之间“add_type”为“url”时必传,“add_type”为“tos”时无效,“add_type”为“lark”时可选,未传则自动生成| |doc_name|--|string||--|文档名称,长度在1 - 256之间“add_type”为“url”时必传,“add_type”为“tos”和“lark”时无效,系统自动获取| |doc_type|--|string||--|上传文档的类型,非结构化文档支持txtdoc等,结构化文档支持xlsx等“add_type”为“url”时必传,“add_type”为“tos”时无效,“add_type”为“lark”时可选| |lark_file|url<br>obj_type<br>obj_token<br>include_childe|json||--|飞书文档地址信息,“url”和“obj_type + obj_token”二选一,“include_childe”默认为false| |tos_path|--|string||--|已授权的tos目录或指定文件路径,“add_type”为“tos”时必传,其他情况无效| |url|--|string||--|上传文档的url链接,对应文档不超20MB“add_type”为“url”时必传,长度在1 - 1024之间,其他情况无效| |meta|field_name<br>field_type<br>field_value|array/json字符串||--|meta信息,“add_type”为“url”或“lark”时有效,“add_type”为“tos”时无效| |dedup|--|bool||--|是否去重,任一子参数为true时生效,检查content和doc name,其他信息变更不检查| |content_dedup|--|bool||false|内容去重,查找库中相同doc hash的文档,根据文档数量和auto_skip参数处理| |doc_name_dedup|--|bool||false|文档名称去重,查找库中相同doc name的文档,根据文档数量和auto_skip参数处理| |auto_skip|--|bool||false|重复文档处理策略,true时自动跳过重复文档并返回原始ID,false时覆盖并返回新ID| ## 五响应消息 |参数|参数说明|备注| |---|---|---| |code|状态码| - | |message|返回信息| - | |request_id|标识每个请求的唯一标识符| - | |data|包含collection_name(知识库名字)resource_id(知识库唯一标识)project(项目名)doc_id(文档唯一标识)|通过tos目录/飞书导入时,不会返回| ## 六状态码说明 |状态码|http状态码|返回信息|状态码说明| |---|---|---|---| |0|200|success|成功| |1000001|401|unauthorized|鉴权失败| |1000002|403|no permission|权限不足| |1000003|400|invalid request:%s|非法参数| |1000005|400|collection not exist|collection不存在| |1001010|400|doc num is exceed 10000|doc数量已满| ## 七完整示例 ### (一)请求消息 ```bash curl -i -X POST \ -H 'Content-Type: application/json' \ -H 'Authorization: HMAC-SHA256 ***' \ https://api-knowledgebase.mlp.cn-beijing.volces.com/api/knowledge/doc/add \ -d '{ "collection_name": "test_collection_name", "project": "", "add_type": "url", "doc_id": "test0123", "doc_name": "张某某盗窃案", "doc_type": "pdf", "url": "https://fwh-my-test-bucket.tos-cn-beijing.volces.com/%E6%96%B0%E6%A9%99%E7%A7%91%E6%8A%80/%E5%91%A8%E6%9D%A8%E7%9B%97%E7%AA%83%E6%A1%88.pdf?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Content-Sha256=UNSIGNED-PAYLOAD&X-Tos-Credential=AKTP0UZNtgnE7Lfth5eB2z0Z9qy2gyewikK9nbStjHp0OY%2F20240325%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20240325T114024Z&X-Tos-Expires=3600&X-Tos-SignedHeaders=host&X-Tos-Security-Token=nCgdqdEROend3.ChsKBzNzX056d3cSEGBgA9av-UtVs7ClfMkXS4oQk8WFsAYYo-GFsAYgle7V6QcoAjCSkLEJOhx6aGFpeXVqaWEuMDMyMkBieXRlZGFuY2UuY29tQgN0b3NSHHpoYWl5dWppYS4wMzIyQGJ5dGVkYW5jZS5jb21YBGAB.Nur_XCwZ_1LHmSsfeWGjDUn8SEOo3c6op5hx3lUgLZuxtHN_sqs-Kd0KbKw-51CT6wXKQo3AbmidScqVTu6gLQ&X-Tos-Signature=5c3dff2f8cd67daae99476d54188033cc32932d87f1ff85f4f1afd5862fa35cd", "meta":[ {"field_name":"行业","field_type":"string", "field_value":"企业服务"}, {"field_name":"是否公开","field_type":"bool", "field_value":true} ] }' ``` ### (二)响应消息 1. **执行成功返回** ```json HTTP/1.1 200 OK Content-Length: 43 Content-Type: application/json { "code":0, "message":"success", "request_id":"021695029537650fd001de666660000000000000000000230da93", "data":{ "collection_name": "张某某盗窃案", "resource_id": "kb-8349ef57441ab57", "project": "default", "doc_id": "_sys_auto_gen_doc_id-17691607628519396693" } } ``` 2. **执行失败返回** ```json HTTP/1.1 400 OK Content-Length: 43 Content-Type: application/json {"code":1000003, "message":"invalid request:%s", "request_id": "021695029757920fd001de6666600000000000000000002569b8f"} ```