Traducir texto

Para las tareas de traducción, la IA generativa en Vertex AI ofrece dos modelos de traducción especializados de la API de Cloud Translation:

  • LLM de traducción: Es la oferta de traducción con el estilo de LLM de mayor calidad y más reciente de Google. Logra la traducción de mayor calidad y, al mismo tiempo, ofrece latencias razonables (aproximadamente 3 veces más rápido que Gemini 2.0 Flash).

  • Modelo de traducción automática neuronal (NMT) de Cloud Translation: La principal oferta de traducción en tiempo real de Google, que logra traducciones con una latencia de aproximadamente 100 ms. Alcanza la calidad más alta de todos los modelos comparados con una latencia comparable y sigue mejorando su calidad. La NMT puede lograr latencias hasta 20 veces más rápidas que Gemini 2.0 Flash.

Ventajas y diferenciadores clave del LLM de Traducción

  • Calidad de traducción inigualable: El LLM de traducción ofrece la mayor calidad de traducción, con un rendimiento significativamente más alto en las comparativas en comparación con otros modelos comparados. Es mucho más probable que el LLM de traducción reescriba significativamente una oración para que suene más natural en el idioma de destino, en lugar de proporcionar traducciones "palabra por palabra" menos naturales que se suelen ver en otros modelos de traducción.
  • Mejor compensación entre calidad y latencia: El LLM de traducción proporciona traducciones potenciadas por LLM con latencias significativamente mejores que Gemini 2.0 Flash. Si bien el LLM de traducción tiene latencias más altas que el modelo de NMT, suele proporcionar respuestas de mayor calidad para una amplia variedad de aplicaciones.

Comparación de funciones del modelo

Función LLM de traducción (con tecnología de Gemini) Modelo de NMT
Descripción Es un modelo de lenguaje grande especializado en traducción y potenciado por Gemini, que se ajustó para la traducción. Disponible con la IA generativa en Vertex AI y la API de Cloud Translation Advanced. El modelo de traducción automática neuronal de Google, disponible a través de las APIs de Cloud Translation Advanced y Cloud Translation Basic . Está optimizado para brindar simplicidad y escalamiento.
Calidad Traducción de calidad más alta. Supera a la NMT, a Gemini 2.0 Flash y a Gemini 2.5 Pro en calidad. Es más probable que reescriba oraciones para que el flujo sea natural. Muestra una reducción significativa de los errores. Calidad media a alta, según el par de idiomas. Se encuentra entre los modelos de NMT en tiempo real con mejor rendimiento para muchas combinaciones de idiomas y dominios.
Latencia La latencia es significativamente mejor que la de Gemini 2.0 Flash, pero sigue siendo más lenta que la de la NMT. Traducción en tiempo real más rápida. Latencia baja, adecuada para aplicaciones de chat y en tiempo real. Logra latencias hasta 20 veces más rápidas que Gemini 2.0 Flash
Idiomas admitidos Los idiomas disponibles son alemán, árabe, checo, chino, coreano, español, francés, hindi, indonesio, inglés, italiano, japonés, neerlandés,, portugués, ruso, tailandés, turco, ucraniano y vietnamita. Consulta los idiomas admitidos para obtener una lista completa. Los idiomas admitidos incluyen cantonés, fiyiano y balinés. Se pueden realizar traducciones de cualquier idioma a cualquier otro idioma de la lista de idiomas admitidos. Consulta los idiomas admitidos para obtener una lista completa.
Personalización Compatibilidad con glosarios avanzados, ajuste supervisado en Vertex AI para adaptaciones específicas del dominio o del cliente y traducción adaptativa para la personalización del estilo en tiempo real con algunos ejemplos. Compatibilidad con glosarios para controlar la terminología y entrenamiento de modelos personalizados con AutoML Translation en la API de Cloud Translation Advanced.
Funciones de traducción Traducción de HTML Traducción de documentos HTML, por lotes y con formato
Integración de APIs API de Cloud Translation Advanced y API de Vertex AI API de Cloud Translation Basic, API de Cloud Translation Advanced y API de Vertex AI

Uso

