Solicitar traducción adaptable

Cuando solicitas una traducción adaptable, debes proporcionar el texto a traducir y las traducciones de ejemplo que usa Cloud Translation para adaptar sus respuestas.

Antes de comenzar

Para usar la traducción adaptable, debes habilitar la API de Cloud Translation en tu proyecto y configurar la autenticación. Para obtener más información, consulta la Configuración de Cloud Translation.

Además, comprueba que tusidiomas de origen y objetivo sean compatibles con la traducción adaptable.

Requisitos de datos y sugerencias

Debes proporcionar traducciones de ejemplo en un archivo TSV o TMX. Los ejemplos deben ser de pares de oraciones en los idiomas de origen y objetivo previstos. Recomendamos que proporciones ejemplos que abarquen el vocabulario, el uso y las particularidades gramaticales de tu dominio. Para ver más sugerencias, consulta Preparación de datos en la documentación de AutoML Translation.

Tus datos deben incluir al menos 5 pares de oraciones y no más de 10,000 pares si usas la consola y no más de 30,000 pares si usas la API. La cantidad máxima de caracteres que puede tener un par de segmentos es de 512 (total).

Limitaciones

  • Solo puedes traducir texto sin formato.
  • Solo puedes traducir hacia un idioma meta a la vez.

Para obtener información sobre las cuotas y los límites de las traducciones adaptables, consulta la página Cuotas.

Solicitar traducciones

Consola

Al usar la consola de Google Cloud, selecciona un archivo que incluya tus traducciones de ejemplo y luego solicita traducciones. Cloud Translation no almacena tus datos importados. Si prefieres trabajar con conjuntos de datos persistentes, usa la API.

  1. Ve a la consola de AutoML Translation.

    Ir a la página Traducción adaptable

  2. Selecciona un archivo local o de Cloud Storage que contenga tus traducciones de ejemplo.

    Después de seleccionar un archivo, Cloud Translation establece los campos Idioma de origen y Idioma de destino en función de tus datos. Por ejemplo, si importas un conjunto de datos de inglés a portugués, la consola solo te permite traducir oraciones de ese par idiomático.

  3. Ingresar texto en el campo de idioma de origen.

    La traducción adaptable tiene límites en la cantidad de caracteres de entrada y salida. Para obtener más información, consulta los límites de traducción adaptable en la página Cuotas.

  4. Para ajustar los parámetros, usa los controles deslizantes o los campos de texto para establecer valores:

    • Temperatura: controla el grado de aleatorización en la selección de tokens. En temperaturas más bajas se espera una respuesta verdadera o correcta. En temperaturas más altas se esperan resultados más diversos o inesperados.
    • Cantidad de ejemplos: Configura la cantidad de ejemplos que se usarán de tus datos de origen para indicar el LLM.
  5. Selecciona Comparar con el modelo de NMT para incluir traducciones del modelo predeterminado de NMT de Google junto al resultado de la traducción adaptable.

  6. Haz clic en Traducir.

    En unos instantes, Cloud Translation muestra una respuesta en el campo de idioma de destino. Cloud Translation no muestra ningún texto que supere el límite de caracteres de salida.

API

Al usar la API, primero debes crear un conjunto de datos, importar los datos al conjunto y, luego, solicitar traducciones adaptables con tu conjunto de datos. El conjunto de datos persiste en tu proyecto hasta que lo elimines, lo que significa que otros usuarios de tu proyecto pueden usarlo para traducciones adaptables.

Crea un conjunto de datos

Crea un conjunto de datos en el que importes tus traducciones de ejemplo. Los idiomas e origen y objetivo deben coincidir con los idiomas que deseas usar en tus traducciones. Para obtener más información, consulta el método adaptiveMtDataset.create.

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: La región en la que se encuentra el conjunto de datos de origen, como us-central1.
  • DATASET_ID: Un identificador único para tu conjunto de datos.
  • DISPLAY_NAME: Un nombre descriptivo para tu conjunto de datos.
  • SOURCE_LANGUAGE: El código de idioma del documento de entrada. 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. Para conocer los códigos de los idiomas admitidos, consulta Idiomas admitidos.

Método HTTP y URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets

Cuerpo JSON de la solicitud:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID,
  "display_name": "DISPLAY_NAME",
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_code": "TARGET_LANGUAGE"
}

Para enviar tu solicitud, expande una de estas opciones:

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

{
  "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID",
  "displayName": "DISPLAY_NAME",
  "sourceLanguageCode": "SOURCE_LANGUAGE",
  "targetLanguageCode": "TARGET_LANGUAGE"
}

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.

Para autenticarte en Cloud Translation, 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.

/** Creates an AdaptiveMtDataset. */
private static void createAdaptiveMtDataset(
    TranslationServiceClient translationServiceClient, String projectName, String datasetName) {
  String adaptiveMtDatasetName =
      String.format(
          "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectName, datasetName);
  AdaptiveMtDataset adaptiveMtDataset =
      AdaptiveMtDataset.newBuilder()
          .setName(adaptiveMtDatasetName)
          .setDisplayName("DATASET_DISPLAY_NAME")
          .setSourceLanguageCode("SOURCE_LANGUAGE_CODE")
          .setTargetLanguageCode("TARGET_LANGUAGE_CODE")
          .build();
  CreateAdaptiveMtDatasetRequest request =
      CreateAdaptiveMtDatasetRequest.newBuilder()
          .setParent(LocationName.of("PROJECT_NAME", "LOCATION").toString())
          .setAdaptiveMtDataset(adaptiveMtDataset)
          .build();
  AdaptiveMtDataset dataset = translationServiceClient.createAdaptiveMtDataset(request);
  System.out.println("Created dataset");
  System.out.println(dataset);
}

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.

Para autenticarte en Cloud Translation, 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 createAdaptiveMtDataset() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    adaptiveMtDataset: {
      name: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
          adaptiveMtDatasetName}`,
      displayName: 'DATASET_DISPLAY_NAME',
      sourceLanguageCode: 'SOURCE_LANGUAGE_CODE',
      targetLanguageCode: 'TARGET_LANGUAGE_CODE',
    }
  };

  // Run request
  const [response] = await translationClient.createAdaptiveMtDataset(request);
  console.log('Created')
  console.log(response)
}

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.

Para autenticarte en Cloud Translation, 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.

def create_adaptive_mt_dataset():
  # Create a client
  client = translate.TranslationServiceClient()
  # Initialize request argument(s)
  adaptive_mt_dataset = translate.AdaptiveMtDataset()
  adaptive_mt_dataset.name = "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID"
  adaptive_mt_dataset.display_name = "DATASET_DISPLAY_NAME"
  adaptive_mt_dataset.source_language_code = "SOURCE_LANGUAGE_CODE"
  adaptive_mt_dataset.target_language_code = "TARGET_LANGUAGE_CODE"
  request = translate.CreateAdaptiveMtDatasetRequest(
      parent="projects/PROJECT_ID/locations/LOCATION",
      adaptive_mt_dataset=adaptive_mt_dataset,
  )
  # Make the request
  response = client.create_adaptive_mt_dataset(request=request)
  # Handle the response
  print(response)

Importar datos

Luego de haber creado un conjunto de datos, propágalo con traducciones de ejemplo de un archivo TSV o TMX. Puedes importar datos de múltiples archivos a un único conjunto de datos. Para obtener más información, consulta el método adaptiveMtDatasets.importAdaptiveMtFile.

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: la región en la que se encuentra el conjunto de datos, como us-central1.
  • DATASET_ID: el identificador único de tu conjunto de datos en el que se importarán los datos.
  • GCS_FILE_PATH: la ruta de acceso al archivo de datos de origen en Cloud Storage, como gs://example/data.tsv.

Método HTTP y URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID:importAdaptiveMtFile

Cuerpo JSON de la solicitud:

{
  "gcs_input_source": {
    "input_uri": "GCS_FILE_PATH"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

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

{
  "adaptiveMtFile": {
    "name": "DATASET_NAME",
    "displayName": "FILE_NAME",
    "entryCount": TOTAL_ENTRIES
  }
}

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.

Para autenticarte en Cloud Translation, 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.

/** Imports an AdaptiveMtFile. */
private static String importAdaptiveMtFile(
    TranslationServiceClient translationServiceClient,
    String projectId,
    String datasetId,
    String gcsUri) {
  String adaptiveMtDatasetName =
      String.format(
          "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId);
  ImportAdaptiveMtFileRequest importAdaptiveMtFileRequest =
      ImportAdaptiveMtFileRequest.newBuilder()
          .setParent(adaptiveMtDatasetName)
          .setGcsInputSource(GcsInputSource.newBuilder().setInputUri(gcsUri).build())
          .build();
  ImportAdaptiveMtFileResponse response =
      translationServiceClient.importAdaptiveMtFile(importAdaptiveMtFileRequest);

  System.out.println("Importing file");
  System.out.println(response);
  return response.getAdaptiveMtFile().getName();
}

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.

Para autenticarte en Cloud Translation, 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 importAdaptiveMtFile() {
  const request = {
    parent: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
        adaptiveMtDatasetName}`,
    gcsInputSource: {inputUri: gcs_file_uri}
  } const [response] = await translationClient.importAdaptiveMtFile(request)
  console.log('Importing file')
  console.log(response)
}

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.

