- AI 聊天機器人可以使用LLM 自動將對話翻譯成 100 種以上的語言,您也可以建立自訂的翻譯流程,進行更精細的控制。
- 典型的翻譯設定會儲存使用者的語言,將傳入的訊息翻譯為機器人的語言、處理訊息,然後將回覆的訊息翻譯回使用者的語言。
- DeepL 是高品質翻譯的熱門選擇,但任何翻譯 API (如 Google Translate) 都可以整合類似的程式碼。
在現今的多語言世界中,能以使用者的母語與他們互動是任何聊天機器人的關鍵功能。
如果您正在建立人工智能聊天機器人,如果您使用LLM 作為機器人的「大腦」,翻譯就會自動化。LLM 代理可以自動將對話翻譯成 100 種以上的語言。
但如果您有興趣在建立GPT 聊天機時設定自訂翻譯功能,我們可以幫您完成。
在這篇文章中,我們會深入探討自訂翻譯所需的特定編碼輸入。
聊天機器人翻譯如何運作?
我們的策略圍繞著截取使用者的訊息、識別他們的語言,並將這些訊息翻譯為機器人的操作語言。
此過程需要:
- 存儲檢測到的語言
- 將使用者的消息翻譯成機器人的語言
- 處理消息,然後
- 將機器人的回應翻譯回用戶的語言
例如,如果使用者用西班牙文發送消息,機器人會將「es」儲存為語言變數。該軟體會將機器人的消息翻譯成英語,然後將機器人的回應翻譯回西班牙文,然後再發送給使用者。
步驟 1:選擇您的工具
我們的設定將採用 DeepL 翻譯服務,該服務以準確和高效著稱。
我們將以一個簡單的 echo bot 來示範此整合,此 echo bot 會透過鏡射使用者的訊息來回應使用者。我們會使用 Axios 來呼叫 API,因為這是Botpress 的自動整合。

步驟 2:建立所需的變數
首先,我們需要引入一個名為 `language` 的使用者變數來儲存初始或偵測到的語言。
DeepL 可以偵測並傳回輸入文字的語言,簡化我們的任務至單一 API 請求。
步驟 3:建立攔截鉤
來電訊息掛勾前
為了在使用者的訊息到達Botpress 之前就截取並翻譯它,我們引入了一個 "Before Incoming Message "鈎子。我們將此鉤子命名為 "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 組態變數。
外寄訊息掛勾前
對於 "Before Outgoing Message「 這個鉤子,我們將它命名為 」Translation-Out"。它會截取機器人的回應,將其翻譯回使用者的語言,確保對話仍以使用者偏好的語言進行。
執行方式包括以翻譯後的對應訊息覆寫傳出的訊息:
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 或您的網站部署您的聊天機器 Messenger。
立即開始。這是免費的。
常見問題
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。這可協助您追蹤故障並隨時間監控效能。