En esta sección, se muestra cómo usar Vertex AI Studio para traducir rápidamente texto de un idioma a otro. Puedes usar el LLM de Translation o el modelo de NMT para traducir texto con la Google Cloud consola o la API. Ten en cuenta que los idiomas que admite cada modelo pueden variar. Antes de solicitar traducciones, comprueba que el modelo que utilizas admite tus idiomas de origen y de destino.

Console

  1. En la sección Vertex AI de la Google Cloud consola, ve a la página Traducir texto en Vertex AI Studio.

    Ir a Vertex AI Studio

  2. En el panel Configuración de ejecución, selecciona un modelo de traducción en el campo Modelo.

  3. Para cambiar la configuración del modelo (como la temperatura), expande Avanzado.

  4. Establece los idiomas de origen y de destino.

  5. En el campo de entrada, ingresa el texto que deseas traducir.

  6. Haz clic en Enviar.

  7. Para obtener el código o el comando curl que demuestran cómo solicitar traducciones, haz clic en Obtener código.

Ten en cuenta que, en Vertex AI Studio, el LLM de traducción te permite proporcionar ejemplos de traducciones para adaptar las respuestas del modelo y que coincidan mejor con tu estilo, tono y dominio del sector. El modelo usa tus ejemplos como contexto de pocos ejemplos antes de traducir tu texto.

API

Selecciona el modelo que quieres usar para tus traducciones.

LLM de traducción

Usa la API de Vertex AI y el LLM de Translation para traducir texto.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER_OR_ID: Es el ID numérico o alfanumérico de tu proyecto de Google Cloud .
  • LOCATION: Es la ubicación en la que deseas ejecutar esta operación. Por ejemplo, us-central1
  • SOURCE_LANGUAGE_CODE: El código de idioma del documento de entrada. Se debe establecer en uno de los códigos de idioma que se indican en traducción adaptable.
  • TARGET_LANGUAGE_CODE: el idioma de destino al que se traducirá el texto de entrada. Se debe establecer en uno de los códigos de idioma que se indican en traducción adaptable.
  • SOURCE_TEXT: Texto en el idioma de origen que se debe traducir.
  • MIME_TYPE (opcional): Es el formato del texto fuente, como text/html o text/plain. De forma predeterminada, el tipo MIME se establece en text/plain.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "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 tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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 probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Usa la API de Cloud Translation y el modelo de NMT para traducir texto.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER_OR_ID: Es el ID numérico o alfanumérico de tu proyecto de Google Cloud .
  • SOURCE_LANGUAGE: el código de idioma del texto de entrada (opcional) Para conocer los códigos de los idiomas admitidos, consulta Idiomas admitidos.
  • TARGET_LANGUAGE: el idioma de destino al que se traducirá el texto de entrada. Se debe establecer en uno de los códigos de idioma admitidos.
  • SOURCE_TEXT: Texto que se va a traducir.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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 probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Traducciones personalizadas

Personaliza las respuestas del LLM de Translation proporcionando tus propias traducciones de ejemplo. Las traducciones personalizadas solo funcionan con el LLM de Translation.

Puedes solicitar traducciones personalizadas a través de la consola o la API de Vertex AI Studio con una diferencia. La consola admite traducciones personalizadas solo cuando proporcionas ejemplos en un archivo TMX o TSV. La API admite traducciones personalizadas solo cuando proporcionas ejemplos (hasta 5 pares de oraciones) intercalados como parte de la solicitud de traducción.

Requisitos de los datos

Si proporcionas traducciones de ejemplo en un archivo para la consola de Google Cloud , los ejemplos deben escribirse como pares de segmentos en un archivo TMX o TSV. Cada par incluye un segmento en el idioma de origen y su contraparte traducida. Para obtener más información, consulta Prepara traducciones de ejemplo en la documentación de Cloud Translation.

Para obtener los resultados más precisos, incluye ejemplos específicos de una amplia variedad de situaciones. Debes incluir al menos cinco pares de oraciones, pero no más de 10,000. Además, un par de segmentos puede tener un máximo de 512 caracteres en total.

