Traduzir texto

Para tarefas de tradução, a IA generativa na Vertex AI oferece dois modelos especializados de tradução da API Cloud Translation:

  • LLM de tradução: a mais recente oferta de tradução do Google com a mais alta qualidade no estilo LLM. Oferece a tradução da mais alta qualidade com latências razoáveis (~3 vezes mais rápido que o Gemini 2.0 Flash).

  • Modelo de tradução automática neural (NMT) do Cloud Translation: a principal oferta de tradução em tempo real do Google, com traduções de latência de aproximadamente 100 ms. Ele alcança a mais alta qualidade de todos os modelos comparados, com latências semelhantes, e continua apresentando avanços contínuos de qualidade. A NMT pode alcançar latências até 20 vezes mais rápidas que o Gemini 2.0 Flash.

Principais vantagens e diferenciais do LLM de tradução

  • Qualidade de tradução incomparável: o LLM de tradução oferece a mais alta qualidade de tradução, alcançando uma performance significativamente maior em comparativos de mercado em comparação com outros modelos comparados. O LLM de tradução tem muito mais chances de reescrever significativamente uma frase para que ela soe mais natural no idioma de destino, em vez de fornecer traduções "palavra por palavra" menos naturais, que são comuns em outros modelos de tradução.
  • Compensação de qualidade/latência superior: o LLM de tradução oferece traduções com tecnologia de LLM em latências significativamente melhores do que o Gemini 2.0 Flash. Embora o LLM de tradução tenha latências mais altas do que o modelo NMT, ele normalmente oferece respostas de maior qualidade para uma ampla variedade de aplicativos.

Comparação de recursos do modelo

Recurso LLM de tradução (com tecnologia do Gemini) Modelo da NMT
Descrição Um modelo de linguagem grande especializado em tradução com tecnologia do Gemini e ajustado para essa finalidade. Disponível com a IA generativa na Vertex AI e a API Cloud Translation - Advanced. O modelo de tradução automática neural do Google, disponível nas APIs Cloud Translation Advanced e Basic . Otimizado para simplicidade e escala.
Qualidade Tradução de qualidade máxima. Supera a NMT, o Gemini 2.0 Flash e o Gemini 2.5 Pro em qualidade. É mais provável que reescreva frases para um fluxo natural. Mostra uma redução significativa de erros. Qualidade média a alta, dependendo do par de idiomas. Entre os modelos de NMT em tempo real com melhor performance para muitas combinações de domínio de idioma.
Latência A latência é significativamente melhor do que o Gemini 2.0 Flash, mas ainda é mais lenta do que a NMT. Tradução em tempo real mais rápida. Baixa latência, adequado para chat e aplicativos em tempo real. Atinge latências até 20 vezes mais rápidas que o Gemini 2.0 Flash
Suporte ao idioma Os idiomas disponíveis são: alemão, árabe, chinês, coreano, checo, espanhol, francês, hindi, indonésio, inglês, italiano, japonês, neerlandês, polonês, português, russo, tailandês, turco, ucraniano e vietnamita. Consulte a lista completa de idiomas disponíveis. Os idiomas disponíveis incluem cantonês, fijiano e balinês. É possível traduzir de qualquer idioma para qualquer outro idioma na lista de idiomas aceitos. Consulte a lista completa de idiomas disponíveis.
Personalização Suporte para glossários avançados, ajuste fino supervisionado na Vertex AI para adaptações específicas do domínio/cliente e tradução adaptativa para personalização de estilo em tempo real com alguns exemplos. Suporte para glossários, que controlam a terminologia, e treinamento de modelos personalizados com o AutoML Translation na API Cloud Translation - Advanced.
Recursos de tradução Tradução de HTML Tradução de HTML, em lote e de documentos formatados
Integração de API API Cloud Translation Advanced, API Vertex AI API Cloud Translation Basic, API Cloud Translation Advanced, API Vertex AI

Uso

