Vertex AI Translation und optische Zeichenerkennung (OCR) Dienste werden kombiniert, um eine Funktion zur Dokumentverarbeitung namens Document Translate bereitzustellen.
Mit Document Translate können formatierte Dokumente wie PDF-Dateien direkt übersetzt werden. Im Vergleich zu reinen Textübersetzungen, bleiben damit Originalformatierung und -layout Ihrer übersetzten Dokumente erhalten, sodass ein Großteil der ursprünglichen Struktur wie Absatzumbrüche beibehalten wird.
Document Translate unterstützt Dokumentübersetzungen inline, aus Storage-Buckets und im Batchmodus.
Auf dieser Seite wird beschrieben, wie Sie die Funktion zur Dokumentverarbeitung in Google Distributed Cloud (GDC) mit Air-Gap verwenden, um Dokumente zu übersetzen und dabei ihr Format beizubehalten.
Unterstützte Formate
Document Translate unterstützt die folgenden Eingabedateitypen und die zugehörigen Ausgabedateitypen:
| Eingaben | MIME-Typ für das Dokument | Ausgabe |
|---|---|---|
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 |
Übersetzung von Original- und gescannten PDF-Dokumenten
Document Translate unterstützt sowohl Original- als auch gescannte PDF-Dateien, einschließlich Übersetzungen in oder aus linksläufigen Sprachen bzw. Schriften. Außerdem behält Document Translate Hyperlinks, Schriftgröße und Schriftfarbe aus Dateien bei.
Hinweis
Bevor Sie die Funktion zur Dokumentverarbeitung verwenden können, benötigen Sie ein Projekt mit dem Namen dt-project. Die benutzerdefinierte Ressource des Projekts muss wie im folgenden Beispiel aussehen:
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
Außerdem müssen Sie sowohl die vortrainierten APIs von Vertex AI Translation als auch die vortrainierte OCR API aktivieren und die entsprechenden Anmeldedaten haben. Sie können die Clientbibliotheken von Vertex AI Translation und OCR installieren, um API-Aufrufe zu erleichtern. Weitere Informationen zu den Voraussetzungen finden Sie unter Übersetzungsprojekt einrichten.
Dokument aus einem Storage-Bucket übersetzen
Wenn Sie ein Dokument übersetzen möchten, das in einem Bucket gespeichert ist, verwenden Sie die Vertex AI Translation API.
In diesem Abschnitt wird beschrieben, wie Sie ein Dokument aus einem Bucket übersetzen und das Ergebnis in einem anderen Ausgabebucketpfad speichern. Die Antwort gibt auch einen Bytestream zurück. Sie können dabei den MIME-Typ angeben. Ohne diese Angabe wird er von Document Translate anhand der Erweiterung der Eingabedatei ermittelt.
Document Translate unterstützt die automatische Spracherkennung für Dokumente, die in Buckets gespeichert sind. Wenn Sie keinen Ausgangssprachcode angeben, ermittelt Document Translate die Sprache automatisch. Die erkannte Sprache ist in der Ausgabe im Feld detectedLanguageCode enthalten.
So übersetzen Sie ein Dokument aus einem Storage-Bucket:
- Konfigurieren Sie das gdcloud CLI für den Objektspeicher.
Erstellen Sie einen Storage-Bucket im
dt-projectNamespace. Verwenden Sie die SpeicherklasseStandard.Sie können den Storage-Bucket erstellen, indem Sie eine
Bucket-Ressource im Namespacedt-projectbereitstellen: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: 90Gewähren Sie dem Dienstkonto (
ai-translation-system-sa), das vom Vertex AI Translation-Dienst verwendet wird, die Berechtigungenreadundwritefür den Bucket.So erstellen Sie die Rolle und die Rollenbindung mit benutzerdefinierten Ressourcen:
Erstellen Sie die Rolle, indem Sie eine
Role-Ressource im Namespacedt-projectbereitstellen: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-objectErstellen Sie die Rollenbindung, indem Sie eine
RoleBinding-Ressource im Namespacedt-projectbereitstellen: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
Laden Sie Ihr Dokument in den erstellten Storage-Bucket hoch. Weitere Informationen finden Sie unter Speicherobjekte in Projekten hochladen und herunterladen.
Stellen Sie eine Anfrage an die vortrainierte Vertex AI Translation API:
curl
So stellen Sie eine
curl-Anfrage:Speichern Sie die folgende
request.json-Datei: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" } EOFErsetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.SOURCE_LANGUAGE: die Sprache, in der Ihr Dokument verfasst ist. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.TARGET_LANGUAGE: die Sprache oder Sprachen, in die Sie Ihr Dokument übersetzen möchten. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.INPUT_FILE_PATH: der Pfad zu Ihrer Dokumentdatei im Storage-Bucket.
Ändern Sie den Wert von
mime_typeentsprechend Ihrem Dokument.Stellen Sie die Anfrage:
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.jsonErsetzen Sie Folgendes:
TOKEN: das Authentifizierungstoken, das Sie erhalten haben.ENDPOINT: der Vertex AI Translation-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte.PROJECT_ID: Ihre Projekt-ID.
Dokument inline übersetzen
In diesem Abschnitt wird beschrieben, wie Sie ein Dokument inline als Teil der API-Anfrage senden. Für Inline-Dokumentübersetzungen muss der MIME-Typ angegeben werden.
Document Translate unterstützt die automatische Spracherkennung für Inline-Textübersetzungen. Wenn Sie keinen Ausgangssprachcode angeben, ermittelt Document Translate die Sprache automatisch. Die erkannte Sprache ist in der Ausgabe im Feld detectedLanguageCode enthalten.
Stellen Sie eine Anfrage an die vortrainierte Vertex AI Translation API:
curl
So stellen Sie eine curl-Anfrage:
Stellen Sie die Anfrage:
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
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.SOURCE_LANGUAGE: die Sprache, in der Ihr Dokument verfasst ist. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.TARGET_LANGUAGE: die Sprache oder Sprachen, in die Sie Ihr Dokument übersetzen möchten. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.INPUT_FILE_PATH: der Pfad zu Ihrer Dokumentdatei lokal.TOKEN: das Authentifizierungstoken, das Sie erhalten haben.ENDPOINT: der Vertex AI Translation-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte.
Dokumente im Batchmodus übersetzen
Mit einer Batchübersetzung haben Sie die Möglichkeit, mit einer einzigen Anfrage mehrere Dateien in mehrere Sprachen zu übersetzen. Für jede Anfrage können Sie bis zu 100 Dateien mit einer Gesamtgröße von bis zu 1 GB oder bis zu 100 Millionen Unicode-Codepoints senden, je nachdem, welches Limit zuerst erreicht wird. Sie können für jede Sprache ein eigenes Übersetzungsmodell angeben.
Weitere Informationen finden Sie unter batchTranslateDocument.
Mehrere Dokumente übersetzen
Das folgende Beispiel beinhaltet mehrere Eingabekonfigurationen. Jede Eingabekonfiguration ist ein Verweis auf eine Datei in einem Storage-Bucket.
Stellen Sie eine Anfrage an die vortrainierte Vertex AI Translation API:
curl
So stellen Sie eine curl-Anfrage:
Speichern Sie den folgenden Anfragetext in einer Datei mit dem Namen
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" } } }Ersetzen Sie Folgendes:
SOURCE_LANGUAGE: der Sprachcode der Eingabedokumente. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.TARGET_LANGUAGE: die Zielsprache oder -sprachen, in die die Eingabedokumente übersetzt werden sollen. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.INPUT_FILE_PATH: der Speicherort des Storage-Buckets und der Dateiname eines oder mehrerer Eingabedokumente.OUTPUT_FILE_PREFIX: der Speicherort des Storage-Buckets, an dem alle Ausgabedokumente gespeichert werden sollen.
Stellen Sie die Anfrage:
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"Ersetzen Sie Folgendes:
TOKEN: das Authentifizierungstoken, das Sie erhalten haben.ENDPOINT: der Vertex AI Translation-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte.PROJECT_ID: Ihre Projekt-ID.
Die Antwort enthält die ID für einen Vorgang mit langer Ausführungszeit:
{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
"state": "RUNNING"
}
}
Original-PDF-Datei übersetzen und konvertieren
Im folgenden Beispiel wird eine Original-PDF-Datei übersetzt und in eine DOCX-Datei konvertiert. Sie können mehrere Eingaben verschiedener Dateitypen angeben. Es müssen nicht alle Original-PDF-Dateien sein. Gescannte PDF-Dateien können jedoch nicht verwendet werden, wenn diese auch konvertiert werden sollen. Die Anfrage wird dann abgelehnt und es wird keine Übersetzung ausgeführt. Nur Original-PDF-Dateien werden übersetzt und in DOCX-Dateien konvertiert. Wenn Sie beispielsweise PPTX-Dateien einfügen, werden sie übersetzt und als PPTX-Dateien zurückgegeben.
Wenn Sie regelmäßig eine Mischung aus gescannten und Original-PDF-Dateien übersetzen, empfehlen wir, sie in separaten Buckets zu organisieren. Auf diese Weise können Sie bei der Anfrage für eine Batchübersetzung und -konvertierung den Bucket mit den gescannten PDF-Dateien ausschließen, anstatt einzelne Dateien auszuschließen.
Stellen Sie eine Anfrage an die vortrainierte Vertex AI Translation API:
curl
So stellen Sie eine curl-Anfrage:
Speichern Sie den folgenden Anfragetext in einer Datei mit dem Namen
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" } }Ersetzen Sie Folgendes:
SOURCE_LANGUAGE: der Sprachcode der Eingabedokumente. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.TARGET_LANGUAGE: die Zielsprache oder -sprachen, in die die Eingabedokumente übersetzt werden sollen. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.INPUT_FILE_PATH: der Speicherort des Storage-Buckets und der Dateiname eines oder mehrerer Eingabedokumente.OUTPUT_FILE_PREFIX: der Speicherort des Storage-Buckets, an dem alle Ausgabedokumente gespeichert werden sollen.
Stellen Sie die Anfrage:
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"Ersetzen Sie Folgendes:
TOKEN: das Authentifizierungstoken, das Sie erhalten haben.ENDPOINT: der Vertex AI Translation-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte.PROJECT_ID: Ihre Projekt-ID.
Die Antwort enthält die ID für einen Vorgang mit langer Ausführungszeit:
{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
"state": "RUNNING"
}
}
Glossar verwenden
Sie können ein Glossar für eine fachspezifische Terminologie angeben. Wenn Sie ein Glossar angeben, müssen Sie die Ausgangssprache angeben. Im folgenden Beispiel wird ein Glossar verwendet. Sie können bis zu 10 Zielsprachen mit jeweils eigenem Glossar angeben.
Wenn Sie für einige Zielsprachen ein Glossar angeben, verwendet das System für die nicht angegebenen Sprachen kein Glossar.
Stellen Sie eine Anfrage an die vortrainierte Vertex AI Translation API:
curl
So stellen Sie eine curl-Anfrage:
Speichern Sie den folgenden Anfragetext in einer Datei mit dem Namen
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" }, ... } }Ersetzen Sie Folgendes:
SOURCE_LANGUAGE: der Sprachcode der Eingabedokumente. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.TARGET_LANGUAGE: die Zielsprache oder -sprachen, in die die Eingabedokumente übersetzt werden sollen. Eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes finden Sie hier.INPUT_FILE_PATH: der Speicherort des Storage-Buckets und der Dateiname eines oder mehrerer Eingabedokumente.OUTPUT_FILE_PREFIX: der Speicherort des Storage-Buckets, an dem alle Ausgabedokumente gespeichert werden sollen.GLOSSARY_PROJECT_ID: die Projekt-ID, in der sich das Glossar befindet.
Stellen Sie die Anfrage:
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"Ersetzen Sie Folgendes:
TOKEN: das Authentifizierungstoken, das Sie erhalten haben.ENDPOINT: der Vertex AI Translation-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte.PROJECT_ID: Ihre Projekt-ID.
Die Antwort enthält die ID für einen Vorgang mit langer Ausführungszeit:
{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
"state": "RUNNING"
}
}