Modelo de LLM de tradução (TLLM)

O mais recente modelo de tradução de ponta do Google, o TLLM, é um LLM ajustado com LoRA que oferece a mais alta qualidade de tradução disponível. Ele alcança pontuações significativamente melhores de MetricX e COMET em cargas de trabalho difíceis do que outros modelos de tradução. Ela oferece suporte à personalização e à tradução adaptativa, que é mais leve.

O ID do modelo é general/translation-llm.

Para acessar o modelo TLLM, é necessário ter um projeto Google Cloud com a API Cloud Translation Advanced ativada e credenciais para fazer chamadas autenticadas. Para acessar o modelo usando Python ou outra linguagem de programação, instale a biblioteca de cliente v3 apropriada .

Nos exemplos apresentados aqui, PROJECT_ID representa o ID do projeto, e REGION_NAME representa o nome técnico da região Google Cloud em que você quer executar a operação de tradução (como us-central1). Use códigos ISO-639 para identificar os idiomas de origem e de destino quando necessário.

Exemplo de REST de tradução de texto

Use a API REST para chamar TranslateText no modelo TLLM. É possível colocar os campos de solicitação em um arquivo JSON chamado request.json:

{
  "contents": ["This is text that I would like to have translated.",
               "It can include up to 1024 strings."],
  "mimeType": "text/plain",
  "sourceLanguageCode": "en"
  "targetLanguageCode": "it",
  "model": "projects/PROJECT_ID/locations/REGION_NAME/models/general/translation-llm"
}

Em seguida, use um comando curl para enviar a solicitação:

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "x-goog-user-project: PROJECT_ID" \
     -H "Content-Type: application/json; charset=utf-8" \
     -d @request.json \
     "https://translation.googleapis.com/v3/projects/PROJECT_ID:translateText"

A resposta é um documento JSON semelhante a este:

{
  "translations": [
    {
      "translatedText": "Este es el texto que me gustaría traducir.",
      "model": "projects/PROJECT_ID/locations/REGION_NAME/models/general/translation-llm"
    },
    {
      "translatedText": "Puede incluir hasta 1024 cadenas.",
      "model": "projects/PROJECT_ID/locations/REGION_NAME/models/general/translation-llm"
    }
  ]
}

Exemplo de tradução de texto em Python

Confira um exemplo de código em Python para chamar TranslateText com o modelo TLLM:

from google.cloud import translate_v3

def translate():

  response = translate_v3.TranslationServiceClient().translate_text(
      contents=["Life is short.",
                  "Art is long."],
      target_language_code='fr',
      source_language_code='en',
      parent=f"projects/PROJECT_ID/locations/REGION_NAME",
      model=f"projects/PROJECT_ID/locations/REGION_NAME/models/general/translation-llm"
  )

  print(response)

  return response

translate()

A resposta é um objeto JSON:

translations {
  translated_text: "La vie est courte."
  model: "projects/261347268520/locations/us-central1/models/general/translation-llm"
}
translations {
  translated_text: "L'art est long."
  model: "projects/261347268520/locations/us-central1/models/general/translation-llm"
}

translations {
  translated_text: "La vie est courte."
  model: "projects/261347268520/locations/us-central1/models/general/translation-llm"
}
translations {
  translated_text: "L'art est long."
  model: "projects/261347268520/locations/us-central1/models/general/translation-llm"