利用 AI 进行客户端翻译

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

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

发布时间:2024 年 5 月 16 日;最后更新时间:2024 年 9 月 17 日

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

如何利用 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 进行翻译,然后在模型下载完毕后切换到客户端。

后续步骤

我们期待收到您的反馈意见。如需分享您对此方法的反馈,请在说明文档中创建问题,并告诉我们您最感兴趣的用例。您可以注册加入抢先体验计划,使用本地原型测试这项技术。

您的贡献有助于我们将 AI 打造成功能强大且实用的工具,让人人受益。