翻译文字

对于翻译任务,Vertex AI 上的生成式 AI 提供了 Cloud Translation API 中的两种专用翻译模型:

  • 翻译 LLM - Google 最新的、最高质量的 LLM 样式翻译服务。在提供合理延迟时间(比 Gemini 2.0 Flash 快约 3 倍)的同时,实现最高质量的翻译。

  • Cloud Translation 神经机器翻译 (NMT) 模型 - Google 的顶级实时翻译产品,可实现延迟时间约为 100 毫秒的翻译。 在所有基准比较模型中,它实现了最高质量,同时延迟时间相当,并且质量仍在不断提升。NMT 的延迟时间比 Gemini 2.0 Flash 最多快 20 倍。

翻译 LLM 的主要优势和差异化因素

  • 无与伦比的翻译质量 - Translation LLM 可提供最高质量的翻译,在基准测试中的表现明显优于其他基准模型。翻译 LLM 更有可能大幅改写句子,使其在目标语言中听起来更自然,而不是像其他翻译模型那样提供不太自然的“逐字逐句”翻译。
  • 出色的质量/延迟权衡 - 翻译 LLM 可提供由 LLM 提供支持的翻译,延迟时间比 Gemini 2.0 Flash 短得多。虽然 Translation LLM 的延迟时间比 NMT 模型长,但它通常可以为各种应用提供更高质量的回答。

模型功能比较

功能 翻译 LLM(由 Gemini 提供支持) NMT 模型
说明 由 Gemini 提供支持的专业翻译大语言模型,经过微调,可用于翻译。适用于 Vertex AI 上的生成式 AI 和 Cloud Translation - Advanced API。 Google 的神经机器翻译模型,可通过 Cloud Translation 高级版和 Cloud Translation 基本版 API 使用。经过优化,具备简洁性和扩缩能力。
质量 最高质量的翻译。在质量方面优于 NMT、Gemini 2.0 Flash 和 Gemini 2.5 Pro。更可能重写句子以实现自然的行文。显示了显著的错误减少。 中到高品质,具体取决于语言对。在许多语言领域组合中,是性能最佳的实时 NMT 模型之一。
延迟时间 延迟时间比 Gemini 2.0 Flash 大幅缩短,但仍比 NMT 慢。 最快的实时翻译。延迟时间短,适合聊天和实时应用。延迟时间比 Gemini 2.0 Flash 最多快 20 倍
语言支持 支持的语言包括阿拉伯语、中文、捷克语、荷兰语、英语、法语、德语、印地语、印度尼西亚语、意大利语、日语、韩语、波兰语、葡萄牙语、俄语、西班牙语、泰语、土耳其语、乌克兰语和越南语。如需查看完整列表,请参阅支持的语言 支持的语言包括粤语、斐济语和巴厘语。您可以在支持的语言列表中的任何两种语言之间进行翻译。如需查看完整列表,请参阅支持的语言
自定义 支持 - 高级词汇表、在 Vertex AI 上进行监督式微调以实现特定领域/客户的自适应,以及自适应翻译,只需几个示例即可实现实时风格自定义。 支持使用术语表来控制术语,以及在 Cloud Translation 高级版 API 中使用 AutoML Translation 训练自定义模型
翻译功能 HTML 翻译 HTML、批量和格式化文档翻译
API 集成 Cloud Translation - 高级版 API、Vertex AI API Cloud Translation - Basic API、Cloud Translation - Advanced API、Vertex AI API

用法

本部分介绍如何使用 Vertex AI Studio 快速将文本从一种语言翻译成另一种语言。您可以在 Google Cloud 控制台或 API 中,使用翻译 LLM 或 NMT 模型来翻译文本。请注意,各个模型支持的语言可能有所不同。在请求翻译之前,请检查您使用的模型是否支持您的源语言和目标语言

控制台

  1. 在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Studio 中的翻译文本页面。

    进入 Vertex AI Studio

  2. 运行设置窗格的模型字段中,选择一个翻译模型。

  3. 如需更改模型设置(例如温度),请展开高级

  4. 设置源语言和目标语言。

  5. 在输入字段中,输入要翻译的文本。

  6. 点击提交

  7. 如需获取演示如何请求翻译的代码或 curl 命令,请点击 获取代码

请注意,在 Vertex AI Studio 中,翻译 LLM 可让您提供示例翻译,以便根据需求调整模型回答,使之更贴近您想要的风格、语气和行业领域。在翻译文本之前,模型会使用您的示例作为少样本上下文。

API

选择要用于翻译的模型。

翻译 LLM

使用 Vertex AI API 和翻译 LLM 来翻译文本。

REST

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

  • PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
  • LOCATION:您要执行此操作的位置。 例如 us-central1
  • SOURCE_LANGUAGE_CODE:输入文本的语言代码。设置为自适应翻译中列出的某个语言代码。
  • TARGET_LANGUAGE_CODE:要将输入文字翻译成的目标语言。设置为自适应翻译中列出的某个语言代码。
  • SOURCE_TEXT:要翻译的源语言文本。
  • MIME_TYPE(可选):源文本的格式,例如 text/htmltext/plain。默认情况下,MIME 类型设置为 text/plain

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "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"
    }
  ]
}

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

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

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

Node.js

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

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

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

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

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

from google.cloud import aiplatform

def translate():
  # Create a client
  client_options = {"api_endpoint": "LOCATION-aiplatform.googleapis.com"}
  client = aiplatform.gapic.PredictionServiceClient(client_options=client_options)
  
  # Initialize the request
  endpoint_id = f"projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text"
  instances=[{
    "model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm",
    "source_language_code": 'SOURCE_LANGUAGE_CODE',
    "target_language_code": 'TARGET_LANGUAGE_CODE',
    "contents": ["SOURCE_TEXT"],
  }]

  # Make the request
  response = client.predict(instances=instances, endpoint=endpoint_id)
  # Handle the response
  print(response)
      

NMT

使用 Cloud Translation API 和 NMT 模型翻译文本。

REST

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

  • PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
  • SOURCE_LANGUAGE:(可选)输入文字的语言代码。如需查看支持的语言代码,请参阅语言支持
  • TARGET_LANGUAGE:要将输入文字翻译成的目标语言。设置为某个受支持的语言代码
  • SOURCE_TEXT:要翻译的文本。

HTTP 方法和网址:

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

请求 JSON 正文:

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

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

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

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

Node.js

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

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

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

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

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

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

自定义翻译

通过提供您自己的示例翻译来自定义翻译 LLM 的回答。自定义翻译仅适用于翻译 LLM。

您可以通过 Vertex AI Studio 控制台或 API 请求自定义翻译,但有一个区别。只有当您在 TMX 或 TSV 文件中提供示例时,控制台才支持自定义翻译。只有当您在翻译请求中以内嵌方式提供示例(最多 5 对句子)时,该 API 才支持自定义翻译。

数据要求

如果您在 Google Cloud 控制台的文件中提供示例翻译,则示例必须编写为句段对形式,并保存为 TMX 或 TSV 文件。每个句对都包括一个源语言句段及其对应的译文句段。如需了解详情,请参阅 Cloud Translation 文档中的准备示例翻译

为了获得最准确的结果,请提供各种各样场景的具体示例。您必须至少提供五个句对,但不得超过 10,000 个句对。此外,一个句对最多可以包含 512 个字符。

控制台

  1. 在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Studio 中的翻译文本页面。

    进入 Vertex AI Studio

  2. 运行设置窗格中,配置翻译设置。

    1. 模型字段中,选择翻译 LLM
    2. 如需更改温度,请展开高级
  3. 点击添加示例

    1. 选择本地文件或 Cloud Storage 中的文件。Vertex AI Studio 会根据文件确定源语言和目标语言。
    2. 选择模型在生成回答之前要使用的示例数量。

    您选择的示例数量会计入每个请求 3,000 个输入字符数的限制。

  4. 在输入字段中,输入要翻译的文本。

  5. 点击提交

    Vertex AI 会自动选择与您输入的内容最相似的参考句子的指定数量。翻译模型会识别示例中的模式,然后在生成回答时应用这些模式。

    每个请求的输出字符数限制为 3,000。 超出此限制的所有文本都会被丢弃。

  6. 如需获取演示如何请求翻译的代码或 curl 命令,请点击 获取代码

API

如需请求自定义翻译,请在翻译请求中添加最多五个参考句对。翻译模型使用所有这些模型来识别样本中的模式,然后在生成回答时应用这些模式。

REST

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

  • PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
  • LOCATION:您要执行此操作的位置。 例如 us-central1
  • REFERENCE_SOURCE:参考句对中的源语言句子。
  • REFERENCE_TARGET:参考句对中的目标语言句子。
  • SOURCE_LANGUAGE:输入文本的语言代码。
  • TARGET_LANGUAGE:要将输入文本翻译成的目标语言。
  • SOURCE_TEXT:要翻译的源语言文本。
  • MIME_TYPE(可选):源文本的格式,例如 text/htmltext/plain。默认情况下,MIME 类型设置为 text/plain

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "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"
    }
  ]
}

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

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

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

Node.js

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

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

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

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

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

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'])
  

您还可以使用 Cloud Translation API,来创建数据集并导入示例句对。使用 Cloud Translation API 请求翻译时,您可以添加数据集以自定义回答。数据集会持久保存,并可在多个翻译请求中重复使用。如需了解详情,请参阅 Cloud Translation 文档中的请求自适应翻译

支持的语言

翻译 LLM

借助翻译 LLM,您可以在以下任何语言之间进行翻译。

语言名称 语言代码
阿拉伯语 ar
孟加拉语 bn
保加利亚语 bg
加泰罗尼亚语 ca
简体中文 zh-CN
克罗地亚语 hr
捷克语 cs
丹麦语 da
荷兰语 nl
英语 en
爱沙尼亚语 et
芬兰语 fi
法语 fr
德语 de
希腊语 el
古吉拉特语 gu
希伯来语 he
印地语 hi
匈牙利语 hu
冰岛语 is
印度尼西亚语 id
意大利语 it
日语 ja
卡纳达语 kn
韩语 ko
拉脱维亚语 lv
立陶宛语 lt
马拉雅拉姆语 ml
马拉地语 mr
挪威语 no
波斯语 fa
波兰语 pl
葡萄牙语 pt
旁遮普语 pa
罗马尼亚语 ro
俄语 ru
斯洛伐克语 sk
斯洛文尼亚语 sl
西班牙语 es
斯瓦希里语 sw
瑞典语 sv
泰米尔语 ta
泰卢固语 te
泰语 th
土耳其语 tr
乌克兰语 uk
乌尔都语 ur
越南语 vi
祖鲁语 zu

NMT

如需了解 Cloud Translation NMT 模型支持的语言,请参阅以下文档: