Traduire du texte

Pour les tâches de traduction, l'IA générative sur Vertex AI propose deux modèles de traduction spécialisés de l'API Cloud Translation :

  • LLM de traduction : la dernière solution de traduction de Google, basée sur un LLM de très haute qualité. Elle permet d'obtenir une traduction de la plus haute qualité avec une latence raisonnable (environ trois fois plus faible que Gemini 2.0 Flash).

  • Modèle de traduction automatique neuronale (NMT) de Cloud Translation : la solution premium de traduction en temps réel de Google, qui permet d'obtenir des traductions avec une latence d'environ 100 ms. Elle propose la meilleure qualité par rapport à tous les modèles testés avec des latences comparables et continue de s'améliorer. Le modèle NMT peut atteindre des latences jusqu'à 20 fois plus faibles que Gemini 2.0 Flash.

Principaux avantages et atouts du LLM de traduction

  • Qualité de traduction inégalée : le LLM de traduction offre la meilleure qualité de traduction, avec des performances nettement supérieures aux autres modèles de référence. Il reformule plus efficacement les phrases pour les rendre plus naturelles dans la langue cible, plutôt que de fournir des traductions littérales moins naturelles qui sont souvent proposées par d'autres modèles de traduction.
  • Meilleur compromis qualité/latence : le LLM de traduction fournit des traductions basées sur un LLM avec une latence bien inférieure à Gemini 2.0 Flash. Bien qu'il présente des latences plus élevées que le modèle NMT, il fournit généralement des réponses de meilleure qualité pour un large éventail d'applications.

Comparaison des fonctionnalités des modèles

Fonctionnalité LLM de traduction (optimisé par Gemini) Modèle NMT
Description Un grand modèle de langage spécialisé et réglé pour la traduction, optimisé par Gemini. Disponible avec l'IA générative sur Vertex AI et l'API Cloud Translation Advanced. Modèle de traduction automatique neuronale de Google, disponible via les API Cloud Translation Advanced et Cloud Translation Basic. Optimisé pour la simplicité et l'évolutivité.
Qualité Meilleure qualité de traduction, supérieure à celle proposée par le modèle NMT, Gemini 2.0 Flash et Gemini 2.5 Pro. Plus susceptible de reformuler naturellement les phrases. Réduit considérablement le nombre d'erreurs. Qualité moyenne à élevée selon la paire de langues. Parmi les modèles NMT en temps réel les plus performants pour de nombreuses combinaisons de langues et de domaines.
Latence La latence est nettement plus faible que Gemini 2.0 Flash, mais toujours plus élevée que le modèle NMT. Traduction en temps réel la plus rapide. Faible latence, adaptée aux applications de chat et en temps réel. Offre des latences jusqu'à 20 fois plus faibles que Gemini 2.0 Flash
Langues acceptées Les langues disponibles sont l'allemand, l'anglais, l'arabe, le chinois, le coréen, l'espagnol, le français, le hindi, l'indonésien, l'italien, le japonais, le néerlandais, le polonais, le portugais, le russe, le tchèque, le thaï, le turc, l'ukrainien et le vietnamien. Pour obtenir la liste complète, consultez Langues disponibles. Les langues prises en charge incluent le balinais, le cantonais et le fidjien. Les traductions de n'importe quelle langue de cette liste vers n'importe quelle autre langue de cette même liste sont acceptées. Pour obtenir la liste complète, consultez Langues disponibles.
Personnalisation Prend en charge les glossaires avancés, le réglage supervisé sur Vertex AI pour les adaptations spécifiques au domaine/au client, et la traduction adaptative pour personnaliser le style en temps réel avec quelques exemples. Prend en charge en charge les glossaires pour contrôler la terminologie et l'entraînement de modèles personnalisés avec AutoML Translation dans l'API Cloud Translation Advanced.
Fonctionnalités de traduction Traduction HTML Traduction de documents HTML, par lots et mis en forme
Intégration d'API API Cloud Translation Advanced, API Vertex AI API Cloud Translation Basic, API Cloud Translation Advanced, API Vertex AI

