Traducir texto

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

  • LLM de traducción: Es la oferta de traducción más reciente y de mayor calidad de Google con el estilo de LLM. Logra la traducción de mayor calidad y, al mismo tiempo, se entrega con latencias razonables (~3 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 logra traducciones con una latencia de alrededor de 100 ms. Alcanza la calidad más alta de todos los modelos comparados que se publican con latencias comparables y sigue mostrando avances continuos en la 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 sin precedentes: El LLM de traducción ofrece la mejor calidad de traducción y logra un rendimiento significativamente más alto en las comparativas en comparación con otros modelos. 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.
  • Relación calidad/latencia superior: El LLM de traducción proporciona traducciones potenciadas por LLM con latencias significativamente mejores que Gemini 2.0 Flash. Aunque el LLM de traducción tiene latencias más altas que el modelo de NMT, por lo general, proporciona respuestas de mayor calidad para una amplia variedad de aplicaciones.

Comparación de funciones de los modelos

Función LLM de traducción (con tecnología de Gemini) Modelo de NMT
Descripción Un modelo de lenguaje grande especializado en la traducción impulsado por Gemini, ajustado 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 mayor calidad. Supera a NMT, Gemini 2.0 Flash y Gemini 2.5 Pro Experimental en calidad. Es más probable que reescriba oraciones para lograr un flujo natural. Muestra una reducción significativa de errores. De calidad media a alta, según el par de idiomas Entre los modelos de NMT en tiempo real con mejor rendimiento para muchas combinaciones de dominios de lenguaje.
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. 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 Admite 19 idiomas. La lista de idiomas incluye alemán, árabe, chino, checo, español, francés, hindi, indonesio, inglés, italiano, japonés, coreano, neerlandés, polaco, portugués, ruso, tailandés, turco, ucraniano y vietnamita. En abril de 2025, se lanzará una expansión significativa de idiomas. Admite 189 idiomas, incluidos el cantonés, el fijiano y el balinés. Se pueden realizar traducciones de cualquier idioma a cualquier otro de la lista de idiomas admitidos.
Personalización Compatibilidad con Glosarios avanzados, Ajuste fino supervisado en Vertex AI para adaptaciones específicas del dominio o del cliente, Traducción adaptable para la personalización de estilo en tiempo real con algunos ejemplos. Compatibilidad con glosarios para controlar la terminología y entrenar modelos personalizados con AutoML Translation en la API de Cloud Translation Advanced
Funciones de traducción Traducción de HTML Traducción de documentos con formato, HTML y por lotes
Integración de APIs API de Cloud Translation Advanced, API de Vertex AI API de Cloud Translation: básica, API de Cloud Translation: avanzada, API de Vertex AI

Uso

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

Console

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

    Ir a Vertex AI Studio

  2. En el panel Run settings, selecciona un modelo de traducción en el campo Model.

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

  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 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 para que coincidan más con tu estilo, tono y dominio de la industria. El modelo usa tus ejemplos como contexto de pocas fotos antes de traducir el 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 traducción para traducir texto.

REST

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

  • PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico del 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. Establece 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. Establece 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)
      

Gemini

Usar la API de Vertex AI y Gemini para traducir texto

Puedes personalizar aún más las respuestas de Gemini a través de instrucciones abiertas y la ingeniería de instrucciones.

REST

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

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

    Haz clic para expandir una lista parcial de regiones disponibles

    • us-central1
    • us-west4
    • northamerica-northeast1
    • us-east4
    • us-west1
    • asia-northeast3
    • asia-southeast1
    • asia-northeast1
  • MODEL_ID: Es el ID del modelo, como gemini-1.0-pro-002.
  • SOURCE_LANGUAGE_CODE: Es el idioma del texto de entrada.
  • TARGET_LANGUAGE_CODE: el idioma de destino al que se traducirá el texto de entrada.
  • SOURCE_TEXT: Texto que se va a traducir.
  • TEMPERATURE: La temperatura se usa para las muestras durante la generación de respuesta, que se genera 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 buenas para los mensajes que requieren una respuesta menos abierta o de creativa, mientras que las temperaturas más altas pueden generar resultados más diversos o creativos. Una temperatura de 0 significa que siempre se seleccionan los tokens de probabilidad más alta. En este caso, las respuestas para un mensaje determinado son, en su mayoría, deterministas, pero es posible que haya una pequeña cantidad de variación.

    Si el modelo muestra una respuesta demasiado genérica, demasiado corta o el modelo proporciona una respuesta de resguardo, intenta aumentar la temperatura.

  • TOP_P: Top-P cambia la manera en la que el modelo selecciona los tokens para el resultado. Los tokens se seleccionan del más (consulta top-K) al menos probable, hasta que la suma de sus probabilidades sea igual al valor de P superior. Por ejemplo, si los tokens A, B y C tienen una probabilidad de 0.3, 0.2 y 0.1, y el valor P superior es 0.5, el modelo elegirá A o B como el siguiente token mediante la temperatura y excluirá a C como candidato.

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

  • TOP_K: El parámetro Top-K cambia la manera en la que el modelo selecciona los tokens para el resultado. Un top-K de 1 significa que el siguiente token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación codiciosa), mientras que un top-K de 3 significa que el siguiente token se selecciona de los tres tokens más probables con la temperatura.

    Para cada paso de selección de tokens, se muestran los tokens de K superior con las probabilidades más altas. Luego, los tokens se filtran según el superior con el token final seleccionado mediante el muestreo de temperatura.

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

  • MAX_OUTPUT_TOKENS: Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene casi cuatro caracteres. 100 tokens corresponden a casi 60 u 80 palabras.

    Especifica un valor más bajo para las respuestas más cortas y un valor más alto para las respuestas potencialmente más largas.

  • SAFETY_CATEGORY: La categoría de seguridad para la que se configura un umbral. Los valores aceptables son los siguientes:

    Haz clic para expandir las categorías de seguridad

    • HARM_CATEGORY_SEXUALLY_EXPLICIT
    • HARM_CATEGORY_HATE_SPEECH
    • HARM_CATEGORY_HARASSMENT
    • HARM_CATEGORY_DANGEROUS_CONTENT
  • THRESHOLD: El umbral para bloquear respuestas que podrían pertenecer a la categoría de seguridad especificada según la probabilidad. Los valores aceptables son los siguientes:

    Haz clic para expandir los umbrales de bloqueo

    • BLOCK_NONE
    • BLOCK_ONLY_HIGH
    • BLOCK_MEDIUM_AND_ABOVE (predeterminada)
    • BLOCK_LOW_AND_ABOVE
    BLOCK_LOW_AND_ABOVE bloquea más, mientras que BLOCK_ONLY_HIGH bloquea menos.

HTTP method and 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, expande una de estas opciones:

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

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.

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 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 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 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: el ID numérico o alfanumérico del 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. Establece 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() {
  // 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 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

Proporciona tus propias traducciones de ejemplo para personalizar las respuestas del LLM de traducción. Las traducciones personalizadas solo funcionan con el LLM de traducción.

Puedes solicitar una traducción personalizada 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.

Console

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

    Ir a Vertex AI Studio

  2. En el panel Run settings, configura la configuración de traducción.

    1. En el campo Model, selecciona Translation LLM.
    2. Para cambiar la temperatura, expande Configuración avanzada.
  3. Haz clic en Agregar ejemplos.

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

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

  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, los aplica 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 muestra 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 de tus ejemplos y, luego, aplicarlos 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: el ID numérico o alfanumérico del 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 importar tus parejas 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 volver a usar con varias solicitudes de traducción. Para obtener más información, consulta Cómo solicitar traducciones adaptables 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
Chino zh-CN
Checo cs
Holandés nl
Inglés en
Francés fr
Alemán de
Hindi hi
Indonesio id
Italiano it
Japonés ja
Coreano ko
Polaco pl
Portugués pt
Ruso ru
Español es
Tailandés th
Turco tr
Ucraniano uk
Vietnamita vi

Gemini y NMT

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