Traduzir texto

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

  • LLM de tradução: a mais recente oferta de tradução do Google com a melhor qualidade no estilo LLM. Consegue a tradução de maior qualidade enquanto é exibida com latências razoáveis (cerca de três vezes mais rápida 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, que alcança traduções com latência de cerca de 100 ms. Ele alcança a maior qualidade de todos os modelos de comparação de mercado com latências semelhantes e continua a apresentar melhorias contínuas na qualidade. A NMT pode alcançar latências até 20 vezes mais rápidas do 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 maior qualidade de tradução, alcançando um desempenho significativamente maior em comparativos em comparação com outros modelos comparados. O LLM de tradução tem muito mais probabilidade de reescrever significativamente uma frase para que ela pareça mais natural no idioma de destino, em vez de fornecer traduções "palavra por palavra" menos naturais que são frequentemente encontradas em outros modelos de tradução.
  • Troca de qualidade/latência superior: o LLM de tradução oferece traduções com base em LLM com latências significativamente melhores do que o Gemini 2.0 Flash. Embora o LLM de tradução tenha latências maiores do que o modelo NMT, ele geralmente fornece respostas de melhor qualidade para uma ampla gama 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, desenvolvido pelo Gemini e ajustado para tradução. Disponível com a IA generativa na Vertex AI e a API avançada Cloud Translation. Modelo de tradução automática neural do Google, disponível nas APIs Cloud Translation – Advanced e Cloud Translation – Basic . Otimizado para simplificar e escalonar.
Qualidade Tradução de alta qualidade. Supera a qualidade do NMT, do Gemini 2.0 Flash e do Gemini 2.5 Pro Experimental. É 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 desempenho para muitas combinações de domínios e idiomas.
Latência A latência é significativamente melhor do que a do Gemini 2.0 Flash, mas ainda é mais lenta do que a do NMT. A tradução mais rápida em tempo real. Baixa latência, adequada para bate-papos e aplicativos em tempo real. Atinge latências até 20 vezes mais rápidas do que o Gemini 2.0 Flash
Suporte ao idioma Suporte a 19 idiomas. A lista de idiomas inclui árabe, chinês, tcheco, holandês, inglês, francês, alemão, hindi, indonésio, italiano, japonês, coreano, polonês, português, russo, espanhol, tailandês, turco, ucraniano e vietnamita. Expansão significativa de idiomas em abril de 2025. Suporta 189 idiomas, incluindo cantonês, fijiano e balinês. É possível traduzir de qualquer idioma para qualquer outro na lista de idiomas compatíveis.
Personalização Suporte a Glossários avançados, Ajuste fino supervisionado na Vertex AI para adaptações específicas do domínio/cliente, Tradução adaptativa para personalização de estilo em tempo real com alguns exemplos. Suporte a glossários para controlar a terminologia e treinar modelos personalizados com o AutoML Translation na API Cloud Translation - Advanced.
Recursos de tradução Tradução de HTML Tradução de documentos HTML, em lote e formatados
Integração de API Cloud Translation – API Advanced, API Vertex AI API Cloud Translation – Basic, API Cloud Translation – Advanced, API Vertex AI

Uso

Esta seção mostra como usar o Vertex AI Studio para traduzir texto rapidamente de um idioma para outro. Use o LLM de tradução, o Gemini ou o modelo NMT para traduzir textos usando a API ou o console do Google Cloud. Os idiomas com que cada modelo trabalha podem variar. Antes de solicitar traduções, verifique se o modelo usado aceita seus idiomas de origem e de destino.

Console

  1. Na seção "Vertex AI" do console do Google Cloud, acesse a página Tradução de texto 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ção para personalizar as respostas do modelo para que correspondam melhor ao 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 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)
      

Gemini

Use a API Vertex AI e o Gemini para traduzir de texto.

Você pode personalizar ainda mais as respostas do Gemini e engenharia de comando.

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 projeto do Google Cloud.
  • LOCATION: o local para processar a solicitação. As opções disponíveis incluem:

    Clicar para abrir uma lista parcial das regiões disponíveis

    • us-central1
    • us-west4
    • northamerica-northeast1
    • us-east4
    • us-west1
    • asia-northeast3
    • asia-southeast1
    • asia-northeast1
  • MODEL_ID: o ID do modelo, como gemini-1.0-pro-002
  • SOURCE_LANGUAGE_CODE: o idioma do texto de entrada.
  • TARGET_LANGUAGE_CODE: o idioma de chegada para o qual traduzir o texto de entrada.
  • SOURCE_TEXT: O texto que será traduzido.
  • TEMPERATURE: a temperatura é usada para amostragem durante a geração da resposta, que ocorre quando topP e topK são aplicados. A temperatura controla o grau de aleatoriedade na seleção do token. Temperaturas mais baixas são boas para solicitações que exigem uma resposta menos aberta ou criativa, enquanto temperaturas mais altas podem levar a resultados mais diversos ou criativos. Uma temperatura de 0 significa que os tokens de maior probabilidade são sempre selecionados. Nesse caso, as respostas para uma determinada solicitação são, na maioria das vezes, deterministas, mas uma pequena variação ainda é possível.

    Se o modelo retornar uma resposta muito genérica, muito curta ou se o modelo fornecer uma resposta alternativa, tente aumentar a temperatura.

  • TOP_P: o Top-P muda a forma como o modelo seleciona tokens para saída. Os tokens são selecionados do mais provável (veja o top-K) para o menos provável até que a soma das probabilidades seja igual ao valor do top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de 0,3, 0,2 e 0,1 e o valor de top-P for 0.5, o modelo selecionará A ou B como token seguinte usando temperatura e exclui C como candidato.

    Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.

  • TOP_K: o Top-K muda a forma como o modelo seleciona tokens para saída. Um top-K de 1 significa que o próximo token selecionado é o mais provável entre todos os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de 3 significa que o próximo token está selecionado entre os três tokens mais prováveis usando a temperatura.

    Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.

    Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.

  • MAX_OUTPUT_TOKENS: número máximo de tokens que podem ser gerados na resposta. Um token tem cerca de quatro caracteres. 100 tokens correspondem a cerca de 60 a 80 palavras.

    Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas potencialmente mais longas.

  • SAFETY_CATEGORY: a categoria de segurança para a qual configurar um limite. Os valores aceitáveis são os seguintes:

    Clique para expandir as categorias de segurança

    • HARM_CATEGORY_SEXUALLY_EXPLICIT
    • HARM_CATEGORY_HATE_SPEECH
    • HARM_CATEGORY_HARASSMENT
    • HARM_CATEGORY_DANGEROUS_CONTENT
  • THRESHOLD: o limite de bloqueio de respostas que podem pertencer à categoria de segurança especificada com base na probabilidade. Os valores aceitáveis são os seguintes:

    Clique para expandir os limites de bloqueio

    • BLOCK_NONE
    • BLOCK_ONLY_HIGH
    • BLOCK_MEDIUM_AND_ABOVE (padrão)
    • BLOCK_LOW_AND_ABOVE
    BLOCK_LOW_AND_ABOVE bloqueia mais, e BLOCK_ONLY_HIGH bloqueia a menor.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent

