You need to enable JavaScript to run this app.
导航
add_doc
最近更新时间:2024.09.06 18:27:33首次发布时间:2024.05.31 15:27:28

概述

add_doc 用于向已创建的指定知识库导入文档。

说明

  • 单个知识库的文档数不超过 50万 个
  • 单个文档的生成的 chunk 数限制为 10万 个
  • 文档类型限制参考 支持文档格式说明

请求参数

参数

子参数

类型

是否必选

默认值

参数说明

project

--

string

default

知识库所属项目
即在【访问控制】-【资源管理】-【项目】中创建的项目

resource_id

--

string

--

知识库唯一 id
可选择直接传 resource_id,或同时传 name 和 project 作为知识库的唯一标识

add_type

--

string

--

文档添加的方式,可为以下枚举值:

  • url:提供了可以直接下载的 url 链接
  • tos:tos 的已授权目录,目前只支持华北区域

doc_id

--

string

--

知识库下的文档唯一标识

  • 只能使用英文字母、数字、下划线_,并以英文字母开头,不能为空
  • 长度要求:[1, 128]

注:

  • 多次上传,重复的 doc_id 会进行覆盖(新上传的覆盖旧的)
  • "add_type" == "url" 时,该字段必传
  • "add_type" == "tos" 时,该字段无效,系统会自动从 tos 文件的 meta 中获取知识库常见问题

doc_name

--

string

--

文档名称

  • 长度要求:[1, 256]
  • "add_type" == "url" 时,该字段必传
  • "add_type" == "tos" 时,该字段无效,系统会自动从 tos 中获取

doc_type

--

string

--

上传文档的类型
当前支持以下类型:txt, doc, docx, pdf, md(markdown), faq.xlsx, pptx
注:

  • "add_type" == "url" 时,该字段必传
  • "add_type" == "tos" 时,该字段无效,系统会自动从 tos 文件的扩展名中获取

【对于 faq 格式的说明】

  1. 上传文档时,需要通过特殊的后缀 .faq 进行标识,格式为:文档名.faq.xlsx;文档固定格式为一列问题、一列答案,示例:Q&A问答对示例
  2. 解析限制说明:支持解析多个 sheet,不超过 50 个;多个 sheet 总行数上限为 1万,超过文档处理失败;对于问题或答案为空的行会跳过不做处理

tos_path

--

string

--

  • 已授权的 tos 目录(注意需要以/结尾)或指定文件路径
  • "add_type" == "url" 时,该字段无效
  • "add_type" == "tos" 时,该字段必传
    • 系统会自动生成 doc_id,若需手动指定,可参考 知识库常见问题,在 tos 元信息中定义
  • 元数据信息上除 doc_id 外的其他信息会被当做文件的 doc_meta 信息保存

注:

  • 导入目录下的文档是一次性的,后续目录下的文档变更不会被自动同步到知识库
  • tos 目录下文档的 doc_id 取值若重复,最终导入知识库只会保留最后一个上传的文档,即 doc_id 唯一
    • 如果目录下文件内容的变更需求,有以下两种方式:
    • 通过 url 方式导入,并指定要替换文档的 doc_id (相对比较快)
    • 通过 tos 方式导入,这种方式会对目录下所有的文档做变更检查,并将新文档替换旧文档。由于需要做文件校验,这种方式耗时较长
  • 导入目录时只会扫描目录下的文件,而不会递归查看子目录

url

--

string

--

上传文档的url链接

  • 对应 url 链接的文档不超过 20 MB
  • "add_type" == "url" 时,该字段必传,字段长度范围是[1,1024]
  • add_type 为其他值时,该字段无效

meta

array 或 array 对应的json 字符串

--

  • meta 信息
  • "add_type" == "url" 时,该字段有效
  • add_type 为其他值时,该字段无效

field_name

string

--

字段名

  • 不能为 “doc_id”
  • 使用英文字母,数字,下划线,并以英文字母开头,长度不得超过 128
  • 存在于 collection 的 fields 中的 field_name 可以用于在检索时的字段筛选,不存在的只能用于信息展示(注意类型需要保持一致)

field_type

string

--

字段类型

field_value

与 field_type 指定类型一致

--

字段值

示例

请求参数

请先完成 SDK 初始化,再运行代码,详见初始化SDK

my_collection = viking_knowledgebase_service.get_collection("example")

# 由tos路径上传doc,注意上传文件夹时以/结尾
tos_path = "your_tos/path/"
my_collection.add_doc(add_type="tos", tos_path=tos_path)

# 由url上传doc
url = ""
my_collection.add_doc(add_type="url", doc_id="", doc_name="", doc_type="", url=url)

返回值

Python 调用执行上面的任务,执行成功无返回信息。