Console

  1. En la sección Vertex AI de la Google Cloud consola, ve a la página Traducir texto en Vertex AI Studio.

    Ir a Vertex AI Studio

  2. En el panel Configuración de ejecución, establece la configuración de traducción.

    1. En el campo Modelo, selecciona LLM de traducción.
    2. Para cambiar la temperatura, expande Avanzado.
  3. Haz clic en Agregar ejemplos.

    1. Selecciona un archivo local o uno de Cloud Storage. Vertex AI Studio determina los idiomas de origen y destino a partir de tu archivo.
    2. Selecciona la cantidad de ejemplos que el modelo debe usar antes de generar una respuesta.

    La cantidad de ejemplos que selecciones se tendrá en cuenta para el límite de caracteres de entrada por solicitud de 3,000.

  4. En el campo de entrada, ingresa el texto que deseas traducir.

  5. Haz clic en Enviar.

    Vertex AI selecciona automáticamente la cantidad especificada de oraciones de referencia que son más similares a tu entrada. El modelo de traducción identifica patrones a partir de tus ejemplos y, luego, aplica esos patrones cuando genera una respuesta.

    El límite de salida por solicitud es de 3,000 caracteres. Se descarta cualquier texto que supere este límite.

  6. Para obtener el código o el comando curl que demuestran cómo solicitar traducciones, haz clic en Obtener código.

API

Para solicitar traducciones personalizadas, incluye hasta cinco pares de oraciones de referencia en tu solicitud de traducción. El modelo de traducción los usa todos para identificar patrones en tus ejemplos y, luego, aplica esos patrones cuando genera una respuesta.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER_OR_ID: Es el ID numérico o alfanumérico de tu proyecto de Google Cloud .
  • LOCATION: Es la ubicación en la que deseas ejecutar esta operación. Por ejemplo, us-central1
  • REFERENCE_SOURCE: Es una oración en el idioma de origen que forma parte de un par de oraciones de referencia.
  • REFERENCE_TARGET: Es una oración en el idioma de destino que forma parte de un par de oraciones de referencia.
  • SOURCE_LANGUAGE: El código de idioma del documento de entrada.
  • TARGET_LANGUAGE: el idioma de destino al que se traducirá el texto de entrada.
  • SOURCE_TEXT: Texto en el idioma de origen que se debe traducir.
  • MIME_TYPE (opcional): Es el formato del texto fuente, como text/html o text/plain. De forma predeterminada, el tipo MIME se establece en text/plain.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "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 tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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 probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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'])
  

También puedes usar la API de Cloud Translation para crear un conjunto de datos y, luego, importar tus pares de oraciones de ejemplo. Cuando usas la API de Cloud Translation para solicitar traducciones, puedes incluir tu conjunto de datos para personalizar las respuestas. El conjunto de datos persiste y se puede reutilizar con varias solicitudes de traducción. Para obtener más información, consulta Solicita traducciones adaptativas en la documentación de Cloud Translation.

Idiomas compatibles

LLM de traducción

Con el LLM de traducción, puedes traducir desde cualquiera de los siguientes idiomas y a cualquiera de ellos.

Nombre del idioma Código de idioma
Árabe ar
Bengalí bn
Búlgaro bg
Catalán ca
Chino (simplificado) zh-CN
Croata hr
Checo cs
Danés da
Neerlandés nl
Inglés en
Estonio et
Finlandés fi
Francés fr
Alemán de
Griego el
Gujarati gu
Hebreo he
Hindi hi
Húngaro hu
Islandés is
Indonesio id
Italiano it
Japonés ja
Canarés kn
Coreano ko
Letón lv
Lituano lt
Malayalam ml
Marathi mr
Noruego no
Persa fa
Polaco pl
Portugués pt
Punyabí pa
Rumano ro
Ruso ru
Eslovaco sk
Esloveno sl
Español es
Suajili sw
Sueco sv
Tamil ta
Telugu te
Tailandés th
Turco tr
Ucraniano uk
Urdu ur
Vietnamita vi
Zulú zu

NMT

Para obtener información sobre los idiomas que admite el modelo de NMT de Cloud Translation, consulta la siguiente documentación: