add_doc_v2 用于向已创建的知识库添加文档。
| 参数 | 类型 | 是否必传 | 默认值 | 参数说明 |
|---|---|---|---|---|
| collection_name | Optional[str] | 否 | -- | 知识库名称 |
project_name | Optional[str] | 否 | default | 知识库所属项目,获取方式参考文档 API 接入与技术支持 |
resource_id | Optional[str] | 否 | -- | 知识库唯一 ID |
doc_id | Optional[str] | 是 | -- | 知识库下的文档唯一标识
|
doc_name | Optional[str] | 否 | -- | 文档名称
|
doc_type | Optional[str] | 否 | -- | 上传文档的类型
|
description | Optional[str] | 否 | -- | 文档描述
|
tag_list | Optional[List[MetaItem]] | 否 | -- | Tag 为结构体,包含:
|
uri | Optional[str] | 是 | -- | 待上传的文件 uri 链接,示例:
|
| path_segments | Optional[List[str]] | 否 | -- | 文档所在的目录路径,列表元素按目录层级顺序填写。例如:["产品文档", "V2.0", "使用手册"] |
| 参数 | 类型 | 参数说明 | 备注 |
|---|---|---|---|
| code | Optional[int] | 状态码 | |
| message | Optional[str] | 返回信息 | |
| request_id | Optional[str] | 标识每个请求的唯一标识符 | |
| data | Optional[AddDocResponseData] | AddDocResponseData |
| 字段 | 类型 | 参数说明 |
|---|---|---|
| collection_name | Optional[str] | 知识库的名字 |
| resource_id | Optional[str] | 知识库唯一标识 |
| project | Optional[str] | 项目名 |
| doc_id | Optional[str] | 文档唯一标识 |
| dedup_info | Optional[DedupInfo] | DedupInfo |
| more_info | Optional[str] | 更多信息 |
| 字段 | 类型 | 参数说明 |
|---|---|---|
| skip | Optional[bool] | 是否跳过(去重命中) |
| same_doc_ids | Optional[List[str]] | 重复的文档 id 列表 |
| 状态码 | http状态码 | 返回信息 | 状态码说明 |
|---|---|---|---|
| 0 | 200 | success | 成功 |
| 1000001 | 401 | unauthorized | 鉴权失败 |
| 1000002 | 403 | no permission | 权限不足 |
| 1000003 | 400 | invalid request: %s | 非法参数 |
| 1000005 | 400 | collection not exist | collection 不存在 |
| 1001002 | 400 | invalid request: doc_id:xxx is duplicated with doc_ids:xxx | 文档内容与现有文档重复 |
| 1001010 | 400 | doc num is exceed 3000000 | doc 数量已达限额,点击详情查看知识库配额限制 |
首次使用知识库 SDK ,可参考 使用说明
本示例演示了知识库 Python SDK 中 AddDocV2 函数的基础使用方法,使用前需配置 API Key 鉴权参数。
import os from vikingdb.knowledge import VikingKnowledge from vikingdb.auth import APIKey from vikingdb.knowledge.models.doc import AddDocV2Request, MetaItem def main(): api_key = os.getenv("VIKINGDB_API_KEY") or "" endpoint = "api-knowledgebase.mlp.cn-beijing.volces.com" region = "cn-beijing" client = VikingKnowledge( host=endpoint, region=region, auth=APIKey(api_key=api_key), scheme="https" ) collection = client.collection( collection_name="<YOUR_COLLECTION_NAME>", project_name="default", ) try: resp = collection.add_doc_v2(AddDocV2Request( doc_id="<YOUR_DOC_ID>", doc_name="Your new doc name", doc_type="doc", uri="<YOUR_DOC_LINK_URL>", path_prefix=["产品文档", "V2.0", "使用手册"], tag_list=[ MetaItem(field_name="tag key", field_type="string", field_value="tag value") ] )) print(f"Response: {resp}") except Exception as e: print(f"AddDocV2 failed, err: {e}") if __name__ == "__main__": main()