对于翻译任务,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 短得多。虽然翻译 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 - Advanced API、Vertex AI API | Cloud Translation - Basic API、Cloud Translation - Advanced API、Vertex AI API | 
用量
本部分介绍如何使用 Vertex AI Studio 快速将文本从一种语言翻译成另一种语言。您可以在 Google Cloud 控制台或 API 中,使用翻译 LLM 或 NMT 模型来翻译文本。请注意,各个模型支持的语言可能有所不同。在请求翻译之前,请检查您使用的模型是否支持您的源语言和目标语言。
控制台
在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Studio 中的翻译文本页面。
在运行设置窗格的模型字段中,选择一个翻译模型。
如需更改模型设置(例如温度),请展开高级。
设置源语言和目标语言。
在输入字段中,输入要翻译的文本。
点击提交。
如需获取演示如何请求翻译的代码或 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/html或text/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 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Python 设置说明执行操作。 如需了解详情,请参阅 Vertex AI Python API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。
自定义翻译
通过提供您自己的示例翻译来自定义翻译 LLM 的回答。自定义翻译仅适用于翻译 LLM。
您可以通过 Vertex AI Studio 控制台或 API 请求自定义翻译,但有一个区别。只有当您在 TMX 或 TSV 文件中提供示例时,控制台才支持自定义翻译。只有当您在翻译请求中以内嵌方式提供示例(最多 5 对句子)时,该 API 才支持自定义翻译。
数据要求
如果您在 Google Cloud 控制台的文件中提供示例翻译,则示例必须编写为句段对形式,并保存为 TMX 或 TSV 文件。每个句对都包括一个源语言句段及其对应的译文句段。如需了解详情,请参阅 Cloud Translation 文档中的准备示例翻译。
为了获得最准确的结果,请提供各种各样场景的具体示例。您必须至少提供五个句对,但不得超过 10,000 个句对。此外,一个句对最多可以包含 512 个字符。
控制台
在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Studio 中的翻译文本页面。
在运行设置窗格中,配置翻译设置。
- 在模型字段中,选择翻译 LLM。
 - 如需更改温度,请展开高级。
 
点击添加示例。
- 选择本地文件或 Cloud Storage 中的文件。Vertex AI Studio 会根据文件确定源语言和目标语言。
 - 选择模型在生成回答之前要使用的示例数量。
 
您选择的示例数量会计入每个请求 3,000 个输入字符数的限制。
在输入字段中,输入要翻译的文本。
点击提交。
Vertex AI 会自动选择与您输入的内容最相似的参考句子的指定数量。翻译模型会识别示例中的模式,然后在生成回答时应用这些模式。
每个请求的输出字符数限制为 3,000。 超出此限制的所有文本都会被丢弃。
如需获取演示如何请求翻译的代码或 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/html或text/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 模型支持的语言,请参阅以下文档: