- Les chatbots d'IA peuvent traduire automatiquement les conversations dans plus de 100 langues avec un LLM, ou vous pouvez créer des flux de traduction personnalisés pour un contrôle plus fin.
- Une configuration de traduction typique stocke la langue de l'utilisateur, traduit les messages entrants dans la langue du robot, les traite, puis traduit les réponses dans la langue de l'utilisateur.
- DeepL est un choix populaire pour les traductions de haute qualité, mais n'importe quelle API de traduction (comme Google Translate) peut être intégrée avec un code similaire.
Dans le monde multilingue d'aujourd'hui, la capacité d'interagir avec les utilisateurs dans leur langue maternelle est une caractéristique essentielle de tout chatbot.
Si vous créez un chatbot d'IA, la traduction est automatique si vous utilisez un LLM comme "cerveau" de votre bot. Un agentLLM peut traduire automatiquement des conversations dans plus de 100 langues.
Mais si vous souhaitez mettre en place des capacités de traduction personnalisées lors de la création de votre chatbot GPT , nous pouvons vous aider à le faire.
Dans cet article, nous allons nous pencher sur les éléments de codage spécifiques nécessaires pour personnaliser votre traduction.
Étape 1 : Choisir ses outils
Notre dispositif utilisera le service de traduction DeepL, réputé pour sa précision et son efficacité.
Nous démontrerons cette intégration à l'aide d'un simple robot d'écho qui répond aux utilisateurs en reflétant leurs messages. Nous utiliserons Axios pour nos appels d'API, puisqu'il s'agit d'une intégration automatique de Botpress.

Étape 2 : Créer les variables nécessaires
Tout d'abord, nous devons introduire une variable utilisateur nommée `language` pour stocker la langue initiale ou détectée.
DeepL facilite ce processus en détectant et en renvoyant la langue du texte d'entrée, ce qui simplifie notre tâche en la réduisant à une seule requête API.
Étape 3 : Créer des crochets d'interception
Avant le crochet pour les messages entrants
Pour intercepter et traduire le message de l'utilisateur avant qu'il n'atteigne Botpress, nous introduisons un crochet "Before Incoming Message" (avant le message entrant). Nous nommerons ce crochet "Translation-In", qui est chargé de traduire le message entrant en anglais et de remplacer le message original, ce qui permet à Botpress de le traiter comme s'il était en anglais.
Voici à quoi ressemble le code de ce crochet :
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
});
REMARQUE IMPORTANTE: utilisez toujours les variables de configurationBotpress lorsque vous incorporez votre clé API.
Avant le crochet du message sortant
Pour le crochet "Avant le message sortant", nous l'appellerons "Traduction-Sortie". Il intercepte la réponse du robot pour la retraduire dans la langue de l'utilisateur, ce qui garantit que la conversation reste dans la langue préférée de l'utilisateur.
La mise en œuvre consiste à remplacer le message sortant par son équivalent traduit :
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
});
Commencer à construire aujourd'hui
L'un des principaux avantages de l'utilisation d'un chatbot d'IA est sa capacité multilingue. Avec des plateformes comme Botpress, vous pouvez rapidement configurer votre chatbot pour dialoguer avec les utilisateurs dans plus de 100 langues.
Si vous souhaitez un chatbot accessible et convivial, vous pouvez intégrer de manière transparente n'importe quel service de traduction à Botpress. Grâce à nos intégrations de canaux, vous pouvez ensuite déployer votre chatbot sur WhatsAppFacebook Messenger, ou sur votre site web.
Commencez dès aujourd'hui. C'est gratuit.
FAQ
1. Puis-je utiliser un service de traduction autre que DeepL, comme Google Translate ou Microsoft Translator ?
Oui, vous pouvez utiliser d'autres services de traduction en modifiant le hook de traduction dans Botpress pour qu'il corresponde au format de requête et de réponse de l'API du service choisi. Ces services peuvent être facilement intégrés via des appels HTTP dans des actions ou des hooks personnalisés.
2. Puis-je traduire de manière sélective certaines parties d'une conversation ?
Oui, vous pouvez traduire sélectivement des parties d'une conversation en ajoutant une logique conditionnelle dans votre crochet de traduction qui vérifie des types de messages spécifiques ou des variables définies par l'utilisateur avant de déclencher la traduction. Cela vous permet de contrôler exactement ce qui est traduit et à quel moment.
3. Puis-je anonymiser les données des utilisateurs avant de les envoyer au service de traduction ?
Oui, vous pouvez anonymiser les données des utilisateurs avant de les envoyer à un service de traduction en prétraitant le message (par exemple, en utilisant des regex pour masquer les noms, les emails, ou les identifiants) dans votre hook ou action Botpress . Cela assure la conformité avec les exigences de confidentialité tout en permettant la traduction.
4. Puis-je utiliser cette configuration de traduction sur différents canaux (par exemple, WhatsApp, Messenger) ?
Oui, vous pouvez utiliser la même configuration de traduction sur plusieurs canaux comme WhatsApp, Messenger, Slack ou votre site Web. Tant que votre robot reçoit le message, la logique de traduction fonctionne quelle que soit la plateforme.
5. Comment enregistrer les erreurs de traduction à des fins d'analyse ou de débogage ?
Pour enregistrer les erreurs de traduction dans Botpress, vous pouvez utiliser console.error()
pour le débogage du développement, ou envoyer les erreurs à une table Botpress personnalisée, à un service de journalisation à distance comme Loggly ou Datadog, ou à une API interne. Cela vous aide à suivre les échecs et à surveiller les performances au fil du temps.
Comment fonctionne la traduction par chatbot ?
Notre stratégie consiste à intercepter les messages des utilisateurs, à identifier leur langue et à traduire ces messages de et vers la langue d'exploitation du robot.
Ce processus implique
Par exemple, si un utilisateur envoie un message en espagnol, le robot enregistrera "es" comme variable linguistique. Le logiciel traduira le message en anglais pour le robot, puis traduira la réponse du robot en espagnol avant de l'envoyer à l'utilisateur.