Nesta seção, mostramos como usar o Vertex AI Studio para traduzir texto rapidamente de um idioma para outro. Você pode usar o LLM de tradução ou o modelo NMT para traduzir textos usando o Google Cloud console ou a API. Os idiomas com que cada modelo trabalha podem variar. Antes de solicitar traduções, verifique se o modelo que você está usando aceita os idiomas de origem e de destino.

Console

  1. Na seção Vertex AI do console Google Cloud , acesse a página Tradução para tradução no Vertex AI Studio.

    Acesse o Vertex AI Studio

  2. No painel Configurações de execução, selecione um modelo de tradução no campo Modelo.

  3. Para mudar as configurações do modelo (como a temperatura), abra Avançado.

  4. Defina os idiomas de origem e de destino.

  5. No campo de entrada, digite o texto a ser traduzido.

  6. Clique em Enviar.

  7. Para acessar o código ou o comando curl que demonstra como solicitar traduções, clique em Acessar código.

No Vertex AI Studio, o LLM de tradução permite fornecer exemplos de traduções para personalizar as respostas do modelo e combinar melhor com seu estilo, tom e domínio do setor. O modelo usa os exemplos como contexto few-shot antes de traduzir o texto.

API

Selecione o modelo a ser usado nas traduções.

LLM de tradução

Use a API Vertex AI e o LLM de tradução para traduzir textos.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do seu projeto do Google Cloud
  • LOCATION: o local onde você quer executar essa operação. Por exemplo, us-central1.
  • SOURCE_LANGUAGE_CODE: o código do idioma do texto de entrada. Defina como um dos códigos de idioma listados em tradução adaptativa.
  • TARGET_LANGUAGE_CODE: o idioma de chegada para o qual traduzir o texto de entrada. Defina como um dos códigos de idioma listados em tradução adaptativa.
  • SOURCE_TEXT: texto no idioma de origem a ser traduzido.
  • MIME_TYPE (opcional): o formato do texto de origem, como text/html ou text/plain. Por padrão, o tipo MIME é definido como text/plain.

Método HTTP e URL:

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

Corpo JSON da solicitação:

{
  "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"
    }
  ]
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Node.js

Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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

Antes de testar essa amostra, siga as instruções de configuração para Python Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Python.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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

Usar a API Cloud Translation e o modelo NMT para traduzir textos.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do seu projeto do Google Cloud .
  • SOURCE_LANGUAGE: (opcional) o código do idioma do texto de entrada. Para ver os códigos de idioma aceitos, consulte Suporte a idiomas.
  • TARGET_LANGUAGE: o idioma de chegada para o qual traduzir o texto de entrada. Defina como um dos códigos de idioma aceitos.
  • SOURCE_TEXT: O texto que será traduzido.

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Node.js

Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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

Antes de testar esse exemplo, siga as instruções de configuração para Python no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Python.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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

Traduções personalizadas

Personalize as respostas do LLM de tradução fornecendo seus próprios exemplos de traduções. As traduções personalizadas só funcionam com o LLM de tradução.

É possível solicitar uma tradução personalizada pelo Vertex AI Studio. console ou API com uma diferença. O console aceita traduções personalizadas somente quando você fornecer exemplos em um arquivo TMX ou TSV. A API suporta traduções apenas quando você fornecer exemplos (até cinco pares de sentenças) inline como parte da solicitação de tradução.

Requisitos de dados

Se você fornecer exemplos de tradução em um arquivo para o console do Google Cloud , os exemplos devem ser escritos como pares de segmentos em um arquivo TMX ou TSV. Cada par inclui um segmento do idioma de origem e a tradução correspondente. Para mais informações, consulte Preparar exemplos de tradução na documentação do Cloud Translation.

Para ter resultados mais precisos, inclua exemplos específicos de uma ampla variedade de cenários. Inclua pelo menos cinco pares de frases e no máximo 10.000 pares. Além disso, um par de segmentos pode ter no máximo 512 caracteres.

