Le service Vertex AI Translation vous permet de traduire un texte rédigé dans une langue vers l'une des langues disponibles.
Cette page explique comment traduire un exemple de texte à l'aide de l'API Vertex AI Translation sur l'appliance Google Distributed Cloud (GDC) isolée.
Avant de commencer
Pour pouvoir utiliser l'API Vertex AI Translation, vous devez disposer d'un projet pour lequel cette API est activée, ainsi que des identifiants appropriés. Vous pouvez également installer des bibliothèques clientes pour faciliter les appels à l'API. Pour en savoir plus, consultez Configurer un projet de traduction.
Traduire du texte
La méthode translateText
prend du texte dans une langue spécifique et renvoie le texte traduit dans une autre langue. Vous pouvez saisir du texte brut ou HTML comme entrée.
Si vous saisissez du texte HTML, la méthode translateText
ne traduit que le texte entre les balises HTML, sans traduire les balises. Toutefois, il traduit les attributs des balises HTML5, tels que les attributs alt
. Un exemple d'utilisation des balises et attributs HTML5 est utilisé dans la syntaxe pour exclure du texte de la traduction.
La sortie conserve les balises HTML non traduites et inclut le texte traduit entre elles.
Envoyez une requête curl
à l'API Vertex AI Translation préentraînée. Sinon, interagissez avec l'API pré-entraînée Vertex AI Translation à partir d'un script Python pour traduire du texte d'une langue vers une autre.
Les exemples suivants montrent comment traduire un texte d'entrée d'une langue à une autre :
curl
Pour envoyer une demande curl
:
Envoyez la demande :
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"]}'
Remplacez les éléments suivants :
TOKEN
: jeton d'authentification que vous avez obtenu.ENDPOINT
: point de terminaison Vertex AI Translation que vous utilisez pour votre organisation. Pour en savoir plus, consultez l'état et les points de terminaison des services.PROJECT_ID
: ID de votre projet.SOURCE_LANGUAGE
: code de langue de votre texte d'entrée. Consultez la liste des langues disponibles et de leurs codes respectifs.TARGET_LANGUAGE
: code de langue dans laquelle vous souhaitez traduire votre texte. Consultez la liste des langues acceptées et de leurs codes respectifs.INPUT_TEXT
: texte saisi dans la langue source.
Utilisez le champ mime_type
pour spécifier un type de fichier. Définissez le champ mime_type
sur l'une des valeurs suivantes :
text/plain
: votre saisie est en texte brut.text/html
: votre entrée est un texte HTML.
Si le champ mime_type
est vide, la valeur par défaut est text/html
.
L'exemple suivant utilise le champ mime_type
:
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"]}'
Le texte traduit est renvoyé.
Python
Procédez comme suit pour utiliser le service Vertex AI Translation à partir d'un script Python :
Installez la dernière version de la bibliothèque cliente Vertex AI Translation.
Définissez les variables d'environnement requises dans un script Python.
Ajoutez le code suivant au script Python que vous avez créé :
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)
Remplacez les éléments suivants :
ENDPOINT
: point de terminaison Vertex AI Translation que vous utilisez pour votre organisation. Pour en savoir plus, consultez l'état et les points de terminaison des services.PROJECT_ID
: ID de votre projet.SOURCE_LANGUAGE
: code de langue de votre texte d'entrée. Consultez la liste des langues disponibles et de leurs codes respectifs.TARGET_LANGUAGE
: code de langue dans laquelle vous souhaitez traduire votre texte. Consultez la liste des langues acceptées et de leurs codes respectifs.INPUT_TEXT
: texte saisi dans la langue source.
Utilisez le champ
mime_type
pour spécifier un type de fichier. Définissez le champmime_type
sur l'une des valeurs suivantes :text/plain
: votre saisie est en texte brut.text/html
: votre entrée est un texte HTML.
Si le champ
mime_type
est vide, la valeur par défaut esttext/html
.Enregistrez le script Python.
Exécutez le script Python pour traduire le texte :
python SCRIPT_NAME
Remplacez
SCRIPT_NAME
par le nom que vous avez donné à votre script Python, par exempletranslation.py
.
Exclure du texte de la traduction
Utilisez l'une des balises HTML suivantes dans le champ contents
des requêtes pour exclure des parties de votre texte de la traduction :
<span translate="no">"TEXT"</span>
<span class="notranslate">"TEXT"</span>
Remplacez TEXT
par la partie du texte que vous souhaitez exclure de la traduction.
Par exemple, si vous avez le texte d'entrée suivant en français :
Bonjour, c'est un test.
Ce texte se traduit en français par la phrase suivante :
Hello, this is a test.
Supposons que vous ne souhaitiez traduire que la partie suivante du texte, en excluant Bonjour,
du texte d'entrée :
c'est un test.
Cette partie du texte se traduit en français par la phrase suivante :
this is a test.
Utilisez les balises HTML pour exclure du texte de la traduction. Par exemple, la requête curl
suivante utilise la balise <span class="notranslate">"TEXT"</span>
pour exclure Bonjour,
du texte d'entrée précédent en français lors de la traduction du texte en anglais :
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": "fr", "target_language_code": "en", "contents": [<span class="notranslate">"Bonjour,"</span>"c'est un test."]}'
Détecter la langue
La méthode detectLanguage
renvoie la langue d'une chaîne de texte en envoyant une requête HTTP.
Par exemple, la requête suivante détecte l'anglais comme langue du texte d'entrée Hello, this is a test
:
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"}'
Obtenir les langues disponibles
La méthode supportedLanguages
renvoie la liste des langues compatibles avec l'API Vertex AI Translation.
Par exemple, la requête suivante renvoie les langues prises en charge en spécifiant le point de terminaison Vertex AI Translation :
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/locations/PROJECT_ID/supportedLanguages
Pour obtenir la liste complète des langues disponibles, consultez Langues acceptées pour Vertex AI Translation.