
在当今的多语言世界中,能够用用户的母语与他们互动是任何聊天机器人的关键功能。
如果您正在构建一个人工智能聊天机器人,只要使用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 或您的网站。
立即开始。这是免费的。