Request Human Review of a Document

After you have set up your Google Cloud account, created a processor, and enabled human review, you can send a review request to your processor. This page provides details for how to request ad-hoc Human Review of a document.

Request Human Review

Web UI

  1. Open the Human-in-the-Loop page in the Google Cloud console.

    Go to the Human-in-the-Loop dashboard

  2. Click on the processor you want to use for human review.

  3. Select Upload Documentand upload a local file to be sent for review. Allow 1-2 minutes for the document to appear in the review queue.

REST

Before using any of the request data, make the following replacements:

  • PROJECT_ID : Your Google Cloud project ID.
  • LOCATION : your processor's location , for example:
    • us - United States
    • eu - European Union
  • PROCESSOR_ID : the ID of your custom processor.
  • ENABLE_SCHEMA_VALIDATION : Whether schema validation should be performed on the ad-hoc review request.
    • true - Enables schema validation on the ad-hoc review request.
    • false - Disables schema validation on the ad-hoc review request.
  • PRIORITY : The priority of the human review task.
    • DEFAULT - The default priority level.
    • URGENT - The urgent priority level. The labeling manager should allocate labeler resource to the urgent task queue to respect this priority level.
  • DOCUMENT : A Document object that has already been processed by the processor configured for review.

HTTP method and URL:

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

Request JSON body:

{
  "enableSchemaValidation": ENABLE_SCHEMA_VALIDATION 
,
  "priority": " PRIORITY 
",
  "inlineDocument": " DOCUMENT 
"
}

To send your request, choose one of these options:

curl

Save the request body in a file named request.json , and execute the following command:

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 /humanReviewConfig:reviewDocument"

PowerShell

Save the request body in a file named request.json , and execute the following command:

$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 /humanReviewConfig:reviewDocument" | Select-Object -Expand Content

If the request is successful, the response contains an instance of Operation . You can read more about Long-Running Operations in the documentation.

{
  "name": "projects/ PROJECT_ID 
/locations/ LOCATION 
/operations/ OPERATION_ID 
",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.documentai.v1.ReviewDocumentOperationMetadata",
    "commonMetadata": {
      "state": "RUNNING",
      "createTime": "TIMESTAMP",
      "updateTime": "TIMESTAMP",
      "resource": "projects/ PROJECT_ID 
/locations/ LOCATION 
/processors/ PROCESSOR_ID 
/humanReviewConfig"
    }
  }
}

Python

For more information, see the Document AI Python API reference documentation .

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.api_core.client_options 
  
 import 
 ClientOptions 
 from 
  
 google.cloud 
  
 import 
 documentai 
 # type: ignore 
 # TODO(developer): Uncomment these variables before running the sample. 
 # project_id = 'YOUR_PROJECT_ID' 
 # location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu' 
 # processor_id = 'YOUR_PROCESSOR_ID' # Create processor before running sample 
 # file_path = '/path/to/local/pdf' 
 # mime_type = 'application/pdf'  # https://cloud.google.com/document-ai/docs/file-types 
 def 
  
 review_document_sample 
 ( 
 project_id 
 : 
 str 
 , 
 location 
 : 
 str 
 , 
 processor_id 
 : 
 str 
 , 
 file_path 
 : 
 str 
 , 
 mime_type 
 : 
 str 
 ) 
 - 
> None 
 : 
 # You must set the api_endpoint if you use a location other than 'us'. 
 opts 
 = 
 ClientOptions 
 ( 
 api_endpoint 
 = 
 f 
 " 
 { 
 location 
 } 
 -documentai.googleapis.com" 
 ) 
 # Create a client 
 client 
 = 
 documentai 
 . 
  DocumentProcessorServiceClient 
 
 ( 
 client_options 
 = 
 opts 
 ) 
 # Make Processing Request 
 inline_document 
 = 
 process_document 
 ( 
 project_id 
 , 
 location 
 , 
 processor_id 
 , 
 file_path 
 , 
 mime_type 
 ) 
 # Get the full resource name of the human review config, e.g.: 
 # projects/project_id/locations/location/processor/processor_id/humanReviewConfig 
 human_review_config 
 = 
 client 
 . 
  human_review_config_path 
 
 ( 
 project_id 
 , 
 location 
 , 
 processor_id 
 ) 
 # Options are DEFAULT, URGENT 
 priority 
 = 
 documentai 
 . 
  ReviewDocumentRequest 
 
 . 
  Priority 
 
 . 
 DEFAULT 
 # Configure the human review request 
 request 
 = 
 documentai 
 . 
  ReviewDocumentRequest 
 
 ( 
 inline_document 
 = 
 inline_document 
 , 
 human_review_config 
 = 
 human_review_config 
 , 
 enable_schema_validation 
 = 
 False 
 , 
 priority 
 = 
 priority 
 , 
 ) 
 # Make a request for human review of the processed document 
 operation 
 = 
 client 
 . 
  review_document 
 
 ( 
 request 
 = 
 request 
 ) 
 # Print operation name, can be used to check status of the request 
 print 
 ( 
 operation 
 . 
 operation 
 . 
 name 
 ) 
 def 
  
 process_document 
 ( 
 project_id 
 : 
 str 
 , 
 location 
 : 
 str 
 , 
 processor_id 
 : 
 str 
 , 
 file_path 
 : 
 str 
 , 
 mime_type 
 : 
 str 
 ) 
 - 
> documentai 
 . 
 Document 
 : 
 # You must set the api_endpoint if you use a location other than 'us'. 
 opts 
 = 
 ClientOptions 
 ( 
 api_endpoint 
 = 
 f 
 " 
 { 
 location 
 } 
 -documentai.googleapis.com" 
 ) 
 client 
 = 
 documentai 
 . 
  DocumentProcessorServiceClient 
 
 ( 
 client_options 
 = 
 opts 
 ) 
 # The full resource name of the processor, e.g.: 
 # projects/project_id/locations/location/processor/processor_id 
 name 
 = 
 client 
 . 
  processor_path 
 
 ( 
 project_id 
 , 
 location 
 , 
 processor_id 
 ) 
 # Read the file into memory 
 with 
 open 
 ( 
 file_path 
 , 
 "rb" 
 ) 
 as 
 image 
 : 
 image_content 
 = 
 image 
 . 
 read 
 () 
 # Load Binary Data into Document AI RawDocument Object 
 raw_document 
 = 
 documentai 
 . 
  RawDocument 
 
 ( 
 content 
 = 
 image_content 
 , 
 mime_type 
 = 
 mime_type 
 ) 
 # Configure the process request 
 request 
 = 
 documentai 
 . 
  ProcessRequest 
 
 ( 
 name 
 = 
 name 
 , 
 raw_document 
 = 
 raw_document 
 ) 
 result 
 = 
 client 
 . 
  process_document 
 
 ( 
 request 
 = 
 request 
 ) 
 return 
 result 
 . 
  document 
 
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: