- 人工智能聊天机器人可以通过LLM 将对话自动翻译成 100 多种语言,您也可以构建自定义翻译流,进行更精细的控制。
- 典型的翻译设置会存储用户的语言,将收到的信息翻译成机器人的语言,进行处理,然后将回复翻译回用户的语言。
- DeepL 是高质量翻译的热门选择,但任何翻译 API(如 Google 翻译)都可以与类似代码集成。
在当今的多语言世界中,能够用用户的母语与他们互动是任何聊天机器人的关键功能。
如果您正在构建一个人工智能聊天机器人,只要使用LLM 作为机器人的 "大脑",翻译就会自动完成。LLM 代理可以自动将对话翻译成 100 多种语言。
但是,如果您有兴趣在构建GPT 聊天机器人时设置自定义翻译功能,我们可以帮您实现。
在本文中,我们将深入探讨定制翻译所需的具体编码输入。
聊天机器人翻译是如何工作的?
我们的策略围绕拦截用户信息、识别其语言以及将这些信息翻译成机器人的操作语言。
这一过程包括
- 存储检测到的语言
- 将用户信息翻译成机器人语言
- 处理信息,然后
- 将机器人的回复翻译成用户的语言
例如,如果用户用西班牙语发送信息,机器人会将 "es "作为语言变量存储。软件将为机器人把信息翻译成英语,然后把机器人的回复翻译回西班牙语,再发送给用户。
步骤 1:挑选工具
我们将采用 DeepL 翻译服务,该服务以准确和高效著称。
我们将用一个简单的 echo 机器人来演示这种集成,该机器人会通过镜像用户的消息来回应用户。我们将使用 Axios 进行 API 调用,因为它是Botpress 的自动集成。

步骤 2:创建所需的变量
首先,我们需要引入一个名为 "语言 "的用户变量来存储初始语言或检测到的语言。
DeepL 通过检测和返回输入文本的语言来简化这一过程,从而将我们的任务简化为单个 API 请求。
步骤 3:创建拦截钩
来电挂钩前
为了在用户信息到达Botpress 之前对其进行拦截和翻译,我们引入了一个 "来信之前 "钩子。我们将把这个钩子命名为 "Translation-In",它负责把收到的信息翻译成英文,并覆盖原始信息,让Botpress 像处理英文信息一样处理它。
下面是这个钩子的代码:
await axios
.post(
'https://api-free.deepl.com/v2/translate',
{
text: [event.preview],
target_lang: 'EN'
},
{
headers: {
Authorization: 'DeepL-Auth-Key {{your key here}}',
'Content-Type': 'application/json'
}
}
)
.then((response) => {
event.payload.text = response.data.translations[0].text
event.preview = response.data.translations[0].text
event.state.user.language = response.data.translations[0].detected_source_language
})
.catch(function (error) {
// Error handling
});
重要提示:在加入 API 密钥时,请务必使用Botpress 配置变量。
外发留言挂钩前
对于 "发送消息前 "钩子,我们将其命名为 "翻译-输出"。它将拦截机器人的回复,将其翻译回用户的语言,确保对话仍使用用户的首选语言。
实施过程包括用翻译后的对应信息覆盖发出的信息:
await axios
.post(
'https://api-free.deepl.com/v2/translate',
{
text: [outgoingEvent.preview],
target_lang: event.state.user.language
},
{
headers: {
Authorization: 'DeepL-Auth-Key {{your key here}}',
'Content-Type': 'application/json'
}
}
)
.then((response) => {
outgoingEvent.payload.text = response.data.translations[0].text
outgoingEvent.preview = response.data.translations[0].text
})
.catch(function (error) {
// Error handling
});
今天就开始建设
使用人工智能聊天机器人的一个显著优势是它的多语言能力。通过Botpress 等平台,您可以快速设置聊天机器人,让它用 100 多种语言与用户互动。
如果您想要一个方便易用的聊天机器人,您可以将任何翻译服务与Botpress 无缝集成。通过我们的渠道集成,您可以将聊天机器人部署到 WhatsApp、FacebookMessenger 或您的网站。
立即开始。这是免费的。
常见问题
1.我能否使用 DeepL 以外的翻译服务,如 Google Translate 或 Microsoft Translator?
是的,您可以通过修改Botpress 中的翻译钩子来使用其他翻译服务,以匹配所选服务的 API 请求和响应格式。这些服务可以通过自定义操作或钩子中的 HTTP 调用轻松集成。
2.我可以选择性地只翻译对话的部分内容吗?
是的,您可以在翻译钩子中添加条件逻辑,在触发翻译之前检查特定的消息类型或用户定义的变量,从而有选择性地只翻译对话的部分内容。这样您就可以精确控制翻译内容和时间。
3.能否在将用户数据发送给翻译服务之前对其进行匿名处理?
是的,您可以通过在Botpress 钩子或操作中对消息进行预处理(例如,使用 regex 屏蔽姓名、电子邮件或 ID),在将用户数据发送给翻译服务之前对其进行匿名处理。这样既能确保符合隐私要求,又能实现翻译。
4.我可以在不同渠道(如WhatsApp、Messenger)使用此翻译设置吗?
是的,您可以在WhatsApp、Messenger、Slack 或网站等多个渠道中使用相同的翻译设置。只要您的机器人接收到信息,无论在哪个平台,翻译逻辑都能正常运行。
5.如何记录翻译错误以进行分析或调试?
要在Botpress 中记录翻译错误,可以使用 console.error()
用于开发调试,或将错误发送到自定义Botpress 表、远程日志服务(如 Loggly 或 Datadog)或内部 API。这有助于您跟踪故障并监控一段时间内的性能。