Mit dem Vertex AI Translation-Dienst können Sie Texte, die in einer Sprache verfasst sind, in eine beliebige andere unterstützte Sprache übersetzen.
Auf dieser Seite wird beschrieben, wie Sie einen Beispieltext mit der Vertex AI Translation API in Google Distributed Cloud (GDC) air-gapped übersetzen.
Hinweis
Bevor Sie die Vertex AI Translation API verwenden können, benötigen Sie ein Projekt, in dem die Vertex AI Translation API aktiviert ist, und die entsprechenden Anmeldedaten. Sie können auch Clientbibliotheken installieren, um Aufrufe an die API zu ermöglichen. Weitere Informationen finden Sie unter Übersetzungsprojekt einrichten.
Text übersetzen
Die Methode translateText nimmt Eingabetext in einer bestimmten Sprache entgegen und gibt den übersetzten Text in einer anderen Sprache zurück. Sie können Nur-Text oder HTML-Text als Eingabe eingeben.
Wenn Sie HTML-Text eingeben, übersetzt die Methode translateText nur den Text zwischen den HTML-Tags, ohne die Tags zu übersetzen. Sie übersetzt jedoch Attribute in HTML5-Tags wie alt-Attribute. Ein Beispiel für die Verwendung von HTML5
Tags und -Attributen wird in der Syntax verwendet, um Text von der Übersetzung auszuschließen.
Die Ausgabe behält die nicht übersetzten HTML-Tags bei und enthält den übersetzten Text zwischen ihnen.
Stellen Sie eine curl-Anfrage an die vortrainierte Vertex AI Translation API. Alternativ können Sie über ein Python-Skript mit der vortrainierten Vertex AI Translation API interagieren, um Text von einer Sprache in eine andere zu übersetzen.
In den folgenden Beispielen wird gezeigt, wie Sie einen Eingabetext von einer Sprache in eine andere übersetzen:
curl
Führen Sie die folgenden Schritte aus, um eine curl-Anfrage zu stellen:
Stellen Sie die Anfrage:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'
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.SOURCE_LANGUAGE: der Sprachcode Ihres Eingabetexts. Eine Liste der unterstützten Sprachen und ihrer jeweiligen Sprachcodes finden Sie hier.TARGET_LANGUAGE: der Sprachcode, in den Sie Ihren Text übersetzen möchten. Eine Liste der unterstützten Sprachen und ihrer jeweiligen Sprachcodes finden Sie hier.INPUT_TEXT: Ihr Eingabetext in der Ausgangssprache.
Verwenden Sie das Feld mime_type, um einen Dateityp anzugeben. Legen Sie für das Feld mime_type einen der folgenden Werte fest:
text/plain: Ihre Eingabe ist Nur-Text.text/html: Ihre Eingabe ist HTML-Text.
Wenn das Feld mime_type leer ist, ist text/html der Standardwert.
Im folgenden Beispiel wird das Feld mime_type verwendet:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"mime_type": "text/html", "parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'
Die Ausgabe enthält den übersetzten Text.
Python
Führen Sie die folgenden Schritte aus, um den Vertex AI Translation-Dienst über ein Python-Skript zu verwenden:
Installieren Sie die neueste Version der Vertex AI Translation-Clientbibliothek.
Legen Sie die erforderlichen Umgebungsvariablen in einem Python-Skript fest.
Fügen Sie dem erstellten Python-Skript den folgenden Code hinzu:
from google.cloud import translate 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 translate_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return translate.TranslationServiceClient(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) print("Got token: ") print(creds.token) except Exception as e: print("Caught exception" + str(e)) raise e return creds def translate_func(creds): tc = translate_client(creds) req = { "parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "mime_type": "text/plain", "contents": ["INPUT_TEXT"] } resp = tc.translate_text(req) print(resp) if __name__=="__main__": creds = main() translate_func(creds)Ersetzen Sie Folgendes:
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.SOURCE_LANGUAGE: der Sprachcode Ihres Eingabetexts. Eine Liste der unterstützten Sprachen und ihrer jeweiligen Sprachcodes finden Sie hier.TARGET_LANGUAGE: der Sprachcode, in den Sie Ihren Text übersetzen möchten. Eine Liste der unterstützten Sprachen und ihrer jeweiligen Sprachcodes finden Sie hier.INPUT_TEXT: Ihr Eingabetext in der Ausgangssprache.
Verwenden Sie das Feld
mime_type, um einen Dateityp anzugeben. Legen Sie für das Feldmime_typeeinen der folgenden Werte fest:text/plain: Ihre Eingabe ist Nur-Text.text/html: Ihre Eingabe ist HTML-Text.
Wenn das Feld
mime_typeleer ist, isttext/htmlder Standardwert.Speichern Sie das Python-Skript.
Führen Sie das Python-Skript aus, um den Text zu übersetzen:
python SCRIPT_NAMEErsetzen Sie
SCRIPT_NAMEdurch den Namen, den Sie Ihrem Python-Skript gegeben haben, z. B.translation.py.
Weitere Informationen zur Methode translateText finden Sie in der Python-Clientbibliothek.
Text von der Übersetzung ausschließen
Verwenden Sie eines der folgenden HTML-Tags im Feld contents von Anfragen, um Teile Ihres Texts von der Übersetzung auszuschließen:
<span translate="no">"TEXT"</span><span class="notranslate">"TEXT"</span>
Ersetzen Sie TEXT durch den Teil des Texts, den Sie von der Übersetzung ausschließen möchten.
Angenommen, Sie haben den folgenden Eingabetext auf Spanisch:
Hola, esto es una prueba.
Der erwartete übersetzte Text auf Deutsch ist:
Hello, this is a test.
Angenommen, Sie möchten nur den folgenden Teil des Texts übersetzen und Hola, aus dem Eingabetext ausschließen:
esto es una prueba.
Der erwartete übersetzte Text auf Deutsch ist:
this is a test.
Verwenden Sie die HTML-Tags, um Text von der Übersetzung auszuschließen. In der folgenden curl Anfrage wird beispielsweise das <span class="notranslate">"TEXT"</span>
Tag verwendet, um Hola, aus dem vorherigen Eingabetext auf Spanisch auszuschließen, wenn der Text ins Deutsche übersetzt wird:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "es", "target_language_code": "en", "contents": ["<span class=\"notranslate\">\"Hola,\"</span>\"esto es una prueba.\""]}'
Mit Glossar übersetzen
Wenn Sie Text mit Wörtern aus einem Glossar übersetzen möchten, müssen Sie ein Glossar erstellen:
Speichern Sie die folgende Datei
request_glossary.json:cat <<- EOF > request_glossary.json { "sourceLanguageCode": "SOURCE_LANGUAGE", "targetLanguageCode": "SOURCE_LANGUAGE", "contents": "TEXT", "glossaryConfig": { "glossary": "projects/PROJECT_ID/glossaries/GLOSSARY_ID", "ignoreCase": IGNORE_CASE_BOOLEAN, "contextual_translation_enabled": CONTEXTUAL_BOOLEAN } } 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 ihrer jeweiligen 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 ihrer jeweiligen Sprachcodes finden Sie hier.TEXT: Text übersetzen, der Glossarwörter enthältGLOSSARY_ID: die ID des Glossars, z. B.G11111111114524
Stellen Sie die Anfrage:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d @request_glossary.json
Beispiel und erwartete Ausgabe:
Anfrage:
{
"sourceLanguageCode": "es",
"targetLanguageCode": "en",
"contents": "La novela cuenta la historia de una joven que viaja a Madrid",
"glossaryConfig": {
"glossary": "projects/test-project/glossaries/GLOSSARY_ID",
"ignoreCase": true,
"contextual_translation_enabled": true
}
}
Response:
{"translations":[
{
"translatedText":"The novel tells the story of a young woman who travels to Madrid"}],
"glossaryTranslations":[{"translatedText":"The novel account the story of a young woman who travels to Madrid",
"glossaryConfig":
{
"glossary":"projects/test-project/glossaries/GLOSSARY_ID"
}}
]}
Das Feld translations enthält die reguläre maschinelle Übersetzung ohne angewendetes Glossar. Das Feld glossaryTranslations enthält die Übersetzung, nachdem das Glossar angewendet wurde.
Wenn Sie das Feld contextual_translation_enabled auf true setzen, enthält die Antwort nur das Feld glossaryTranslations und nicht das Feld translations.
Sprache erkennen
Die Methode detectLanguage gibt die Sprache eines Textstrings zurück, indem sie eine HTTP-Anfrage sendet.
Mit der folgenden Anfrage wird beispielsweise Deutsch als Sprache des
Eingabetexts Hello, this is a test erkannt:
curl
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:detectLanguage -d '{"parent": "projects/PROJECT_ID", "content": "Hello, this is a test"}'
Einen Vorgang abrufen
Die Methode getOperation gibt den aktuellen Status eines
Vorgangs mit langer Ausführungszeit zurück.
Mit dieser Methode können Sie das vom Vertex AI Translation API-Dienst generierte Vorgangsergebnis abrufen. Dazu müssen Sie Ihre
Projekt-ID und den Vertex AI Translation-Endpunkt angeben.
Mit der folgenden Anfrage wird beispielsweise der Status eines zeitaufwendigen Vorgangs zurückgegeben, z. B. das Erstellen eines Glossars, das in Ihrem Projekt ausgeführt wird:
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations/PROJECT_ID
Vorgänge auflisten
Die Methode listOperations gibt eine Liste der zeitaufwendigen Vorgänge
zurück, die einem bestimmten Filter in der Anfrage entsprechen. Dazu müssen Sie Ihre
Projekt-ID und den Vertex AI Translation-Endpunkt angeben.
Mit der folgenden Anfrage wird beispielsweise die Liste der Vorgänge zurückgegeben, die in Ihrem Projekt ausgeführt werden, und die Seitengröße wird auf zehn Ergebnisse pro Seite begrenzt:
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations?page_size=10
Unterstützte Sprachen abrufen
Die Methode supportedLanguages gibt die Liste der Sprachen zurück, die von der Vertex AI Translation API unterstützt werden.
Mit der folgenden Anfrage werden beispielsweise die unterstützten Sprachen zurückgegeben, indem der Vertex AI Translation-Endpunkt angegeben wird:
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/locations/PROJECT_ID/supportedLanguages
Eine vollständige Liste der unterstützten Sprachen finden Sie unter Unterstützte Sprachen für Vertex AI Translation.