Corpo JSON da solicitação:

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
        "text": "SOURCE_LANGUAGE_CODE: SOURCE_TEXT\nTARGET_LANGUAGE_CODE:"
        }
      ]
    }
  ],
  "generation_config": {
    "temperature": TEMPERATURE,
    "topP": TOP_P,
    "topK": TOP_K,
    "candidateCount": 1,
    "maxOutputTokens": MAX_OUTPUT_TOKENS
  }
  "safetySettings": [
    {
      "category": "SAFETY_CATEGORY",
      "threshold": "THRESHOLD"
    }
  ]
}

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

Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.

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.

const {VertexAI} = require('@google-cloud/vertexai');

// Initialize Vertex with your Cloud project and location
const vertex_ai = new VertexAI({project: 'PROJECT_ID', location: 'LOCATION'});
const model = 'gemini-1.0-pro';

// Instantiate the models
const generativeModel = vertex_ai.preview.getGenerativeModel({
  model: model,
  generationConfig: {
    'candidate_count': 1,
    'max_output_tokens': MAX_OUTPUT_TOKENS,
    'temperature': TEMPERATURE,
    'top_p': TOP_P,
    'top_k': TOP_K,
  },
  safetySettings: [
    {
        'category': 'HARM_CATEGORY_HATE_SPEECH',
        'threshold': 'BLOCK_MEDIUM_AND_ABOVE'
    },
    {
        'category': 'HARM_CATEGORY_DANGEROUS_CONTENT',
        'threshold': 'BLOCK_MEDIUM_AND_ABOVE'
    },
    {
        'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT',
        'threshold': 'BLOCK_MEDIUM_AND_ABOVE'
    },
    {
        'category': 'HARM_CATEGORY_HARASSMENT',
        'threshold': 'BLOCK_MEDIUM_AND_ABOVE'
    }
  ],
});


async function generateContent() {
  const req = {
    contents: [
      {role: 'user', parts: [{text: `SOURCE_LANGUAGE_CODE: TEXT
TARGET_LANGUAGE_CODE:`}]}
    ],
  };

  const streamingResp = await generativeModel.generateContentStream(req);

  for await (const item of streamingResp.stream) {
    process.stdout.write('stream chunk: ' + JSON.stringify(item) + '\n');
  }

  process.stdout.write('aggregated response: ' + JSON.stringify(await streamingResp.response));
}

generateContent();
      

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.

import base64
import vertexai
from vertexai.generative_models import GenerativeModel, Part, FinishReason
import vertexai.preview.generative_models as generative_models

def generate():
  vertexai.init(project="PROJECT_ID", location="LOCATION")
  model = GenerativeModel("gemini-1.0-pro")
  responses = model.generate_content(
      ["""SOURCE_LANGUAGE_CODE: TEXT
TARGET_LANGUAGE_CODE:"""],
      generation_config=generation_config,
      safety_settings=safety_settings,
  )

  print(responses)


generation_config = {
    "candidate_count": 1,
    "max_output_tokens": MAX_OUTPUT_TOKENS,
    "temperature": TEMPERATURE,
    "top_p": TOP_P,
    "top_k": TOP_K,
}

safety_settings = {
    generative_models.HarmCategory.HARM_CATEGORY_HATE_SPEECH: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    generative_models.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    generative_models.HarmCategory.HARM_CATEGORY_HARASSMENT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
}

generate()
      

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 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() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    contents: [text],
    mimeType: 'text/plain', // mime types: text/plain, text/html
    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ção. 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 do Google Cloud, acesse a página Tradução de texto 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 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 disponíveis

LLM de tradução

Com o LLM de tradução, é possível fazer traduções de e para qualquer um dos seguintes idiomas.

Nome da linguagem Código do idioma
Árabe ar
Chinês zh-CN
Tcheco cs
Holandês nl
Inglês en
Francês fr
Filipino de
Francês hi
Língua indonésia id
Italiano it
Japonês ja
Coreano ko
Polonês pl
Português pt
Russo ru
Espanhol es
Tailandês th
Turco tr
Ucraniano uk
Vietnamita vi

Gemini e NMT

Para mais informações sobre os idiomas com suporte do modelo NMT do Cloud Translation e dos modelos do Gemini, consulte a seguinte documentação: