利用 AI 技术进行设备端翻译

探索实验性 Translate API,为全球客户服务提供支持。

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

将业务拓展到国际市场可能成本高昂。市场的拓展可能意味着支持更多语言,而更多语言可能会带来互动功能和流程(例如售后支持聊天)方面的挑战。如果贵公司只有说英语的支持人员,非母语人士可能很难准确说明他们遇到了什么问题。

我们如何利用 AI 为讲多种语言的用户改善使用体验,同时尽可能降低风险并确认是否值得投资聘请讲其他语言的支持人员?

有些用户尝试使用浏览器的内置网页翻译功能或第三方工具克服语言障碍。但在互动功能(例如售后支持聊天)方面,用户体验不尽如人意。

对于集成了翻译功能的聊天工具,尽可能减少延迟非常重要。通过在设备上处理语言,您可以在用户提交消息之前实时翻译。

尽管如此,在借助自动化工具弥合语言缺口时,透明度至关重要。请注意,在对话开始前,明确说明您已实现支持这种翻译的 AI 工具。这样可以让用户建立预期,有助于避免翻译不完美的尴尬瞬间。链接至包含更多信息的政策。

我们正在努力 实验性 Translate API 将模型部署到 Chrome 中。

演示聊天

我们已经开通了客户支持聊天工具, 用户可以在这里输入他们的 第一语言,并为支持人员提供实时翻译。

使用 Translate API

Chrome 通过 window.model 对象公开了 Translate API。此对象有两个重要的方法:

  • canTranslate():检查语言对的翻译模型是否准备就绪。如果模型已在设备上已可用,则返回 "readily";如果浏览器需要先下载模型,则返回 "after-download";如果无法进行翻译,则返回 "no"
  • createTranslator():此方法会异步设置 Translator 对象。如果模型需要下载,会等到模型准备就绪时再下载。

Translator 对象只有一个方法:

  • translate():向其提供源文本,然后输出译文。

由于此功能目前是实验性的且特定于 Chrome,因此请务必将所有代码封装在功能检测中。

const supportsOnDevice = 'model' in window && 'createTranslator' in model;
if (!supportsOnDevice) {
  return;
}

const parameters = { sourceLanguage: 'en', targetLanguage: 'pt' };
const modelState = await model.canTranslate(parameters);
if (modelState === 'no') {
  return;
}
const onDeviceTranslator = await model.createTranslator(parameters);

const result = await onDeviceTranslator.translate(input);
if (!result) {
  throw new Error('Failed to translate');
}
return result;

模型需要一些时间才能提供给用户。您可以 两种方法:

  • 模型准备就绪后,等待启用由翻译提供支持的界面元素。
  • 先使用云端模型进行翻译,然后切换到设备端一次 所下载的模型。

后续步骤

我们期待收到您的反馈意见。欢迎通过以下方式分享您对此方法的反馈: 在解释器上提出问题 并告诉我们您最感兴趣的应用场景。您可以 注册抢先试用计划 并用本地原型测试这项技术

您的贡献有助于我们将 AI 打造为人人皆宜的强大实用工具。