Il servizio di riconoscimento ottico dei caratteri (OCR) di Vertex AI nell'appliance Google Distributed Cloud (GDC) con air gap rileva ed estrae il testo dai file PDF e TIFF. Puoi inviare file locali direttamente nelle richieste in linea al metodo API BatchAnnotateFiles, che supporta una singola richiesta per chiamata batch.
Prima di iniziare
Prima di poter iniziare a utilizzare l'API OCR, devi avere un progetto con l'API OCR abilitata e le credenziali appropriate. Puoi anche installare librerie client per facilitare le chiamate all'API. Per saperne di più, consulta Configura un progetto di riconoscimento dei caratteri.
Rileva il testo con richieste in linea
Il metodo BatchAnnotateFiles rileva il testo da un gruppo di file PDF o TIFF.
Invia il file da cui vuoi rilevare il testo direttamente come contenuto nella richiesta API. Il sistema restituisce il testo rilevato risultante in formato JSON nella risposta dell'API.
Devi specificare i valori per i campi nel corpo JSON della richiesta API. La tabella seguente contiene una descrizione dei campi del corpo della richiesta che devi fornire quando utilizzi il metodo API BatchAnnotateFiles per le tue richieste di rilevamento del testo:
| Campi del corpo della richiesta | Descrizione del campo |
|---|---|
content |
I file con il testo da rilevare. Fornisci la rappresentazione Base64 (stringa ASCII) dei contenuti del file binario. |
mime_type |
Il tipo di file di origine. Devi impostarlo su uno dei seguenti valori:
|
type |
Il tipo di rilevamento del testo di cui hai bisogno dal file. Specifica una delle due funzionalità di annotazione:
|
language_hints |
Facoltativo. Elenco delle lingue da utilizzare per il rilevamento del testo. Il sistema interpreta un valore vuoto per questo campo come rilevamento automatico della lingua. Non è necessario impostare il campo language_hints per le lingue basate sull'alfabeto latino.Se conosci la lingua del testo nel file, l'impostazione di un suggerimento migliora i risultati. |
pages |
Facoltativo. Il numero di pagine del file da elaborare per il rilevamento del testo. Il numero massimo di pagine che puoi specificare è cinque. Se non specifichi il numero di pagine, il servizio elabora le prime cinque pagine del file. |
Effettua una richiesta API in linea
Invia una richiesta all'API preaddestrata OCR utilizzando il metodo API REST. In alternativa, interagisci con l'API OCR preaddestrata da uno script Python per rilevare il testo dai file PDF o TIFF.
I seguenti esempi mostrano come rilevare il testo in un file utilizzando l'OCR:
REST
Segui questi passaggi per rilevare il testo nei file utilizzando il metodo dell'API REST:
Salva il seguente file
request.jsonper il corpo della richiesta:cat <<- EOF > request.json { "requests": [ { "input_config": { "content": BASE64_ENCODED_FILE, "mime_type": "application/pdf" }, "features": [ { "type": "FEATURE_TYPE" } ], "image_context": { "language_hints": [ "LANGUAGE_HINT_1", "LANGUAGE_HINT_2", ... ] }, "pages": [] } ] } EOFSostituisci quanto segue:
BASE64_ENCODED_FILE: la rappresentazione Base64 (stringa ASCII) dei contenuti del file binario. Questa stringa inizia con caratteri simili a/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==.FEATURE_TYPE: il tipo di rilevamento del testo che ti serve dal file. I valori consentiti sonoTEXT_DETECTIONoDOCUMENT_TEXT_DETECTION.LANGUAGE_HINT: i tag di lingua BCP 47 da utilizzare come suggerimenti di lingua per il rilevamento del testo, ad esempioen-t-i0-handwrit. Questo campo è facoltativo e il sistema interpreta un valore vuoto come rilevamento automatico della lingua.
Effettua la richiesta:
curl
curl -X POST \ -H "Authorization: Bearer TOKEN" \ -H "x-goog-user-project: projects/PROJECT_ID" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ https://ENDPOINT/v1/files:annotateSostituisci quanto segue:
TOKEN: il token di autenticazione che hai ottenuto.PROJECT_ID: il tuo ID progetto.ENDPOINT: l'endpoint OCR che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.
PowerShell
$headers = @{ "Authorization" = "Bearer TOKEN" "x-goog-user-project" = "projects/PROJECT_ID" } Invoke-WebRequest -Method POST -Headers $headers -ContentType: "application/json; charset=utf-8" -InFile request.json -Uri "ENDPOINT/v1/files:annotate" | Select-Object -Expand ContentSostituisci quanto segue:
TOKEN: il token di autenticazione che hai ottenuto.ENDPOINT: l'endpoint OCR che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.
Python
Segui questi passaggi per utilizzare il servizio OCR da uno script Python per rilevare il testo in un file:
Imposta le variabili di ambiente richieste in uno script Python.
Aggiungi il seguente codice allo script Python che hai creato:
from google.cloud import vision import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience = "https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def vision_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return vision.ImageAnnotatorClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) except Exception as e: print("Caught exception" + str(e)) raise e return creds def vision_func(creds): vc = vision_client(creds) input_config = {"content": "BASE64_ENCODED_FILE"} features = [{"type_": vision.Feature.Type.FEATURE_TYPE}] # Each requests element corresponds to a single file. To annotate more # files, create a request element for each file and add it to # the array of requests req = {"input_config": input_config, "features": features} metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = vc.annotate_file(req,metadata=metadata) print(resp) if __name__=="__main__": creds = main() vision_func(creds)Sostituisci quanto segue:
ENDPOINT: l'endpoint OCR che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.BASE64_ENCODED_FILE: la rappresentazione Base64 (stringa ASCII) dei contenuti del file. Questa stringa inizia con caratteri simili a/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==.FEATURE_TYPE: il tipo di rilevamento del testo che ti serve dal file. I valori consentiti sonoTEXT_DETECTIONoDOCUMENT_TEXT_DETECTION.PROJECT_ID: il tuo ID progetto.
Salva lo script Python.
Esegui lo script Python per rilevare il testo nel file:
python SCRIPT_NAMESostituisci
SCRIPT_NAMEcon il nome che hai assegnato allo script Python, ad esempiovision.py.