Le service Vertex AI Translation vous permet de traduire un texte rédigé dans une langue vers l'une des langues disponibles.
Cette page vous explique comment traduire un exemple de texte à l'aide de l'API Vertex AI Translation sur Google Distributed Cloud (GDC) air-gapped.
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
.
Pour en savoir plus sur la méthode translateText
, consultez la bibliothèque cliente Python.
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 espagnol :
Hola, esto es una prueba.
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 Hola,
du texte d'entrée :
esto es una prueba.
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 Hola,
du texte d'entrée précédent en espagnol 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": "es", "target_language_code": "en", "contents": [<span class="notranslate">"Hola,"</span>"esto es una prueba."]}'
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", "contents": ["Hello, this is a test"]}'
Obtenir une opération
La méthode getOperation
renvoie le dernier état d'une opération de longue durée.
Utilisez cette méthode pour récupérer le résultat de l'opération généré par le service de l'API Vertex AI Translation. Pour utiliser cette méthode, spécifiez votre ID de projet et le point de terminaison Vertex AI Translation.
Par exemple, la requête suivante renvoie l'état d'une opération de longue durée, telle que la création d'un glossaire, qui est en cours d'exécution dans votre projet :
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations/PROJECT_ID
Répertorier les opérations
La méthode listOperations
renvoie une liste des opérations de longue durée qui correspondent à un filtre spécifié dans la requête. Pour utiliser cette méthode, spécifiez votre ID de projet et le point de terminaison Vertex AI Translation.
Par exemple, la requête suivante renvoie la liste des opérations en cours d'exécution dans votre projet et limite la taille de la page à dix résultats par page :
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations?page_size=10
Obtenir les langues disponibles
La méthode getSupportedLanguages
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 POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:getSupportedLanguages -d "{}"
Pour obtenir la liste complète des langues disponibles, consultez Langues acceptées pour Vertex AI Translation.