利用 AI 进行客户端翻译

探索实验性 Translator API,为全球客户服务赋能。

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux

发布时间:2024 年 5 月 16 日;上次更新时间:2024 年 11 月 13 日

将业务拓展到国际市场可能需要投入大量资金。覆盖的市场越多,支持的语言就可能越多,而支持的语言越多,互动功能和流程(例如售后支持聊天)就可能越有挑战。如果贵公司只有英语支持人员,非英语母语人士可能难以准确说明自己遇到了什么问题。

如何利用 AI 为使用多种语言的用户改善体验,同时最大限度地降低风险并确认是否值得投资聘用精通其他语言的支持人员?

有些用户会尝试使用浏览器的内置网页翻译功能或第三方工具来克服语言障碍。但与互动功能(例如我们的售后支持聊天)相比,用户体验欠佳。

对于集成了翻译功能的聊天工具,请务必尽量缩短延迟时间。通过在设备端处理语言,您可以在用户提交消息之前实时进行翻译。

不过,在使用自动化工具跨越语言鸿沟时,透明度至关重要。请注意,在对话开始之前,请明确说明您已实现支持此翻译的 AI 工具。这样可以让用户有心理准备,并避免在翻译不完美时出现尴尬的情况。提供指向包含更多信息的政策的链接。

我们正在开发客户端 Translator API,并在 Chrome 中内置了模型。

演示聊天

我们打造了客户服务聊天功能,让用户可以用自己的第一语言输入内容,并接收支持人员的实时翻译。

使用 Translator API

如需确定是否支持 Translator API,请运行以下功能检测代码段。

if ('ai' in self && 'translator' in self.ai) {
  // The Translator API is supported.
}

检查语言对支持情况

翻译是通过按需下载的语言包进行管理的。语言包就像给定语言的字典。

  • sourceLanguage:文本的当前语言。
  • targetLanguage:文本应翻译成的最终语言。

使用 BCP 47 语言短代码作为字符串。例如,'es' 表示西班牙语,'fr' 表示法语。

确定模型可用性并监听 downloadprogress

const translator = await self.ai.translator.create({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

如果下载失败,则 downloadprogress 事件会停止,并且 ready promise 会被拒绝。

创建并运行转换器

如需创建转换器,请调用异步 create() 函数。它需要一个包含两个字段的选项参数,一个用于 sourceLanguage,另一个用于 targetLanguage

// Create a translator that translates from English to French.
const translator = await self.ai.translator.create({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

获得翻译器后,调用异步 translate() 函数即可翻译文本。

await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"

后续步骤

注册 Translator API 源代码试用,为您源代码中的所有 Chrome 用户启用翻译功能。

我们期待收到您的反馈。请在说明文档中创建问题,分享您对此方法的反馈,并告诉我们您最感兴趣的用例。

您可以注册参加抢先体验计划,使用本地原型测试此 API 及其他 API。