请求自适应翻译

请求自适应翻译时,您需提供要翻译的文本以及 Cloud Translation 用于定制其响应的示例翻译。

准备工作

如需使用自适应翻译,您必须在项目中启用 Cloud Translation API,并设置身份验证。如需了解详情,请参阅 Cloud Translation 设置

此外,请检查自适应翻译是否支持您的源和目标语言

数据要求和建议

您必须在 TSV 或 TMX 文件中提供示例翻译。这些示例必须是预期源语言和目标语言句对。 建议您提供的示例覆盖您所在领域的词汇、用法和语法惯例。如需了解更多提示,请参阅 AutoML Translation 文档中的数据准备

如果使用控制台,您的数据必须包含至少 5 个句对,但最多不超过 10,000 对,如果您使用 API,则不得超过 30,000 对。一个句对最多可以包含 512 个字符(总计)。

限制

  • 只能翻译纯文本。
  • 您一次只能翻译一种目标语言。

如需了解自适应翻译配额和限制,请参阅配额页面。

请求翻译

控制台

使用 Google Cloud 控制台时,请选择包含示例翻译的文件,然后请求翻译。Cloud Translation 不会存储导入的数据。如果您希望使用永久性数据集,请使用 API。

  1. 进入 AutoML Translation 控制台。

    转到“自适应翻译”页面

  2. 选择本地文件或 Cloud Storage 中包含示例翻译的文件。

    选择文件后,Cloud Translation 会根据您的数据设置源语言目标语言字段。例如,如果您导入英语译葡萄牙语数据集,则控制台仅支持将英语句子翻译为葡萄牙语。

  3. 在源语言字段中输入文本。

    自适应翻译对输入和输出字符数量有限制。如需了解详情,请参阅“配额”页面上的自适应翻译限制

  4. 如需调整参数,请使用滑块或文本字段设置值:

    • 温度 - 控制词元选择的随机程度。温度较低时,预期会获得真实或正确的回复。温度较高时,预期会获得更为多样化或意想不到的结果。
    • 示例数 - 设置源数据中用于提示 LLM 的示例数。
  5. 选择与 NMT 模型对比,以包含默认 Google NMT 模型的翻译以及自适应翻译输出。

  6. 点击翻译

    稍等片刻,Cloud Translation 会在“目标语言”字段中返回回复。Cloud Translation 不会返回超过输出字符数限制的任何文本。

API

使用 API 时,您可以先创建一个数据集,将数据导入该数据集,然后使用数据集请求自适应翻译。该数据集将保留在项目中,直到您将其删除,这意味着项目中的其他用户可以使用该数据集进行自适应翻译。

创建数据集

创建用于导入示例翻译的数据集。源和目标语言必须与您要在翻译中使用的语言相匹配。如需了解详情,请参阅 adaptiveMtDataset.create 方法。

REST

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
  • LOCATION:源数据集所在的区域,例如 us-central1
  • DATASET_ID:数据集的唯一标识符。
  • DISPLAY_NAME:数据集的描述性名称。
  • SOURCE_LANGUAGE:输入文本的语言代码。如需了解支持的语言代码,请参阅支持的语言
  • TARGET_LANGUAGE:要将输入文字翻译成的目标语言。如需了解支持的语言代码,请参阅支持的语言

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

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

Java

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Java 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Java API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

/** 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

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Node.js API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

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

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Python 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Python API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

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)

导入数据

创建数据集后,使用 TSV 或 TMX 文件中的示例翻译来填充该数据集。 您可以将多个文件中的数据导入到单个数据集中。如需了解详情,请参阅 adaptiveMtDatasets.importAdaptiveMtFile 方法。

REST

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
  • LOCATION:数据集所在的区域,例如 us-central1
  • DATASET_ID:要在其中导入数据的数据集的唯一标识符。
  • GCS_FILE_PATH:Cloud Storage 中源数据文件的路径,例如 gs://example/data.tsv

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

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

Java

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Java 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Java API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

/** 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

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Node.js API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

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

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Python 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Python API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

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)

翻译文本

提供要翻译的文本以及 Cloud Translation 用于翻译的数据集。Cloud Translation 使用数据集中的源语言和目标语言来确定用于翻译的语言。例如,使用 enes 数据集将文本从英语翻译成西班牙语。如需了解详情,请参阅 adaptiveMtTranslate 方法。

自适应翻译对输入和输出字符数量有限制。如需了解详情,请参阅“配额”页面上的自适应翻译限制。

REST

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
  • LOCATION:源数据集所在的区域,例如 us-central1
  • DATASET_NAME:Cloud Translation 用于自定义翻译的数据集的名称,格式为 projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID。您可以通过列出项目中的所有数据集来获取数据集名称。
  • SOURCE_TEXT:要翻译的文本。

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

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

Java

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Java 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Java API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

/** 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

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Node.js API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

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

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Python 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Python API 参考文档

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证

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)

后续步骤