- AIチャットボットは、LLM使用して会話を100以上の言語に自動翻訳することができます。
- 典型的な翻訳セットアップは、ユーザーの言語を保存し、受信メッセージをボットの言語に翻訳し、それらを処理し、ユーザーの言語に戻って返信を翻訳します。
- 高品質の翻訳にはDeepLがよく使われるが、(Google翻訳のような)どんな翻訳APIでも同じようなコードで統合できる。
今日の多言語の世界では、母国語でユーザーと対話する能力は、どのチャットボットにとっても重要な機能です。
AIチャットボットを構築する場合、LLM ボットの「頭脳」として使用すれば、翻訳は自動的に行われます。LLM エージェントは、会話を100以上の言語に自動翻訳することができます。
しかし、 GPT チャットボットを構築する際に、カスタム翻訳機能を設定することに興味がある場合、私たちはそれを支援することができます。
この記事では、翻訳をカスタマイズするために必要な具体的なコーディング入力を掘り下げます。
チャットボット翻訳の仕組み
私たちの戦略は、ユーザーからのメッセージを傍受し、その言語を特定し、ボットの動作言語との間でメッセージを翻訳することを中心に展開される。
このプロセスには以下が含まれる:
- 検出された言語を保存する
- ユーザーのメッセージをボットの言語に翻訳する
- メッセージを処理し
- ボットの応答をユーザーの言語に翻訳する。
例えば、ユーザーがスペイン語でメッセージを送信した場合、ボットは言語変数として「es」を保存する。ソフトウェアは、ボットのためにメッセージを英語に翻訳し、ボットの応答をスペイン語に翻訳してからユーザーに送信します。
ステップ1:道具を選ぶ
私たちのセットアップは、その精度と効率で知られているDeepL翻訳サービスを採用します。
ユーザーのメッセージをミラーリングすることでユーザーに応答するシンプルなエコーボットを使って、この統合をデモンストレーションする。API 呼び出しには Axios を使う。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
});
今日から建設開始
AIチャットボットを使用する顕著な利点の1つは、その多言語能力です。Botpress のようなプラットフォームを使えば、100以上の言語でユーザーとエンゲージするチャットボットを素早く設定することができます。
アクセシブルでユーザーフレンドリーなチャットボットをお望みなら、どんな翻訳サービスでもBotpress とシームレスに統合できます。私たちのチャネル統合を使用すると、あなたのチャットボットを展開することができます。 WhatsAppFacebookMessenger 、またはあなたのウェブサイト。
今すぐ始めよう。無料です。
よくあるご質問
1.Google翻訳やMicrosoft翻訳など、DeepL以外の翻訳サービスを使用できますか?
はい、選択したサービスのAPIリクエストとレスポンス形式に合わせてBotpress 翻訳フックを修正することで、他の翻訳サービスを使用することができます。これらのサービスは、カスタムアクションまたはフック内のHTTPコールを介して簡単に統合することができます。
2.会話の一部だけを選んで翻訳することはできますか?
はい、翻訳フックに条件ロジックを追加し、特定のメッセージタイプまたはユーザー定義の変数をチェックしてから翻訳を開始することで、会話の一部のみを選択的に翻訳することができます。これにより、いつ、何が翻訳されるかを正確にコントロールすることができます。
3.翻訳サービスに送る前に、ユーザーデータを匿名化できますか?
はい、Botpress フックやアクション内でメッセージを前処理(正規表現を使用して名前、電子メール、またはIDをマスクするなど)することで、翻訳サービスに送信する前にユーザーデータを匿名化できます。これにより、翻訳を可能にしながら、プライバシー要件に準拠することができます。
4.WhatsApp Messenger、異なるチャンネルでこの翻訳設定を使用できますか?
WhatsApp、Messenger、Slack、ウェブサイトなど、複数のチャネルで同じ翻訳設定を使用できます。ボットがメッセージを受信する限り、翻訳ロジックはプラットフォームに関係なく機能します。
5.分析またはデバッグのために翻訳エラーを記録するにはどうすればよいですか?
Botpress翻訳エラーを記録するには、次のようにします。 console.error()
またはカスタムBotpress テーブル、Loggly や Datadog などのリモート・ロギング・サービス、または内部 API にエラーを送信します。これは、失敗を追跡し、長期にわたってパフォーマンスを監視するのに役立ちます。