Para autenticarte en Cloud Translation, 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.

def import_adaptive_mt_file():
  # Create a client
  client = translate.TranslationServiceClient()
  gcs_input_source = translate.GcsInputSource()
  gcs_input_source.input_uri = "gs://SOURCE_LOCATION/FILE.tsv"
  # Initialize the request
  request = translate.ImportAdaptiveMtFileRequest(
      parent="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID",
      gcs_input_source=gcs_input_source
  )
  # Make the request
  response = client.import_adaptive_mt_file(request)
  # Handle the response
  print(response)

Traducir texto

Proporciona el texto que deseas traducir y el conjunto de datos que usa Cloud Translation para la traducción. Cloud Translation usa el idioma de origen y el objetivo del conjunto de datos para determinar qué idiomas usar en tu traducción. Por ejemplo, usa un conjunto de datos de en a es para traducir texto del inglés al español. Para obtener más información, consulta el método adaptiveMtTranslate.

La traducción adaptable tiene límites en la cantidad de caracteres de entrada y salida. Para obtener más información, consulta los límites de traducción adaptable en la página Cuotas.

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: La región en la que se encuentra el conjunto de datos de origen, como us-central1.
  • DATASET_NAME: El nombre del conjunto de datos que usa Cloud Translation para personalizar tus traducciones, con el formato projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID. Puedes obtener nombres de conjuntos de datos al enumerar todos los conjuntos de datos de tu proyecto.
  • SOURCE_TEXT: Texto que se va a traducir.

Método HTTP y URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate

Cuerpo JSON de la solicitud:

{
  "dataset": "DATASET_NAME",
  "content": ["SOURCE_TEXT"]
}

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_TEXT"
    }
  ],
  "languageCode": "TARGET_LANGUAGE"
}

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.

Para autenticarte en Cloud Translation, 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.

/** Translates using AdaptiveMt. */
private static void adaptiveMtTranslate(
    TranslationServiceClient translationServiceClient, String projectId, String datasetId) {
  String adaptiveMtDatasetName =
      String.format(
          "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId);

  AdaptiveMtTranslateRequest request =
      AdaptiveMtTranslateRequest.newBuilder()
          .setParent(LocationName.of(projectId, "us-central1").toString())
          .setDataset(adaptiveMtDatasetName)
          .addContent("Sample translation text")
          .build();
  AdaptiveMtTranslateResponse response = translationServiceClient.adaptiveMtTranslate(request);

  System.out.println("Translating using AdaptiveMt");
  System.out.println(response);
}

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.

Para autenticarte en Cloud Translation, 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 = {
    parent: `projects/${projectId}/locations/${location}`,
    dataset: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
        adaptiveMtDatasetName}`,
    content: ['Sample translate query']
  } const [response] = await translationClient.adaptiveMtTranslate(request)
  console.log('Translating')
  console.log(response)
}

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python que encontrarás en la guía de inicio rápido de Cloud Translation sobre las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.

Para autenticarte en Cloud Translation, 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.

def adaptive_mt_translate():
  # Create a client
  client = translate.TranslationServiceClient()
  # Initialize the request
  request = translate.AdaptiveMtTranslateRequest(
      parent="projects/PROJECT_ID/locations/LOCATION",
      dataset="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID",
      content=["Sample translation request"]
  )
  # Make the request
  response = client.adaptive_mt_translate(request)
  # Handle the response
  print(response)

¿Qué sigue?