UploadDocumentAsync - 异步上传文档

更新时间:2025-02-11 02:59:49

异步上传文档。

接口说明

服务器根据文件扩展名加载并分割文档,使用在调用 CreateDocumentCollection 操作时指定的嵌入模型进行向量化处理,然后将文档写入指定的文档集合。此操作支持多种格式的文本和图像的多模态嵌入。

相关操作:

  • 您可以调用 GetUploadDocumentJob 操作来查询文档上传作业的进度和结果。
  • 您可以调用 CancelUploadDocumentJob 操作来取消一个文档上传作业。
说明
  • 在提交文档上传请求后,该请求将被排队等待处理。在资源访问管理(RAM)用户或阿里云账号下,最多可以处理 20 个处于“待处理”和“运行中”状态的文档。
  • 一个文本文档最多可以被分割成 100,000 个片段。
  • 如果文档集合使用了 OnePeace 模型,则每个 RAM 用户或阿里云账号最多可以上传并查询 10,000 张图片。
  • 调试

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

    授权信息

    下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

    • 操作:是指具体的权限点。
    • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
    • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
      • 对于必选的资源类型,用前面加 * 表示。
      • 对于不支持资源级授权的操作,用全部资源表示。
    • 条件关键字:是指云产品自身定义的条件关键字。
    • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
    操作访问级别资源类型条件关键字关联操作
    操作访问级别资源类型条件关键字关联操作
    gpdb:UploadDocumentAsynccreate
    *Document
    acs:gpdb:{#regionId}:{#accountId}:document/{#DBInstanceId}

    请求参数

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

    启用了向量引擎优化加速的实例 ID。您可以调用 DescribeDBInstances API 来查看目标区域中所有 AnalyticDB PostgreSQL 实例的详细信息,包括实例 ID。

    gp-bp12ga6v69h86****
    Collectionstring

    文档库的名称。

    说明
    CreateDocumentCollection API 创建. 您可以调用 ListDocumentCollections API 来查看已创建的文档库。
    document
    Namespacestring

    命名空间,默认为 public。您可以通过 CreateNamespace 接口创建一个命名空间,并通过 ListNamespaces 接口查看命名空间列表。

    mynamespace
    NamespacePasswordstring

    对应于命名空间的密码。该值由 CreateNamespace 接口指定。

    testpassword
    RegionIdstring

    实例的区域 ID。

    cn-hangzhou
    FileNamestring

    文档的文件名。

    说明
  • 我们建议您在文件名中添加扩展名。例如:.json、.md 和 .pdf。如果您不添加扩展名,默认将使用为非结构化数据设计的加载器。
  • 如果涉及图像文件,文件名必须包含扩展名。支持的扩展名包括:.bmp、.jpg、.jpeg、.png 和 .tiff。
  • 您可以使用压缩包上传图像。压缩包的文件名必须包含扩展名。支持的压缩包扩展名包括:.tar、.gz 和 .zip。
  • mydoc.txt
    FileUrlstring

    公开访问文档的 URL。

    说明
    建议使用 SDK 调用此接口,SDK 提供了一个名为 UploadDocumentAsyncAdvance 的方法,可以直接上传本地文件。 如果是图像归档 URL,当前归档中的图像数量不应超过 100 个
    https://xx/mydoc.txt
    Metadataobject

    元数据。此参数的值必须与调用 CreateDocumentCollection 操作时指定的 Metadata 参数相同。

    any

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

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

    处理大数据的策略:当数据被分割成较小的部分时,每块的大小。最大值为 2048。

    250
    ChunkOverlapinteger

    连续块之间重叠的数据大小。此参数的最大值不能大于 ChunkSize 参数的值。

    说明
    该参数用于防止由于数据截断而导致的上下文丢失。例如,当您上传长文本时,可以在连续的块之间保留特定的重叠文本内容,以便更好地理解上下文。
    50
    Separatorsarray

    用于分割大量数据的分隔符。

    说明
  • 这是一个重要的参数,决定了数据分块的效果。此参数与由 TextSplitterName 参数指定的分隔器相关。
  • 在大多数情况下,您不需要指定此参数。服务器会根据 TextSplitterName 参数的值来分配分隔符。
  • string

    分隔符。

    .
    DryRunboolean

    指定是否仅执行文档理解和分块,而不进行向量化和存储。默认值为 false。

    说明
    您可以将此参数设置为 true,检查分块效果,然后根据需要进行优化。
    false
    ZhTitleEnhanceboolean

    指定是否启用标题增强。

    说明
    您可以确定标题文本,在元数据中标记该文本,然后将该文本与上一级标题结合,以实现文本增强。
    false
    TextSplitterNamestring

    分隔器的名称。有效值包括:

    • ChineseRecursiveTextSplitter:继承自 RecursiveCharacterTextSplitter, 默认使用["\n\n","\n", "。|!|?", "\.\s|\!\s|\?\s", ";|;\s", ",|,\s"] 为分隔符,并使用正则表达式来匹配文本。
    • RecursiveCharacterTextSplitter: 默认使用["\n\n", "\n", " ", ""] 作为分隔符。该分隔器支持分割如 C++, Go, Java, JS, PHP, Proto, Python, RST, Ruby, Rust, Scala, Swift, Markdown, LaTeX, HTML, Sol, 和 C Sharp 等语言的代码.
    • SpacyTextSplitter: 默认使用\n\n 作为分隔符,并使用 spaCy 的 en_core_web_sm 模型。该分隔器可以获得更好的分割效果。
    • MarkdownHeaderTextSplitter: 以[("#", "head1"), ("##", "head2"), ("###", "head3"), ("####", "head4")格式分割文本。该分隔器适用于 Markdown 文本。
    ChineseRecursiveTextSplitter
    DocumentLoaderNamestring

    文档加载器的名称。您不需要指定此参数,系统会根据文件扩展名自动选择相应的文档加载器。有效值包括:

    • UnstructuredHTMLLoader:.html
    • UnstructuredMarkdownLoader:.md
    • PyMuPDFLoader:.pdf
    • PyPDFLoader:.pdf
    • RapidOCRPDFLoader:.pdf
    • PDFWithImageRefLoader:.pdf (with the text-image association feature)
    • 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"
    }

    错误码

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

    • 本页导读 (1)
    • 接口说明
    • 调试
    • 授权信息
    • 请求参数
    • 返回参数
    • 示例
    • 错误码

    点击开启售前

    在线咨询服务