Mit dem Vertex AI Translation-Dienst können Sie Text, der in einer Sprache verfasst wurde, in eine der anderen unterstützten Sprachen übersetzen.
Auf dieser Seite wird beschrieben, wie Sie einen Beispieltext mithilfe der Vertex AI Translation API in Google Distributed Cloud (GDC) mit Air Gap übersetzen.
Hinweis
Wenn Sie Text übersetzen möchten, wenden Sie sich an Ihren IAM-Projektadministrator, um die Rolle AI Translation Developer (ai-translation-developer) in Ihrem Projektnamespace anzufordern.
Weitere Informationen zu dieser Rolle finden Sie unter IAM-Berechtigungen vorbereiten.
Für die Verwendung der Vertex AI Translation API benötigen Sie ein Projekt, für das die Vertex AI Translation API aktiviert ist. Außerdem benötigen Sie 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. Es werden jedoch Attribute in HTML5-Tags übersetzt, z. B. alt-Attribute. Ein Beispiel für die Verwendung von HTML5-Tags und -Attributen ist die Syntax, mit der Text von der Übersetzung ausgeschlossen wird.
In der Ausgabe werden die nicht übersetzten HTML-Tags beibehalten und der übersetzte Text wird zwischen ihnen eingefügt.
Senden Sie eine curl-Anfrage an die vortrainierte Vertex AI Translation API. Andernfalls 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
So stellen Sie eine curl-Anfrage:
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 von Ihnen abgerufene Authentifizierungstoken.ENDPOINT: der Vertex AI Translation-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte ansehen.PROJECT_ID: Ihre Projekt-ID.SOURCE_LANGUAGE: der Sprachcode des Eingabetexts. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.TARGET_LANGUAGE: der Sprachcode, in den der Text übersetzt werden soll. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.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
So verwenden Sie den Vertex AI Translation-Dienst über ein Python-Skript:
Installieren Sie die neueste Version der Vertex AI Translation-Clientbibliothek.
Legen Sie die erforderlichen Umgebungsvariablen in einem Python-Skript fest.
Fügen Sie dem von Ihnen erstellten Python-Script 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) 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 ansehen.PROJECT_ID: Ihre Projekt-ID.SOURCE_LANGUAGE: der Sprachcode des Eingabetexts. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.TARGET_LANGUAGE: der Sprachcode, in den der Text übersetzt werden soll. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.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-Script 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 des Texts von der Übersetzung auszuschließen:
<span translate="no">TEXT</span><span class="notranslate">TEXT</span>
Ersetzen Sie TEXT durch den Textteil, den Sie von der Übersetzung ausschließen möchten.
Beispiel: Sie haben den folgenden Eingabetext auf Spanisch:
Hola, esto es una prueba.
Der erwartete übersetzte Text auf Englisch lautet:
Hello, this is a test.
Angenommen, Sie möchten nur den folgenden Teil des Textes übersetzen und Hola, aus dem Eingabetext ausschließen:
esto es una prueba.
Der erwartete übersetzte Text auf Englisch lautet:
this is a test.
Verwenden Sie die HTML-Tags, um Text von der Übersetzung auszuschließen. In der folgenden curl-Anfrage wird beispielsweise das Tag <span class="notranslate">TEXT</span> verwendet, um Hola, aus dem vorherigen spanischen Eingabetext auszuschließen, wenn der Text ins Englische ü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
request_glossary.json-Datei:{ "sourceLanguageCode": "SOURCE_LANGUAGE", "targetLanguageCode": "TARGET_LANGUAGE", "contents": ["TEXT"], "glossaryConfig": { "glossary": "projects/PROJECT_ID/glossaries/GLOSSARY_ID", "ignoreCase": IGNORE_CASE_BOOLEAN } }Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.SOURCE_LANGUAGE: die Sprache, in der Ihr Text geschrieben ist. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.TARGET_LANGUAGE: die Sprache, in die Sie Ihren Text übersetzen möchten. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.TEXT: Text übersetzen, der Glossarwörter enthältGLOSSARY_ID: die ID des Glossars, z. B.G11111111114524IGNORE_CASE_BOOLEAN: Gibt an, ob bei der Übereinstimmung von Glossarbegriffen die Groß-/Kleinschreibung berücksichtigt wird (trueoderfalse).
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
}
}
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.
Sprache erkennen
Die Methode detectLanguage gibt die Sprache eines Textstrings zurück, indem sie eine HTTP-Anfrage sendet.
In der folgenden Anfrage wird beispielsweise Englisch als Sprache aus dem Eingabetext Hello, this is a test erkannt:
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 neuesten 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. Wenn Sie diese Methode verwenden möchten, geben Sie Ihre Projekt-ID, die vom lang andauernden Aufruf zurückgegebene Vorgangs-ID (OPERATION_ID) und den Vertex AI Translation-Endpunkt an.
Mit der folgenden Anfrage wird beispielsweise der Status eines Vorgangs mit langer Ausführungszeit zurückgegeben, der in Ihrem Projekt ausgeführt wird, z. B. Glossar erstellen:
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations/OPERATION_ID
Vorgänge auflisten
Die Methode listOperations gibt eine Liste der Vorgänge mit langer Ausführungszeit zurück, die einem angegebenen Filter in der Anfrage entsprechen. Wenn Sie diese Methode verwenden möchten, geben Sie Ihre Projekt-ID und den Vertex AI Translation-Endpunkt an.
Die folgende Anfrage gibt beispielsweise die Liste der in Ihrem Projekt ausgeführten Vorgänge zurück und begrenzt die Seitengröße auf 10 Ergebnisse pro Seite:
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 -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/supportedLanguages
Eine vollständige Liste der unterstützten Sprachen finden Sie unter Unterstützte Sprachen für Vertex AI Translation.