UNPKG

@re-ai/volc-knowledge

Version:

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

108 lines (103 loc) 4.51 kB
# 火山引擎接口列表 |分类|接口名称|状态|描述| |--|--|--|--| |知识库|create|正常|用于创建知识库相关操作,具体功能可参考对应文档| |知识库|update|正常|对知识库进行更新操作,更新内容和方式需参照相关说明| |知识库|info|正常|获取知识库的相关信息,如基本属性、配置等| |知识库|list|正常|列出知识库的相关列表,可能包括所有知识库或符合特定条件的知识库| |知识库|delete|正常|删除指定的知识库| |知识库|search|即将下线|用于在知识库中进行检索,即将停止使用,建议尽快迁移相关功能| |知识库|search_and_generate|即将下线|在知识库检索基础上可能还具备生成内容的功能,即将下线,需及时调整| |知识库|search_knowledge|新|新推出的在知识库进行检索的接口,可能具有更优化的功能或特性| |知识库|chat_completions|新|用于实现知识库多轮检索问答等聊天交互功能的接口,是新上线的功能接口| |文档|add|正常|用于添加文档到相应的知识库或存储系统中| |文档|info|正常|获取文档的详细信息,如文档内容、元数据等| |文档|list|正常|列出文档相关的列表,比如所有文档或特定类型、特定用户的文档| |文档|update_meta|正常|更新文档的元数据,如文档的标题、标签等信息| |文档|delete|正常|删除指定的文档| |切片|list|正常|列出切片相关的列表,可能是文档切片的信息列表| |切片|update|正常|对切片进行更新操作,比如修改切片的内容、属性等| |切片|info|正常|获取切片的详细信息,包括切片内容、位置等| |切片|add|正常|添加切片,可能是将新生成的切片添加到系统中| |切片|delete|正常|删除指定的切片| |重排|Rerank重排|正常|进行重排操作,可能是对检索结果等进行重新排序,以优化展示或筛选效果| # 示例代码 ```python import json import requests from volcengine.auth.SignerV4 import SignerV4 from volcengine.base.Request import Request from volcengine.Credentials import Credentials #签名生成逻辑 def prepare_request(method, path, params=None, data=None, doseq=0): #创建request if params: for key in params: if ( isinstance(params[key], int) or isinstance(params[key], float) or isinstance(params[key], bool) ): params[key] = str(params[key]) elif isinstance(params[key], list): if not doseq: params[key] = ",".join(params[key]) r = Request() r.set_shema("http") r.set_method(method) r.set_connection_timeout(10) r.set_socket_timeout(10) mheaders = { "Accept": "application/json", "Content-Type": "application/json", "Host": g_knowledge_base_domain, "V-Account-Id": account_id, } r.set_headers(mheaders) if params: r.set_query(params) r.set_host(g_knowledge_base_domain) r.set_path(path) if data is not None: r.set_body(json.dumps(data)) # 生成签名 credentials = Credentials(ak, sk, "air", "cn-north-1") SignerV4.sign(r, credentials) return r #创建知识库逻辑 def create(): #创建知识库的请求方式 method = "POST" #创建知识库的请求路径 path = "/api/knowledge/collection/create" #创建知识库所需要的一些参数 request_params = { "name": "lzm_test2", "data_type": "unstructured_data", "preprocessing": { "chunking_strategy":"custom_balance", "multi_modal":["image_ocr"] }, "index": { "cpu_quota": 1, "embedding_model": "doubao-embedding-and-m3", "embedding_dimension": 2048, "quant": "int8", "index_type": "hnsw_hybrid" }, } info_req = prepare_request(method=method, path=path, data=request_params) rsp = requests.request( method=info_req.method, url="https://{}{}".format(g_knowledge_base_domain, info_req.path), headers=info_req.headers, data=info_req.body ) print(rsp.text) if __name__ == "__main__": ak = '刚才申请到的ak' sk = '刚才申请到的sk' g_knowledge_base_domain = "api-knowledgebase.mlp.cn-beijing.volces.com" #调用创建知识库的函数 create() ```