I servizi Vertex AI Translation e Riconoscimento ottico dei caratteri (OCR) si combinano per fornire una funzionalità di elaborazione dei documenti chiamata Document Translate.
Document Translate traduce direttamente i documenti formattati, come i file PDF. Rispetto alle traduzioni di testo semplici, la funzionalità conserva la formattazione e il layout originali nei documenti tradotti, aiutandoti a mantenere gran parte del contesto originale, ad esempio le interruzioni di paragrafo.
Document Translate supporta le traduzioni di documenti inline, 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
Document Translate supporta i seguenti tipi di file di input e i relativi tipi di file di output:
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
Document Translate supporta i file PDF originali e scansionati, incluse le traduzioni da o verso lingue con scrittura da destra a sinistra. Inoltre, Document Translate conserva i link ipertestuali, le dimensioni dei caratteri 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 a quella
nell'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 Vertex AI Translation e OCR e disporre delle credenziali appropriate. Valuta la possibilità di installare le librerie client Vertex AI Translation e OCR per facilitare le chiamate API. Per ulteriori informazioni sui prerequisiti, consulta la sezione Configurare un progetto di traduzione.
Tradurre un documento da un bucket di archiviazione
Per tradurre un documento archiviato in un bucket, utilizza l'API Vertex AI Translation.
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; in caso contrario, Document Translate lo determina utilizzando l'estensione del file di input.
Document Translate supporta il rilevamento automatico della lingua per i documenti archiviati nei bucket. Se non specifichi un codice della lingua di origine, Document Translate rileva la lingua per te. La
lingua rilevata è inclusa nell'output nel campo detectedLanguageCode
.
Per tradurre un documento da un bucket di archiviazione:
- Configura gcloud CLI 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
Bucket
nello 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: 90
Concedi le autorizzazioni
read
ewrite
sul bucket al account di servizio (ai-translation-system-sa
) utilizzato dal servizio Vertex AI Translation.Per creare il ruolo e l'associazione di ruolo utilizzando risorse personalizzate:
Crea il ruolo eseguendo il deployment di una risorsa
Role
nello 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-object
Crea l'associazione di ruolo eseguendo il deployment di una risorsa
RoleBinding
nello 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: ai-translation-system
Carica il documento nel bucket di archiviazione che hai creato. Per ulteriori informazioni, vedi Caricare e scaricare oggetti di archiviazione nei progetti.
Invia una richiesta all'API preaddestrata Vertex AI Translation:
curl
Segui questi passaggi per inviare una richiesta di
curl
:Salva il seguente file
request.json
:cat <<- EOF > request.json { "parent": "projects/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" } EOF
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 relativi codici lingua.TARGET_LANGUAGE
: la lingua o le lingue in cui vuoi tradurre il documento. Consulta l'elenco delle lingue supportate e i relativi codici lingua.INPUT_FILE_PATH
: il percorso del file del documento nel bucket di archiviazione.
Modifica il valore di
mime_type
in base al tuo documento.Effettua la richiesta:
curl -vv --data-binary @- -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT:443/v3/projects/PROJECT_ID:translateDocument < request.json
Sostituisci quanto segue:
TOKEN
: il token di autenticazione che hai ottenuto.ENDPOINT
: l'endpoint Vertex AI Translation che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.PROJECT_ID
: il tuo ID progetto.
Tradurre un documento in linea
Questa sezione descrive come inviare un documento inline come parte della richiesta API. Devi includere il tipo MIME per le traduzioni di documenti in linea.
Document Translate supporta il rilevamento automatico della lingua per le traduzioni di testo in linea. Se non
specifica un codice della lingua di origine, Document Translate rileva la lingua per te. La lingua
rilevata è inclusa nell'output nel campo detectedLanguageCode
.
Invia una richiesta all'API preaddestrata Vertex AI Translation:
curl
Segui questi passaggi per inviare una richiesta di curl
:
Effettua la richiesta:
echo '{"parent": "projects/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: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 relativi codici lingua.TARGET_LANGUAGE
: la lingua o le lingue in cui vuoi tradurre il documento. Consulta l'elenco delle lingue supportate e i relativi codici lingua.INPUT_FILE_PATH
: il percorso del file del documento in locale.TOKEN
: il token di autenticazione che hai ottenuto.ENDPOINT
: l'endpoint Vertex AI Translation che utilizzi per la tua organizzazione. Per ulteriori informazioni, visualizza lo stato e gli endpoint del servizio.
Tradurre 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, vedi batchTranslateDocument
.
Tradurre più documenti
Il seguente esempio include più configurazioni di input. Ogni configurazione dell'input è un puntatore a un file in un bucket di archiviazione.
Invia una richiesta all'API preaddestrata Vertex AI Translation:
curl
Segui questi passaggi per inviare una richiesta di 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 relativi 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 relativi codici lingua.INPUT_FILE_PATH
: il percorso e il nome file del bucket di archiviazione di uno o più documenti di input.OUTPUT_FILE_PREFIX
: la posizione del bucket di archiviazione in cui vengono 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:batchTranslateDocument"
Sostituisci quanto segue:
TOKEN
: il token di autenticazione che hai ottenuto.ENDPOINT
: l'endpoint Vertex AI Translation che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli 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"
}
}
Tradurre e convertire 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 si include 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 anziché dover escludere i singoli file.
Invia una richiesta all'API preaddestrata Vertex AI Translation:
curl
Segui questi passaggi per inviare una richiesta di 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 relativi 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 relativi codici lingua.INPUT_FILE_PATH
: il percorso e il nome file del bucket di archiviazione di uno o più documenti di input.OUTPUT_FILE_PREFIX
: la posizione del bucket di archiviazione in cui vengono 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:batchTranslateDocument"
Sostituisci quanto segue:
TOKEN
: il token di autenticazione che hai ottenuto.ENDPOINT
: l'endpoint Vertex AI Translation che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli 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"
}
}
Utilizzare un glossario
Puoi includere un glossario per gestire la terminologia specifica del dominio. Se specifichi un glossario, devi specificare la lingua di origine. L'esempio seguente utilizza un glossario. Puoi specificare fino a 10 lingue di destinazione con il proprio glossario.
Se specifichi un glossario per alcune lingue di destinazione, il sistema non utilizza alcun glossario per le lingue non specificate.
Invia una richiesta all'API preaddestrata Vertex AI Translation:
curl
Segui questi passaggi per inviare una richiesta di 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 relativi 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 relativi codici lingua.INPUT_FILE_PATH
: il percorso e il nome file del bucket di archiviazione di uno o più documenti di input.OUTPUT_FILE_PREFIX
: la posizione del bucket di archiviazione in cui vengono 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:batchTranslateDocument"
Sostituisci quanto segue:
TOKEN
: il token di autenticazione che hai ottenuto.ENDPOINT
: l'endpoint Vertex AI Translation che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli 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"
}
}