Utilisation

Cette section vous explique comment utiliser Vertex AI Studio pour traduire rapidement un texte d'une langue à une autre. Vous pouvez utiliser le LLM de traduction ou le modèle NMT pour traduire du texte à l'aide de la console Google Cloud ou de l'API. Notez que les langues compatibles avec chaque modèle peuvent varier. Avant de demander des traductions, vérifiez que le modèle que vous utilisez prend en charge les langues source et cible.

Console

  1. Dans la section Vertex AI de la console Google Cloud , accédez à la page Traduire du texte de Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Dans le volet Paramètres d'exécution, sélectionnez un modèle de traduction dans le champ Modèle.

  3. Pour modifier les paramètres du modèle (par exemple, la température), développez Paramètres avancés.

  4. Définissez les langues source et cible.

  5. Dans le champ de saisie, saisissez le texte à traduire.

  6. Cliquez sur Envoyer.

  7. Pour obtenir le code ou la commande curl qui montrent comment demander des traductions, cliquez sur  Obtenir le code.

Notez que dans Vertex AI Studio, le LLM de traduction vous permet de fournir des exemples de traduction pour adapter les réponses du modèle à votre style, votre ton et votre secteur d'activité. Le modèle utilise vos exemples en tant que contexte few-shot avant de traduire votre texte.

API

Sélectionnez le modèle à utiliser pour vos traductions.

LLM de traduction

Utilisez l'API Vertex AI et le LLM de traduction pour traduire du texte.

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_NUMBER_OR_ID : ID numérique ou alphanumérique de votre projet Google Cloud .
  • LOCATION : emplacement dans lequel vous souhaitez exécuter cette opération. Par exemple : us-central1.
  • SOURCE_LANGUAGE_CODE : code de langue du texte d'entrée. Spécifiez l'un des codes de langue listés dans Traduction adaptative.
  • TARGET_LANGUAGE_CODE : langue cible vers laquelle traduire le texte d'entrée. Spécifiez l'un des codes de langue listés dans Traduction adaptative.
  • SOURCE_TEXT : texte dans la langue source à traduire.
  • MIME_TYPE (facultatif) : format du texte source, tel que text/html ou text/plain. Par défaut, le type MIME est défini sur text/plain.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text:predict

Corps JSON de la requête :

{
  "instances": [
    {
      "source_language_code": "SOURCE_LANGUAGE_CODE",
      "target_language_code": "TARGET_LANGUAGE_CODE",
      "contents": [
        "SOURCE_TEXT"
      ],
      "mimeType": "MIME_TYPE",
      "model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm"
    }
  ]
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "predictions": [
    {
      "translations": [
        {
          "translatedText": "TRANSLATED_TEXT",
          "model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm"
        }
      ]
    }
  ]
}

Node.js

Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.

Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

async function translate() {
  const request = {
    instances: [{
      source_language_code: SOURCE_LANGUAGE_CODE,
      target_language_code: TARGET_LANGUAGE_CODE,
      contents: [SOURCE_TEXT],
      model: "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm"
    }]
  };
  const {google} = require('googleapis');
  const aiplatform = google.cloud('aiplatform');
  const endpoint = aiplatform.predictionEndpoint('projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text');

  const [response] = await endpoint.predict(request)
  console.log('Translating')
  console.log(response)
}
      

Python

Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.

Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

from google.cloud import aiplatform

def translate():
  # Create a client
  client_options = {"api_endpoint": "LOCATION-aiplatform.googleapis.com"}
  client = aiplatform.gapic.PredictionServiceClient(client_options=client_options)
  
  # Initialize the request
  endpoint_id = f"projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text"
  instances=[{
    "model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm",
    "source_language_code": 'SOURCE_LANGUAGE_CODE',
    "target_language_code": 'TARGET_LANGUAGE_CODE',
    "contents": ["SOURCE_TEXT"],
  }]

  # Make the request
  response = client.predict(instances=instances, endpoint=endpoint_id)
  # Handle the response
  print(response)
      

