設定Google Cloud 帳戶並建立處理器後,即可向 Document AI 處理器傳送要求。
用於傳送要求的程式碼適用於所有處理器。您會發現每個處理器輸出的資訊中,處理器運作方式有所差異。
使用 Document AI 的 v1 API 版本或 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==
- FIELD_MASK:指定要納入
Document輸出內容的欄位。這是以逗號分隔的完整欄位名稱清單,格式為FieldMask。- 範例:
text,entities,pages.pageNumber
- 範例:
- INDIVIDUAL_PAGES:要處理的個別頁面清單。
† 您也可以在 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"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process" | Select-Object -Expand Content
如果要求成功,伺服器會傳回 200 OK HTTP 狀態碼與 JSON 格式的回應。回應主體包含 Document 的例項。
向處理器版本傳送要求
使用任何要求資料之前,請先修改下列項目的值:
- LOCATION:處理器的位置,例如:
us- 美國eu- 歐盟
- PROJECT_ID: Google Cloud 專案 ID。
- PROCESSOR_ID:自訂處理器的 ID。
- PROCESSOR_VERSION:處理器版本 ID。詳情請參閱「選取處理器版本」。例如:
pretrained-TYPE-vX.X-YYYY-MM-DDstablerc
- skipHumanReview:用來停用人工審查的布林值 (僅支援人機迴圈處理器)。
true- 略過人工審查false- 啟用人工審查 (預設)
- MIME_TYPE†:其中一個有效的 MIME 類型選項。
- IMAGE_CONTENT†:其中一個有效的內嵌文件內容,以位元組串流表示。如果是 JSON 表示法,則為二進位圖片資料的 Base64 編碼 (ASCII 字串)。這個字串應類似下列字串:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- FIELD_MASK:指定要納入
Document輸出內容的欄位。這是以逗號分隔的完整欄位名稱清單,格式為FieldMask。- 範例:
text,entities,pages.pageNumber
- 範例:
† 您也可以在 inlineDocument 物件中使用 Base64 編碼的內容指定這項內容。
HTTP 方法和網址:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process
JSON 要求內文:
{
"skipHumanReview": skipHumanReview,
"rawDocument": {
"mimeType": "MIME_TYPE",
"content": "IMAGE_CONTENT"
},
"fieldMask": "FIELD_MASK"
}
如要傳送要求,請選擇以下其中一個選項:
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/processorVersions/PROCESSOR_VERSION:process"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `