发送处理请求

设置 Google Cloud 账号创建处理器后,您可以向 Document AI 处理器发送请求。

用于发送请求的代码对于所有处理器都是相同的。您会发现,每个处理器输出的信息中都存在处理器功能方面的差异。

使用 v1 API 版本的 Document AI 或在 Google Cloud 控制台中,您可以向该特定处理器版本发送处理请求。如果您未指定处理器版本,则系统会使用默认版本。 如需了解详情,请参阅管理处理器版本

在线处理

通过在线(同步)请求,您可以发送单个文档进行处理。 Document AI 会立即处理请求并返回 document

向处理方发送请求

以下代码示例展示了如何向处理器发送请求。

REST

此示例展示了如何在 rawDocument 对象中提供文档内容(以字节为单位的原始文档内容,通过 base64 编码的字符串提供)。

或者,您也可以指定 inlineDocument,这与 Document AI 返回的 Document JSON 格式相同。这样,您便可以通过来回传递相同格式来链接请求(例如,如果您对文档进行分类,然后提取其内容)。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:处理器的位置,例如:
    • us - 美国
    • eu - 欧盟
  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • PROCESSOR_ID:自定义处理器的 ID。
  • skipHumanReview:一个布尔值,用于停用人工审核(仅受人机协同处理器支持)。
    • true - 跳过人工审核
    • false - 启用人工审核(默认)
  • MIME_TYPE:有效的 MIME 类型选项之一。
  • IMAGE_CONTENT:有效的内嵌文档内容之一,表示为字节流。对于 JSON 表示形式,二进制图片数据的 base64 编码(ASCII 字符串)。此字符串应类似于以下字符串:
    • /9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
    如需了解详情,请参阅 Base64 编码主题。
  • FIELD_MASK:指定要在 Document 输出中包含哪些字段。这是完全限定字段名称的逗号分隔列表,格式为 FieldMask
    • 示例:text,entities,pages.pageNumber
  • INDIVIDUAL_PAGES:要处理的各个网页的列表。
    • 或者,提供字段 fromStartfromEnd 以处理文档开头或结尾处的指定数量的页面。

† 也可以使用 inlineDocument 对象中的 base64 编码内容来指定此内容。

HTTP 方法和网址:

POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process

请求 JSON 正文:

{
  "skipHumanReview": skipHumanReview,
  "rawDocument": {
    "mimeType": "MIME_TYPE",
    "content": "IMAGE_CONTENT"
  },
  "fieldMask": "FIELD_MASK",
  "processOptions": {
    "individualPageSelector" {
      "pages": [INDIVIDUAL_PAGES]
    }
  }
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process"