NMT

Utilisez l'API Cloud Translation et le modèle NMT pour traduire du texte.

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_NUMBER_OR_ID : ID numérique ou alphanumérique de votre projet Google Cloud .
  • SOURCE_LANGUAGE (facultatif) : code de langue du texte d'entrée. Pour connaître les codes de langue compatibles, consultez Langues acceptées.
  • TARGET_LANGUAGE : langue cible vers laquelle traduire le texte d'entrée. Définissez cette valeur sur l'un des codes de langue acceptés.
  • SOURCE_TEXT : texte à traduire.

Méthode HTTP et URL :

POST https://translation.googleapis.com/v3/projects/PROJECT_ID:translateText

Corps JSON de la requête :

{
  "sourceLanguageCode": "SOURCE_LANGUAGE",
  "targetLanguageCode": "TARGET_LANGUAGE",
  "contents": ["SOURCE_TEXT1", "SOURCE_TEXT2"]
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "translations": [
    {
      "translatedText": "TRANSLATED_TEXT1"
    },
    {
      "translatedText": "TRANSLATED_TEXT2"
    }
  ]
}

Node.js

Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.

Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

/**
 * TODO(developer): Uncomment these variables before running the sample
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const text = 'text to translate';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function translateText() {
  // MIME type of the content to translate
  // Supported MIME types:
  // https://cloud.google.com/translate/docs/supported-formats
  const mimeType = 'text/plain';

  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    contents: [text],
    mimeType: mimeType,
    sourceLanguageCode: 'en',
    targetLanguageCode: 'sr-Latn',
  };

  // Run request
  const [response] = await translationClient.translateText(request);

  for (const translation of response.translations) {
    console.log(`Translation: ${translation.translatedText}`);
  }
}

translateText();

Python

Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le guide de démarrage rapide de Vertex AI sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.

Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import os

# Import the Google Cloud Translation library.
from google.cloud import translate_v3

PROJECT_ID = os.environ.get("GOOGLE_CLOUD_PROJECT")


def translate_text(
    text: str = "YOUR_TEXT_TO_TRANSLATE",
    source_language_code: str = "en-US",
    target_language_code: str = "fr",
) -> translate_v3.TranslationServiceClient:
    """Translate Text from a Source language to a Target language.
    Args:
        text: The content to translate.
        source_language_code: The code of the source language.
        target_language_code: The code of the target language.
            For example: "fr" for French, "es" for Spanish, etc.
            Find available languages and codes here:
            https://cloud.google.com/translate/docs/languages#neural_machine_translation_model
    """

    # Initialize Translation client.
    client = translate_v3.TranslationServiceClient()
    parent = f"projects/{PROJECT_ID}/locations/global"

    # MIME type of the content to translate.
    # Supported MIME types:
    # https://cloud.google.com/translate/docs/supported-formats
    mime_type = "text/plain"

    # Translate text from the source to the target language.
    response = client.translate_text(
        contents=[text],
        parent=parent,
        mime_type=mime_type,
        source_language_code=source_language_code,
        target_language_code=target_language_code,
    )

    # Display the translation for the text.
    # For example, for "Hello! How are you doing today?":
    # Translated text: Bonjour comment vas-tu aujourd'hui?
    for translation in response.translations:
        print(f"Translated text: {translation.translated_text}")

    return response

Traductions personnalisées

Personnalisez les réponses du LLM de traduction en fournissant vos propres exemples de traductions. Les traductions personnalisées ne fonctionnent qu'avec le LLM de traduction.

Vous pouvez demander une traduction personnalisée via la console ou l'API Vertex AI Studio. Ces options ont une différence. La console n'accepte les traductions personnalisées que lorsque vous fournissez des exemples dans un fichier TMX ou TSV. L'API n'accepte les traductions personnalisées que lorsque vous fournissez des exemples (jusqu'à cinq paires de phrases) intégrés dans la requête de traduction.

Exigences concernant les données

Si vous fournissez des exemples de traductions dans un fichier pour la console Google Cloud , ils doivent être écrits sous forme de paires de segments dans un fichier TMX ou TSV. Chaque paire comprend un segment de langue source et son équivalent traduit. Pour en savoir plus, consultez Préparer des exemples de traductions dans la documentation Cloud Translation.

Pour obtenir des résultats plus précis, incluez des exemples spécifiques issus d'une grande variété de scénarios. Vous devez inclure au moins cinq paires de phrases, mais pas plus de 10 000 paires. Une paire de segment ne peut pas dépasser 512 caractères.

Console

  1. Dans la section Vertex AI de la console Google Cloud , accédez à la page Traduire du texte de Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Dans le volet Paramètres d'exécution, configurez vos paramètres de traduction.

    1. Dans le champ Modèle, sélectionnez LLM de traduction.
    2. Pour modifier la température, développez Paramètres avancés.
  3. Cliquez sur Ajouter des exemples.

    1. Sélectionnez un fichier local ou un fichier dans Cloud Storage. Vertex AI Studio détermine les langues source et cible à partir de votre fichier.
    2. Sélectionnez le nombre d'exemples que le modèle doit utiliser avant de générer une réponse.

    Le nombre d'exemples que vous sélectionnez est comptabilisé dans la limite de 3 000 caractères d'entrée par requête.

  4. Dans le champ de saisie, saisissez le texte à traduire.

  5. Cliquez sur Envoyer.

    Vertex AI sélectionne automatiquement le nombre spécifié de phrases de référence qui sont les plus similaires à votre entrée. Le modèle de traduction identifie des schémas issus de vos exemples, puis les applique lors de la génération d'une réponse.

    La limite de sortie par requête est de 3 000 caractères. Tout texte au-delà de cette limite est supprimé.

  6. Pour obtenir le code ou la commande curl montrant comment demander des traductions, cliquez sur  Obtenir le code.

API

Pour demander des traductions personnalisées, incluez jusqu'à cinq paires de phrases de référence dans votre requête de traduction. Le modèle de traduction les utilise toutes pour identifier des schémas à partir de vos exemples, puis les applique lorsqu'il génère sa réponse.

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_NUMBER_OR_ID : ID numérique ou alphanumérique de votre projet Google Cloud .
  • LOCATION : emplacement dans lequel vous souhaitez exécuter cette opération. Par exemple : us-central1.
  • REFERENCE_SOURCE : phrase dans la langue source faisant partie d'une paire de phrases de référence.
  • REFERENCE_TARGET : phrase dans la langue cible faisant partie d'une paire de phrases de référence.
  • SOURCE_LANGUAGE : code de langue du texte d'entrée.
  • TARGET_LANGUAGE : langue cible vers laquelle traduire le texte d'entrée.
  • SOURCE_TEXT : texte dans la langue source à traduire.
  • MIME_TYPE (facultatif) : format du texte source, tel que text/html ou text/plain. Par défaut, le type MIME est défini sur text/plain.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm:predict

Corps JSON de la requête :

{
  "instances": [
    {
      "reference_sentence_config": {
        "reference_sentence_pair_lists": [
          {
            "reference_sentence_pairs": [
              {
                "source_sentence": "REFERENCE_SOURCE_1_1",
                "target_sentence": "REFERENCE_TARGET_1_1"
              },
              {
                "source_sentence": "REFERENCE_SOURCE_1_2",
                "target_sentence": "REFERENCE_SOURCE_1_2"
              }
            ]
          }
        ],
        "source_language_code": "SOURCE_LANGUAGE_CODE",
        "target_language_code": "TARGET_LANGUAGE_CODE"
      },
      "content": [
        "SOURCE_TEXT"
      ],
      "mimeType": "MIME_TYPE"
    }
  ]
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "predictions": [
    {
      "languageCode": "TARGET_LANGUAGE",
      "translations": [
        {
          "translatedText": "TRANSLATED_TEXT"
        }
      ]
    }
  ]
}

Node.js

Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.

Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

async function translate() {
  const request = {
    instances: [{
        "reference_sentence_config": {
          "reference_sentence_pair_lists": [{
            "reference_sentence_pairs": [{
              "source_sentence": 'SAMPLE_REFERENCE_SOURCE_1',
              "target_sentence": 'SAMPLE_REFERENCE_TARGET_1'
            },
            "reference_sentence_pairs": {
              "source_sentence": 'SAMPLE_REFERENCE_SOURCE_2',
              "target_sentence": 'SAMPLE_REFERENCE_TARGET_2'
            }]
          }],
          "source_language_code": 'SOURCE_LANGUAGE_CODE',
          "target_language_code": 'TARGET_LANGUAGE_CODE'
        },
        "contents": ["SOURCE_TEXT"]
    }]
  };
  const {google} = require('googleapis');
  const aiplatform = google.cloud('aiplatform');
  const endpoint = aiplatform.predictionEndpoint('projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm');

  const [response] = await endpoint.predict(request)
  console.log('Translating')
  console.log(response)
}
  

Python

Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.

Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

from google.cloud import aiplatform
from google.protobuf.json_format import MessageToDict

def translate():
  # Create a client
  client_options = {"api_endpoint": "LOCATION-aiplatform.googleapis.com"}
  client = aiplatform.gapic.PredictionServiceClient(client_options=client_options)

  # Initialize the request
  endpoint_id = f"projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm"
  instances=[{
      "reference_sentence_config": {
        "reference_sentence_pair_lists": [{
          "reference_sentence_pairs": [{
            "source_sentence": 'SAMPLE_REFERENCE_SOURCE_1',
            "target_sentence": 'SAMPLE_REFERENCE_TARGET_1'
          },
          {
            "source_sentence": 'SAMPLE_REFERENCE_SOURCE_2',
            "target_sentence": 'SAMPLE_REFERENCE_TARGET_2'
          }]
        }],
        "source_language_code": 'SOURCE_LANGUAGE_CODE',
        "target_language_code": 'TARGET_LANGUAGE_CODE'
      },
      "content": ["SOURCE_TEXT"]
  }]
  # Make the request
  response = client.predict(
      endpoint=endpoint_id, instances=instances,
  )
  # Handle the response
  print(response)

  # The predictions are a google.protobuf.Value representation of the model's predictions.
  predictions = MessageToDict(response._pb)['predictions']
  for prediction in predictions:
      print(prediction['translations'])
  

Vous pouvez également utiliser l'API Cloud Translation pour créer un ensemble de données et importer les paires de phrases de vos exemples. Lorsque vous utilisez l'API Cloud Translation pour demander des traductions, vous pouvez inclure votre ensemble de données pour personnaliser les réponses. L'ensemble de données est conservé et peut être réutilisé avec plusieurs requêtes de traduction. Pour en savoir plus, consultez Demander des traductions adaptatives dans la documentation de Cloud Translation.

Langues acceptées

LLM de traduction

Avec le LLM de traduction, vous pouvez traduire depuis et vers l'une des langues suivantes.

Nom de langue Code de langue
Arabe ar
Bengalî bn
Bulgare bg
Catalan ca
Chinois (simplifié) zh-CN
Croate hr
Tchèque cs
Danois da
Néerlandais nl
Anglais en
Estonien et
Finnois fi
Français fr
Allemand de
Grec el
Gujarati gu
Hébreu he
Hindi hi
Hongrois hu
Islandais is
Indonésien id
Italien it
Japonais ja
Kannada kn
Coréen ko
Letton lv
Lituanien lt
Malayalam ml
Marathi mr
Norvégien no
Persan fa
Polonais pl
Portugais pt
Panjabi pa
Roumain ro
Russe ru
Slovaque sk
Slovène sl
Espagnol es
Swahili sw
Suédois sv
Tamoul ta
Telugu te
Thaï th
Turc tr
Ukrainien uk
Urdu ur
Vietnamien vi
Zulu zu

NMT

Pour en savoir plus sur les langues prises en charge par le modèle NMT de Cloud Translation, consultez la documentation suivante :