全部产品
Search
文档中心

云原生数据仓库AnalyticDB PostgreSQL版:UploadDocumentAsync - 异步上传文档

更新时间:May 09, 2024

使用本地文件或公网可免密访问的文件链接异步上传文档,服务端对文档做Loader、Chunk、Embedding然后入库,最大支持200MB。

接口说明

服务端会自动按照文档后缀进行 load 和 chunk,并按照创建文档库(CreateDocumentCollection)时指定的 embedding 模型向量化,然后写入指定的文档库中。支持多种格式的文本、图片多模态 embedding。

相关 API 接口:

  • 通过 GetUploadDocumentJob 接口查看上传进度和结果。
  • 通过 CancelUploadDocumentJob 接口取消上传任务。
注意
  • 上传文档后会进入排队处理,同一个用户(子账号也视为主账号用户)的 Pending+Running 处理的文档数不能超过 20。
  • 文本文档切分后条数最大 100,000 条。
  • 当文档库使用的是 OnePeace 模型时,单个用户当前上传和查询图片可以使用的配额为 10000。
  • 调试

    您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

    授权信息

    当前API暂无授权信息透出。

    请求参数

    名称类型必填描述示例值
    DBInstanceIdstring

    开启了向量引擎优化加速的实例 ID。

    说明 您可以调用 DescribeDBInstances 接口查看目标地域下所有的 AnalyticDB PostgreSQL 实例的详情,包括实例 ID。
    gp-bp12ga6v69h86****
    Collectionstring

    文档库名称。

    说明 CreateDocumentCollection 接口创建。您可以调用 ListDocumentCollections 接口查看已经创建的文档库。
    document
    Namespacestring

    命名空间,默认为 public。

    说明 您可以通过 CreateNamespace 接口创建,通过 ListNamespaces 接口查看列表。
    mynamespace
    NamespacePasswordstring

    命名空间对应的密码。

    说明 本值为 CreateNamespace 接口指定。
    testpassword
    RegionIdstring

    实例所在的地域 ID。

    cn-hangzhou
    FileNamestring

    文件名。

    注意
  • 文件建议带有文档类型后缀,如.json.md.pdf。如果不带后缀,将使用默认的非结构化加载器加载。
  • 图片文件必须带有文件后缀,当前支持的图片后缀:bmpjpgjpegpngtiff
  • 图片文件支持上传压缩包,压缩包必须带有文件后缀,支持的压缩包格式:targzzip
  • mydoc.txt
    FileUrlstring

    公网可访问的文档 URL 地址。

    说明
  • 建议使用 SDK 调用此接口,SDK 帮封装了 UploadDocumentAsyncAdvance 方法可直接上传本地文件。
  • 如果是图片压缩包地址,当前压缩包里的图片数目最多为 100 张。
  • https://xx/mydoc.txt
    Metadataobject

    元数据信息,需和创建文档库(CreateDocumentCollection)时指定的 Metadata 字段一致。

    any

    元数据信息,需和创建文档库(CreateDocumentCollection)时指定的 Metadata 字段一致。

    {"title":"mytitle","page":1}
    ChunkSizeinteger

    处理大型数据的切分策略:数据拆分成较小的部分时每个块的大小。最大值 2048。

    250
    ChunkOverlapinteger

    处理大型数据的切分策略:在分块处理时,连续的块之间重叠的数据量。最大值不能超过 ChunkSize。

    说明 这是为了防止数据被截断而丢失上下文信息。例如,在处理一个长文本时,您可能希望确保两个连续的文本块有一定量的重叠文本,这样模型就可以更好地理解两个块之间的上下文关系。
    50
    Separatorsarray

    处理大型数据的切分策略:分隔符。

    说明
  • Seprators 是影响切分效果的关键参数,且和 TextSplitterName 指定的切分器相关。
  • 一般情况下不许指定,服务端会按照 TextSplitterName 自动适配。
  • string

    分隔符。

    DryRunboolean

    是否只做文档理解和切分,不做向量化和入库。默认为 false。

    说明 当不确定文档切分效果时,可先设置此值为 true 查看切分效果进行调优。
    false
    ZhTitleEnhanceboolean

    是否开启中文标题加强。

    说明 文档理解时,通过增加标题判断,判断哪些文本为标题,并在 metadata 中进行标记, 然后将文本与往上一级的标题进行拼合,实现文本信息的增强。
    false
    TextSplitterNamestring

    切分器名称。取值说明:

    • ChineseRecursiveTextSplitter(默认值):继承于 RecursiveCharacterTextSplitter,默认以["\n\n","\n", "。|!|?","\.\s|\!\s|\?\s", ";|;\s", ",|,\s"]作为分隔符,使用正则匹配,中文比 RecursiveCharacterTextSplitter 效果更好一些。
    • SpacyTextSplitter:默认以["\n\n", "\n", " ", ""]作为分隔符。可以支持c++/go/java/js/php/proto/python/rst/ruby/rust/scala/swift/markdown/latex/html/sol/csharp等多种代码语言的切分。
    • RecursiveCharacterTextSplitter:默认分隔符为\n\n,使用 Spacy 库的 en_core_web_sm 模型来分隔;对全英文文档支持较好。
    • MarkdownHeaderTextSplitter:针对 markdown 类型,使用 [ ("#", "head1"), ("##", "head2"), ("###", "head3"), ("####", "head4") ]来切分。
    ChineseRecursiveTextSplitter
    DocumentLoaderNamestring

    建议无需指定,会按照文件扩展名自动匹配加载器,支持的列表如下:

    • UnstructuredHTMLLoader:.html
    • UnstructuredMarkdownLoader:.md
    • PyMuPDFLoader:.pdf
    • PyPDFLoader:.pdf
    • RapidOCRPDFLoader:.pdf
    • JSONLoader:.json
    • CSVLoader:.csv
    • RapidOCRLoader:.png、.jpg.jpeg.bmp
    • UnstructuredFileLoader:.eml.msg.rst.txt.docx.epub.odt.pptx.tsv
    PyMuPDFLoader

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

    ABB39CC3-4488-4857-905D-2E4A051D0521
    Messagestring

    返回信息。

    success
    Statusstring

    创建状态,取值说明:

    • success:成功
    • fail:失败
    success
    JobIdstring

    任务 ID,用于后续查看任务状态或者取消任务。

    231460f8-75dc-405e-a669-0c5204887e91

    示例

    正常返回示例

    JSON格式

    {
      "RequestId": "ABB39CC3-4488-4857-905D-2E4A051D0521",
      "Message": "success",
      "Status": "success",
      "JobId": "231460f8-75dc-405e-a669-0c5204887e91"
    }

    错误码

    访问错误中心查看更多错误码。