I servizi di traduzione Vertex AI e riconoscimento ottico dei caratteri (OCR) si combinano per fornire una funzionalità di elaborazione dei documenti chiamata Traduzione documenti.
Traduzione documenti traduce direttamente i documenti formattati, come i file PDF. Rispetto alle traduzioni di testo normale, la funzionalità conserva la formattazione e il layout originali nei documenti tradotti, aiutandoti a mantenere gran parte del contesto originale, come le interruzioni di paragrafo.
Traduzione documenti supporta le traduzioni dei documenti in linea, dai bucket di archiviazione e in batch.
Questa pagina ti guida attraverso un'esperienza interattiva utilizzando la funzionalità di elaborazione dei documenti su Google Distributed Cloud (GDC) air-gapped per tradurre i documenti mantenendone il formato.
Formati supportati
Traduzione documenti supporta i seguenti tipi di file di input e i relativi tipi di file di output associati:
| Input | Tipo MIME del documento | Output |
|---|---|---|
application/pdf |
PDF, DOCX | |
| DOC | application/msword |
DOC, DOCX |
| DOCX | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
DOCX |
| PPT | application/vnd.ms-powerpoint |
PPT, PPTX |
| PPTX | application/vnd.openxmlformats-officedocument.presentationml.presentation |
PPTX |
| XLS | application/vnd.ms-excel |
XLS, XLSX |
| XLSX | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
XLSX |
Traduzioni di documenti PDF originali e scansionati
Traduzione documenti supporta i file PDF originali e scansionati, incluse le traduzioni da o verso lingue con scrittura da destra a sinistra. Inoltre, Traduzione documenti conserva i link ipertestuali, le dimensioni e il colore dei caratteri dei file.
Prima di iniziare
Prima di poter iniziare a utilizzare la funzionalità di elaborazione dei documenti, devi avere un progetto denominato dt-project. La risorsa personalizzata del progetto deve essere simile all'esempio seguente:
apiVersion: resourcemanager.gdc.goog/v1
kind: Project
metadata:
labels:
atat.config.google.com/clin-number: CLIN_NUMBER
atat.config.google.com/task-order-number: TASK_ORDER_NUMBER
name: dt-project
namespace: platform
Inoltre, devi abilitare le API preaddestrate di traduzione Vertex AI e OCR e disporre delle credenziali appropriate. Valuta la possibilità di installare le librerie client di traduzione Vertex AI e OCR per facilitare le chiamate API. Per ulteriori informazioni sui prerequisiti, consulta Configurare un progetto di traduzione.
Traduci un documento da un bucket di archiviazione
Per tradurre un documento archiviato in un bucket, utilizza l'API Translation di Vertex AI.
Questa sezione descrive come tradurre un documento da un bucket e archiviare il risultato in un altro percorso del bucket di output. La risposta restituisce anche un flusso di byte. Puoi specificare il tipo MIME. Se non lo fai, Traduzione documenti lo determina utilizzando l'estensione del file di input.
Traduzione documenti supporta il rilevamento automatico della lingua per i documenti archiviati nei bucket. Se non specifichi un codice della lingua di origine, Traduzione documenti rileva la lingua per conto tuo. La lingua rilevata è inclusa nell'output nel campo detectedLanguageCode.
Segui questi passaggi per tradurre un documento da un bucket di archiviazione:
- Configura l'interfaccia a riga di comando gdcloud per l'archiviazione degli oggetti.
Crea un bucket di archiviazione nello spazio dei nomi
dt-project. Utilizza una classe di archiviazioneStandard.Puoi creare il bucket di archiviazione eseguendo il deployment di una risorsa
Bucketnello spazio dei nomidt-project:apiVersion: object.gdc.goog/v1 kind: Bucket metadata: name: dt-bucket namespace: dt-project spec: description: bucket for document vision service storageClass: Standard bucketPolicy: lockingPolicy: defaultObjectRetentionDays: 90Concedi le autorizzazioni
readewritesul bucket al account di servizio (ai-translation-system-sa) utilizzato dal servizio di traduzione Vertex AI.Puoi seguire questi passaggi per creare il ruolo e l'associazione dei ruoli utilizzando le risorse personalizzate:
Crea il ruolo eseguendo il deployment di una risorsa
Rolenello spazio dei nomidt-project:apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: dvs-reader-writer namespace: dt-project rules: - apiGroups: - object.gdc.goog resources: - buckets verbs: - read-object - write-objectCrea l'associazione dei ruoli eseguendo il deployment di una risorsa
RoleBindingnello spazio dei nomidt-project:apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: dvs-reader-writer-rolebinding namespace: dt-project roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: dvs-reader-writer subjects: - kind: ServiceAccount name: ai-translation-system-sa namespace: g-vai-translation-sie
Carica il documento nel bucket di archiviazione che hai creato. Per ulteriori informazioni, consulta Caricare e scaricare oggetti di archiviazione nei progetti.
Effettua una richiesta all'API preaddestrata di traduzione Vertex AI:
curl
Segui questi passaggi per effettuare una richiesta
curl:Salva il seguente file
request.json:cat <<- EOF > request.json { "parent": "projects/PROJECT_ID/locations/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "mime_type": "application/pdf", "s3_source": { "input_uri": "s3://INPUT_FILE_PATH" } }, "document_output_config": { "mime_type": "application/pdf" }, "enable_rotation_correction": "true" } EOFSostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.SOURCE_LANGUAGE: la lingua in cui è scritto il documento. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.TARGET_LANGUAGE: la lingua o le lingue in cui vuoi tradurre il documento. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.INPUT_FILE_PATH: il percorso del file del documento nel bucket di archiviazione.
Modifica il valore
mime_typein base al documento.Effettua la richiesta:
curl -vv --data-binary @- -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT:443/v3/projects/PROJECT_ID/locations/PROJECT_ID:translateDocument < request.jsonSostituisci quanto segue:
TOKEN: il token di autenticazione che hai ottenuto.ENDPOINT: l'endpoint di traduzione Vertex AI che utilizzi per la tua organizzazione. Per ulteriori informazioni, consulta Stato del servizio ed endpoint.PROJECT_ID: il tuo ID progetto.
Traduci un documento in linea
Questa sezione descrive come inviare un documento in linea come parte della richiesta API. Devi includere il tipo MIME per le traduzioni dei documenti in linea.
Traduzione documenti supporta il rilevamento automatico della lingua per le traduzioni di testo in linea. Se non specifichi un codice della lingua di origine, Traduzione documenti rileva la lingua per conto tuo. La lingua rilevata è inclusa nell'output nel campo detectedLanguageCode.
Effettua una richiesta all'API preaddestrata di traduzione Vertex AI:
curl
Segui questi passaggi per effettuare una richiesta curl:
Effettua la richiesta:
echo '{"parent": "projects/PROJECT_ID/locations/PROJECT_ID","source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "mime_type": "application/pdf", "content": "'$(base64 -w 0 INPUT_FILE_PATH)'" }, "document_output_config": { "mime_type": "application/pdf" }, "enable_rotation_correction": "true"}' | curl --data-binary @- -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/locations/PROJECT_ID:translateDocument
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.SOURCE_LANGUAGE: la lingua in cui è scritto il documento. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.TARGET_LANGUAGE: la lingua o le lingue in cui vuoi tradurre il documento. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.INPUT_FILE_PATH: il percorso del file del documento in locale.TOKEN: il token di autenticazione che hai ottenuto.ENDPOINT: l'endpoint di traduzione Vertex AI che utilizzi per la tua organizzazione. Per ulteriori informazioni, consulta Stato del servizio ed endpoint.
Traduci documenti in batch
La traduzione batch ti consente di tradurre più file in più lingue in un'unica richiesta. Per ogni richiesta, puoi inviare fino a 100 file con una dimensione totale dei contenuti fino a 1 GB o 100 milioni di punti di codice Unicode, a seconda del limite raggiunto per primo. Puoi specificare un modello di traduzione specifico per ogni lingua.
Per ulteriori informazioni, consulta batchTranslateDocument.
Traduci più documenti
L'esempio seguente include più configurazioni di input. Ogni configurazione di input è un puntatore a un file in un bucket di archiviazione.
Effettua una richiesta all'API preaddestrata di traduzione Vertex AI:
curl
Segui questi passaggi per effettuare una richiesta curl:
Salva il seguente corpo della richiesta in un file denominato
request.json:{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": ["TARGET_LANGUAGE", ...], "input_configs": [ { "s3_source": { "input_uri": "s3://INPUT_FILE_PATH_1" } }, { "s3_source": { "input_uri": "s3://INPUT_FILE_PATH_2" } }, ... ], "output_config": { "s3_destination": { "output_uri_prefix": "s3://OUTPUT_FILE_PREFIX" } } }Sostituisci quanto segue:
SOURCE_LANGUAGE: il codice lingua dei documenti di input. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.TARGET_LANGUAGE: la lingua o le lingue di destinazione in cui tradurre i documenti di input. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.INPUT_FILE_PATH: il percorso del bucket di archiviazione e il nome file di uno o più documenti di input.OUTPUT_FILE_PREFIX: il percorso del bucket di archiviazione in cui sono archiviati tutti i documenti di output.
Effettua la richiesta:
curl -X POST \ -H "Authorization: Bearer TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://ENDPOINT:443/v3/projects/PROJECT_ID/locations/PROJECT_ID:batchTranslateDocument"Sostituisci quanto segue:
TOKEN: il token di autenticazione che hai ottenuto.ENDPOINT: l'endpoint di traduzione Vertex AI che utilizzi per la tua organizzazione. Per ulteriori informazioni, consulta Stato del servizio ed endpoint.PROJECT_ID: il tuo ID progetto.
La risposta contiene l'ID di un'operazione a lunga esecuzione:
{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
"state": "RUNNING"
}
}
Traduci e converti un file PDF originale
L'esempio seguente traduce e converte un file PDF originale in un file DOCX. Puoi specificare più input di vari tipi di file; non devono essere tutti file PDF originali. Tuttavia, i file PDF scansionati non possono essere inclusi quando effettui una conversione; la richiesta viene rifiutata e non vengono eseguite traduzioni. Vengono tradotti e convertiti in file DOCX solo i file PDF originali. Ad esempio, se includi file PPTX, questi vengono tradotti e restituiti come file PPTX.
Se traduci regolarmente un mix di file PDF scansionati e originali, ti consigliamo di organizzarli in bucket separati. In questo modo, quando richiedi una traduzione e una conversione batch, puoi escludere il bucket che contiene i file PDF scansionati invece di dover escludere i singoli file.
Effettua una richiesta all'API preaddestrata di traduzione Vertex AI:
curl
Segui questi passaggi per effettuare una richiesta curl:
Salva il seguente corpo della richiesta in un file denominato
request.json:{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": ["TARGET_LANGUAGE", ...], "input_configs": [ { "s3_source": { "input_uri": "s3://INPUT_FILE_PATH_1" } }, { "s3_source": { "input_uri": "s3://INPUT_FILE_PATH_2" } }, ... ], "output_config": { "s3_destination": { "output_uri_prefix": "s3://OUTPUT_FILE_PREFIX" } }, "format_conversions": { "application/pdf": "application/vnd.openxmlformats-officedocument.wordprocessingml.document" } }Sostituisci quanto segue:
SOURCE_LANGUAGE: il codice lingua dei documenti di input. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.TARGET_LANGUAGE: la lingua o le lingue di destinazione in cui tradurre i documenti di input. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.INPUT_FILE_PATH: il percorso del bucket di archiviazione e il nome file di uno o più documenti di input.OUTPUT_FILE_PREFIX: il percorso del bucket di archiviazione in cui sono archiviati tutti i documenti di output.
Effettua la richiesta:
curl -X POST \ -H "Authorization: Bearer TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://ENDPOINT:443/v3/projects/PROJECT_ID/locations/PROJECT_ID:batchTranslateDocument"Sostituisci quanto segue:
TOKEN: il token di autenticazione che hai ottenuto.ENDPOINT: l'endpoint di traduzione Vertex AI che utilizzi per la tua organizzazione. Per ulteriori informazioni, consulta Stato del servizio ed endpoint.PROJECT_ID: il tuo ID progetto.
La risposta contiene l'ID di un'operazione a lunga esecuzione:
{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
"state": "RUNNING"
}
}
Utilizza un glossario
Puoi includere un glossario per gestire la terminologia di un ambito specifico. Se specifichi un glossario, devi indicare la lingua di origine. L'esempio seguente utilizza un glossario. Puoi specificare fino a 10 lingue di destinazione con il relativo glossario.
Se specifichi un glossario per alcune lingue di destinazione, il sistema non utilizza alcun glossario per le lingue non specificate.
Effettua una richiesta all'API preaddestrata di traduzione Vertex AI:
curl
Segui questi passaggi per effettuare una richiesta curl:
Salva il seguente corpo della richiesta in un file denominato
request.json:{ "source_language_code": "SOURCE_LANGUAGE", "target_language_codes": ["TARGET_LANGUAGE", ...], "input_configs": [ { "s3_source": { "input_uri": "s3://INPUT_FILE_PATH" } } ], "output_config": { "s3_destination": { "output_uri_prefix": "s3://OUTPUT_FILE_PREFIX" } }, "glossaries": { "TARGET_LANGUAGE": { "glossary": "projects/GLOSSARY_PROJECT_ID" }, ... } }Sostituisci quanto segue:
SOURCE_LANGUAGE: il codice lingua dei documenti di input. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.TARGET_LANGUAGE: la lingua o le lingue di destinazione in cui tradurre i documenti di input. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.INPUT_FILE_PATH: il percorso del bucket di archiviazione e il nome file di uno o più documenti di input.OUTPUT_FILE_PREFIX: il percorso del bucket di archiviazione in cui sono archiviati tutti i documenti di output.GLOSSARY_PROJECT_ID: l'ID progetto in cui si trova il glossario.
Effettua la richiesta:
curl -X POST \ -H "Authorization: Bearer TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://ENDPOINT:443/v3/projects/PROJECT_ID/locations/PROJECT_ID:batchTranslateDocument"Sostituisci quanto segue:
TOKEN: il token di autenticazione che hai ottenuto.ENDPOINT: l'endpoint di traduzione Vertex AI che utilizzi per la tua organizzazione. Per ulteriori informazioni, consulta Stato del servizio ed endpoint.PROJECT_ID: il tuo ID progetto.
La risposta contiene l'ID di un'operazione a lunga esecuzione:
{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
"state": "RUNNING"
}
}