Console

  1. Na seção Vertex AI do console Google Cloud , acesse a página Tradução para tradução no Vertex AI Studio.

    Acesse o Vertex AI Studio

  2. No painel Executar configurações, defina as configurações de tradução.

    1. No campo Modelo, selecione LLM de tradução.
    2. Para mudar a temperatura, abra Avançado.
  3. Clique em Adicionar exemplos.

    1. Selecione um arquivo local ou um arquivo do Cloud Storage. O Vertex AI Studio identificará os idiomas de origem e de destino do arquivo.
    2. Selecione o número de exemplos que o modelo usará antes de gerar uma resposta.

    O número de exemplos que você seleciona é contabilizado no limite de caracteres de entrada por solicitação de 3.000.

  4. No campo de entrada, digite o texto a ser traduzido.

  5. Clique em Enviar.

    A Vertex AI seleciona automaticamente o número especificado de frases de referência que são mais semelhantes à sua entrada. Modelo de tradução identifica padrões de seus exemplos e os aplica quando gerar uma resposta.

    O limite de saída por solicitação é de 3.000 caracteres. Qualquer texto além desse limite é descartado.

  6. Para acessar o código ou o comando curl que demonstra como solicitar traduções, clique em Acessar código.

API

Para solicitar traduções personalizadas, inclua até cinco pares de frases de referência no sua solicitação de tradução. O modelo de tradução usa todos eles para identificar padrões dos exemplos e, em seguida, os aplica ao gerar uma resposta.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do seu projeto do Google Cloud
  • LOCATION: o local onde você quer executar essa operação. Por exemplo, us-central1.
  • REFERENCE_SOURCE: uma frase no idioma de origem que está parte de um par de frases de referência.
  • REFERENCE_TARGET: uma frase no idioma de chegada que está parte de um par de frases de referência.
  • SOURCE_LANGUAGE: o código do idioma do texto de entrada.
  • TARGET_LANGUAGE: o idioma de chegada para o qual traduzir o texto de entrada.
  • SOURCE_TEXT: texto no idioma de origem a ser traduzido.
  • MIME_TYPE (opcional): o formato do texto de origem, como text/html ou text/plain. Por padrão, o tipo MIME é definido como text/plain.

Método HTTP e URL:

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

Corpo JSON da solicitação:

{
  "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"
    }
  ]
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Node.js

Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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

Antes de testar essa amostra, siga as instruções de configuração para Python Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Python.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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'])
  

Também é possível usar a API Cloud Translation para criar um conjunto de dados e importar pares de sentenças de exemplo. Quando você usa a API Cloud Translation para solicitar traduções, é possível incluir um conjunto de dados para personalizar as respostas. O conjunto de dados persistem e podem ser reutilizados em várias solicitações de tradução. Para mais mais detalhadas, consulte Solicitar traduções adaptáveis nos Documentação do Cloud Translation.

Idiomas compatíveis

LLM de tradução

Com o LLM de tradução, é possível traduzir de e para qualquer um dos seguintes idiomas:

Nome da linguagem Código do idioma
Árabe ar
Bengalês bn
Búlgaro bg
Catalão ca
Chinês (simplificado) zh-CN
Croata hr
Tcheco cs
Dinamarquês da
Holandês nl
Inglês en
Estoniano et
Finlandês fi
Francês fr
Alemão de
Grego el
Guzerate gu
Hebraico he
Hindi hi
Húngaro hu
Islandês is
Indonésio id
Italiano it
Japonês ja
Kannada kn
Coreano ko
Letão lv
Lituano lt
Malaiala ml
Marati mr
Norueguês no
Persa fa
Polonês pl
Português pt
Punjabi pa
Romeno ro
Russo ru
Eslovaco sk
Esloveno sl
Espanhol es
Suaíli sw
Sueco sv
Tâmil ta
Télugo te
Tailandês th
Turco tr
Ucraniano uk
Urdu ur
Vietnamita vi
Zulu zu

NMT

Para informações sobre os idiomas compatíveis com o modelo NMT da API Cloud Translation, consulte a seguinte documentação: