Traducir texto

Para las tareas de traducción, la IA generativa en Vertex AI ofrece la opción de elegir entre los modelos de Gemini y dos modelos de traducción especializados de la API Cloud Translation:

  • Modelo LLM de traducción: la oferta de traducción de Google más reciente y de mayor calidad, basada en LLMs. Ofrece traducciones de la máxima calidad con latencias razonables (unas tres veces más rápido que Gemini 2.0 Flash).

  • Modelo de traducción automática neuronal (NMT) de Cloud Translation: la oferta de traducción en tiempo real de Google, que consigue traducciones con una latencia de unos 100 ms. Ofrece la mayor calidad de todos los modelos de referencia con latencias comparables y sigue mejorando la calidad. La traducción automática neuronal puede alcanzar latencias hasta 20 veces más rápidas que Gemini 2.0 Flash.

Ventajas y factores de diferenciación clave del LLM de traducción

  • Calidad de traducción inigualable: el modelo LLM de traducción ofrece la mayor calidad de traducción y consigue un rendimiento significativamente superior en las comparativas con otros modelos. Es mucho más probable que el LLM de traducción reescriba significativamente una frase para que suene más natural en el idioma de destino, en lugar de ofrecer traducciones menos naturales "palabra por palabra" que suelen verse en otros modelos de traducción.
  • Mejor equilibrio entre calidad y latencia: Translation LLM ofrece traducciones basadas en LLMs con latencias significativamente mejores que las de Gemini 2.0 Flash. Aunque el LLM de traducción tiene una latencia mayor que el modelo NMT, suele ofrecer respuestas de mayor calidad para una amplia gama de aplicaciones.

Comparación de funciones de modelos

Función LLM de traducción (con la tecnología de Gemini) Modelo de NMT
Descripción Un modelo de lenguaje extenso especializado en traducciones que se basa en Gemini y se ha ajustado para traducir. Disponible con la IA generativa en Vertex AI y la API Cloud Translation - Advanced. El modelo de traducción automática neuronal de Google, disponible a través de las APIs Cloud Translation Advanced y Cloud Translation Basic . Optimizado para ofrecer sencillez y escalabilidad.
Calidad Traducción de máxima calidad. Supera a la traducción automática neuronal, Gemini 2.0 Flash y Gemini 2.5 Pro en calidad. Es más probable que reescriba las frases para que fluyan de forma natural. Muestra una reducción significativa de los errores. Calidad media o alta, según el par de idiomas. Se encuentra entre los modelos de TNM 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 NMT. Traducción en tiempo real más rápida. Baja latencia, adecuada para aplicaciones de chat y en tiempo real. Consigue latencias hasta 20 veces más rápidas que Gemini 2.0 Flash
Idiomas disponibles Los idiomas admitidos son alemán, árabe, checo, chino, coreano, español, francés, hindi, indonesio, inglés, italiano, japonés, neerlandés, polaco, portugués, ruso, tailandés, turco, ucraniano y vietnamita. Consulta la lista completa de idiomas disponibles. Entre los idiomas admitidos se incluyen el balinés, el cantonés y el fijiano. Se pueden hacer traducciones de cualquier idioma a cualquier otro idioma de la lista. Consulta la lista completa de idiomas disponibles.
Personalización Compatibilidad con glosarios avanzados, ajuste fino supervisado en Vertex AI para adaptaciones específicas de dominio o cliente y traducción adaptativa para personalizar el estilo en tiempo real con unos pocos ejemplos. Compatibilidad con glosarios para controlar la terminología y con el entrenamiento de modelos personalizados con AutoML Translation en la API 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 Cloud Translation Advanced, API Vertex AI API Cloud Translation (versión básica), API Cloud Translation (versión avanzada), API 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 traducción, Gemini o el modelo NMT para traducir texto mediante 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 vas a usar admite los idiomas de origen y de destino.

Consola

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

    Ir a Vertex AI Studio

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

  3. Para cambiar los ajustes del modelo (como la temperatura), despliega Avanzado.

  4. Define los idiomas de origen y de destino.

  5. En el campo de entrada, escribe el texto que quieras traducir.

  6. Haz clic en Enviar.

  7. Para obtener el código o el comando curl que muestra 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 traducciones de ejemplo para adaptar las respuestas del modelo a tu estilo, tono y sector. El modelo usa tus ejemplos como contexto de pocos disparos antes de traducir el texto.

API

Selecciona el modelo que quieras usar para tus traducciones.

LLM de traducción

Usa la API de Vertex AI y el LLM de traducción para traducir texto.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_NUMBER_OR_ID: ID numérico o alfanumérico de tu Google Cloud proyecto
  • LOCATION: la ubicación en la que quiere ejecutar esta operación. Por ejemplo, us-central1.
  • SOURCE_LANGUAGE_CODE: código de idioma del texto de entrada. Se debe definir como uno de los códigos de idioma que se indican en Traducción adaptativa.
  • TARGET_LANGUAGE_CODE: el idioma de destino al que se traducirá el texto de entrada. Se debe definir como uno de los códigos de idioma que se indican en Traducción adaptativa.
  • SOURCE_TEXT: texto en el idioma de origen que se va a traducir.
  • MIME_TYPE (Opcional): El formato del texto de origen, como text/html o text/plain. De forma predeterminada, el tipo MIME es 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

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

Node.js

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

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 Python instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de Vertex AI.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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)
      

Gemini

Usa la API de Vertex AI y Gemini para traducir texto.

Puedes personalizar aún más las respuestas de Gemini mediante peticiones abiertas y la ingeniería de peticiones.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
  • LOCATION: la ubicación para procesar la solicitud. Entre las opciones disponibles se incluyen las siguientes:

    Haz clic para ver una lista parcial de las regiones disponibles

    • us-central1
    • us-west4
    • northamerica-northeast1
    • us-east4
    • us-west1
    • asia-northeast3
    • asia-southeast1
    • asia-northeast1
  • MODEL_ID: el ID del modelo, como gemini-1.0-pro-002
  • SOURCE_LANGUAGE_CODE: el idioma del texto de entrada.
  • TARGET_LANGUAGE_CODE: el idioma de destino al que se traducirá el texto de entrada.
  • SOURCE_TEXT: el texto que se va a traducir.
  • TEMPERATURE: La temperatura se usa para el muestreo durante la generación de respuestas, que se produce cuando se aplican topP y topK. La temperatura controla el grado de aleatoriedad en la selección de tokens. Las temperaturas más bajas son adecuadas para las peticiones que requieren una respuesta menos abierta o creativa, mientras que las temperaturas más altas pueden dar lugar a resultados más diversos o creativos. Una temperatura de 0 significa que siempre se seleccionan los tokens con la probabilidad más alta. En este caso, las respuestas a una petición determinada son mayormente deterministas, pero sigue siendo posible que haya una pequeña variación.

    Si el modelo devuelve una respuesta demasiado genérica o demasiado corta, o bien una respuesta alternativa, prueba a aumentar la temperatura.

  • TOP_P: Top-P cambia la forma en que el modelo selecciona los tokens de salida. Los tokens se seleccionan de más probable a menos probable hasta que la suma de sus probabilidades sea igual al valor de top-P. Por ejemplo, si los tokens A, B y C tienen una probabilidad de 0,3, 0,2 y 0,1, y el valor de top_p es 0.5, el modelo seleccionará A o B como el siguiente token usando la temperatura y excluirá C como candidato.

    Especifica un valor más bajo para obtener respuestas menos aleatorias y un valor más alto para obtener respuestas más aleatorias.

  • TOP_K: Top-K cambia la forma en que el modelo selecciona los tokens de salida. Un valor de K superior de 1 significa que el siguiente token seleccionado es el más probable de todos los tokens del vocabulario del modelo (también llamado decodificación voraz), mientras que un valor de K superior de 3 significa que el siguiente token se selecciona de entre los tres tokens más probables mediante la temperatura.

    En cada paso de selección de tokens, se muestrean los K tokens principales con las probabilidades más altas. Después, los tokens se filtran en función de la probabilidad P máxima y el token final se selecciona mediante un muestreo de temperatura.

    Especifica un valor más bajo para obtener respuestas menos aleatorias y un valor más alto para obtener respuestas más aleatorias.

  • MAX_OUTPUT_TOKENS: Número máximo de tokens que se pueden generar en la respuesta. Un token tiene aproximadamente cuatro caracteres. 100 tokens corresponden aproximadamente a entre 60 y 80 palabras.

    Especifica un valor inferior para las respuestas más cortas y un valor superior para las respuestas que puedan ser más largas.

  • SAFETY_CATEGORY: la categoría de seguridad para la que se va a configurar un umbral. Entre los valores aceptados se incluyen los siguientes:

    Haz clic para desplegar las categorías de seguridad.

    • HARM_CATEGORY_SEXUALLY_EXPLICIT
    • HARM_CATEGORY_HATE_SPEECH
    • HARM_CATEGORY_HARASSMENT
    • HARM_CATEGORY_DANGEROUS_CONTENT
  • THRESHOLD: Umbral para bloquear las respuestas que podrían pertenecer a la categoría de seguridad especificada en función de la probabilidad. Entre los valores aceptados se incluyen los siguientes:

    Haz clic para desplegar los umbrales de bloqueo

    • BLOCK_NONE
    • BLOCK_ONLY_HIGH
    • BLOCK_MEDIUM_AND_ABOVE (predeterminado)
    • BLOCK_LOW_AND_ABOVE
    BLOCK_LOW_AND_ABOVE bloquea la mayoría de las cookies, mientras que BLOCK_ONLY_HIGH bloquea la menor cantidad.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.

Node.js

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

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo 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 probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de Vertex AI.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo 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

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

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
  • SOURCE_LANGUAGE: (opcional) código de idioma del texto de entrada. Para ver los códigos de idioma admitidos, consulta Idiomas admitidos.
  • TARGET_LANGUAGE: el idioma de destino al que se traducirá el texto de entrada. Se debe asignar uno de los códigos de idioma admitidos.
  • SOURCE_TEXT: el 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

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

Node.js

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

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 Python instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de Vertex AI.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 traducción proporcionando tus propias traducciones de ejemplo. Las traducciones personalizadas solo funcionan con el LLM de traducción.

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

Requisitos de datos

Si proporciona traducciones de ejemplo en un archivo para la Google Cloud consola, 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 correspondiente traducción. Para obtener más información, consulta el artículo Preparar traducciones de ejemplo de la documentación de Cloud Translation.

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

Consola

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

    Ir a Vertex AI Studio

  2. En el panel Configuración de la ejecución, configure los ajustes de traducción.

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

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

    El número de ejemplos que selecciones se tendrá en cuenta para el límite de 3000 caracteres de entrada por solicitud.

  4. En el campo de entrada, escribe el texto que quieras traducir.

  5. Haz clic en Enviar.

    Vertex AI selecciona automáticamente el número de frases de referencia que hayas especificado y que sean más similares a tu entrada. El modelo de traducción identifica patrones a partir de tus ejemplos y, a continuación, aplica esos patrones al generar una respuesta.

    El límite de salida por solicitud es de 3000 caracteres. El texto que supere este límite se eliminará.

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

API

Para solicitar traducciones personalizadas, incluya hasta cinco pares de oraciones de referencia en su solicitud de traducción. El modelo de traducción los usa todos para identificar patrones de tus ejemplos y, a continuación, aplica esos patrones al generar una respuesta.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_NUMBER_OR_ID: ID numérico o alfanumérico de tu Google Cloud proyecto
  • LOCATION: la ubicación en la que quiere ejecutar esta operación. Por ejemplo, us-central1.
  • REFERENCE_SOURCE: frase en el idioma de origen que forma parte de un par de frases de referencia.
  • REFERENCE_TARGET: frase en el idioma de destino que forma parte de un par de frases de referencia.
  • SOURCE_LANGUAGE: código de idioma del texto 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 va a traducir.
  • MIME_TYPE (Opcional): El formato del texto de origen, como text/html o text/plain. De forma predeterminada, el tipo MIME es 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

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

Node.js

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

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 Python instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de Vertex AI.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 Cloud Translation para crear un conjunto de datos e importar tus pares de frases de ejemplo. Cuando usas la API Cloud Translation para solicitar traducciones, puedes incluir tu conjunto de datos para personalizar las respuestas. El conjunto de datos se conserva y se puede reutilizar en varias solicitudes de traducción. Para obtener más información, consulta Solicitar traducciones adaptativas en la documentación de Cloud Translation.

Idiomas disponibles

LLM de traducción

Con el LLM de traducción, puedes traducir a cualquiera de los siguientes idiomas y desde 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
Kannada kn
Coreano ko
Letón lv
Lituano lt
Malabar ml
Marathi mr
Noruego no
Persa fa
Polaco pl
Portugués pt
Panyabí pa
Rumano ro
Ruso ru
Eslovaco sk
Esloveno sl
Español es
Swahili sw
Sueco sv
Tamil ta
Telugu te
Tailandés th
Turco tr
Ucraniano uk
Urdu ur
Vietnamita vi
Zulú zu

Gemini y NMT

Para obtener información sobre los idiomas que admiten los modelos de Gemini y el modelo de traducción automática neuronal de Cloud Translation, consulta la siguiente documentación: