- AI-chatbots kunnen gesprekken automatisch in meer dan 100 talen vertalen met een LLM, of je kunt aangepaste vertaalflows bouwen voor meer controle.
- Een standaard vertaalopzet slaat de taal van de gebruiker op, vertaalt binnenkomende berichten naar de taal van de bot, verwerkt deze, en vertaalt vervolgens de antwoorden terug naar de taal van de gebruiker.
- DeepL is een populaire keuze voor hoogwaardige vertalingen, maar elke vertaal-API (zoals Google Translate) kan met vergelijkbare code worden geïntegreerd.
In de meertalige wereld van vandaag is het kunnen communiceren met gebruikers in hun eigen taal een belangrijke functie voor elke chatbot.
Als je een AI-chatbot bouwt, is vertaling automatisch als je een LLM als 'brein' van je bot gebruikt. Een LLM-agent kan gesprekken automatisch in meer dan 100 talen vertalen.
Maar als je aangepaste vertaalmogelijkheden wilt instellen terwijl je je GPT-chatbot bouwt, kunnen wij je daarbij helpen.
In dit artikel gaan we in op de specifieke code die nodig is om je vertaling aan te passen.
Hoe werkt vertaling bij chatbots?
Onze aanpak draait om het onderscheppen van berichten van gebruikers, het herkennen van hun taal en het vertalen van deze berichten van en naar de voertaal van de bot.
Dit proces omvat:
- Het opslaan van de gedetecteerde taal
- Het vertalen van het bericht van de gebruiker naar de taal van de bot
- Het verwerken van het bericht, en vervolgens
- Het vertalen van het antwoord van de bot terug naar de taal van de gebruiker
Als een gebruiker bijvoorbeeld een bericht in het Spaans stuurt, slaat de bot "es" op als taalvariabele. De software vertaalt het bericht naar het Engels voor de bot, en vertaalt daarna het antwoord van de bot terug naar het Spaans voordat het naar de gebruiker wordt gestuurd.
Stap 1: Kies je tools
In onze opzet gebruiken we de vertaaldienst DeepL, bekend om zijn nauwkeurigheid en efficiëntie.
We laten deze integratie zien met een eenvoudige echo-bot die reageert door het bericht van de gebruiker te herhalen. Voor onze API-aanroepen gebruiken we Axios, omdat dit automatisch geïntegreerd is in Botpress.

Stap 2: Maak de benodigde variabelen aan
Allereerst moeten we een gebruikersvariabele `language` toevoegen om de initiële of gedetecteerde taal op te slaan.
DeepL maakt dit proces eenvoudig door de taal van de invoertekst te detecteren en terug te geven, waardoor we slechts één API-verzoek hoeven te doen.
Stap 3: Maak interceptie-hooks aan
Hook vóór inkomend bericht
Om het bericht van de gebruiker te onderscheppen en te vertalen voordat het Botpress bereikt, voegen we een "Before Incoming Message"-hook toe. We noemen deze hook "Translation-In". Deze is verantwoordelijk voor het vertalen van het inkomende bericht naar het Engels en het overschrijven van het originele bericht, zodat Botpress het kan verwerken alsof het in het Engels is geschreven.
Zo ziet de code voor deze hook eruit:
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
});BELANGRIJKE OPMERKING: Gebruik altijd Botpress Configuratievariabelen bij het toevoegen van je API-sleutel.
Hook vóór uitgaand bericht
Voor de "Before Outgoing Message"-hook noemen we deze "Translation-Out". Deze onderschept het antwoord van de bot om het terug te vertalen naar de taal van de gebruiker, zodat het gesprek in de voorkeurstaal van de gebruiker blijft.
De implementatie bestaat uit het overschrijven van het uitgaande bericht met de vertaalde versie:
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
});Begin vandaag nog met bouwen
Een van de grote voordelen van een AI-chatbot is het meertalige karakter. Met platforms als Botpress kun je je chatbot snel instellen om gebruikers in meer dan 100 talen te bedienen.
Wil je een toegankelijke en gebruiksvriendelijke chatbot, dan kun je elke vertaaldienst eenvoudig integreren met Botpress. Met onze kanaalintegraties kun je je chatbot vervolgens inzetten op WhatsApp, Facebook Messenger of je eigen website.
Begin vandaag nog. Het is gratis.
Meer informatie
Veelgestelde vragen
1. Kan ik een andere vertaaldienst gebruiken dan DeepL, zoals Google Translate of Microsoft Translator?
Ja, je kunt andere vertaaldiensten gebruiken door de vertaalhook in Botpress aan te passen aan het API-verzoek en het antwoordformaat van de gekozen dienst. Deze diensten zijn eenvoudig te integreren via HTTP-aanroepen binnen aangepaste acties of hooks.
2. Kan ik alleen bepaalde delen van een gesprek vertalen?
Ja, je kunt ervoor kiezen om alleen bepaalde delen van een gesprek te vertalen door conditionele logica toe te voegen aan je vertaalhook. Deze controleert op specifieke berichttypes of door de gebruiker ingestelde variabelen voordat de vertaling wordt uitgevoerd. Zo bepaal je precies wat wanneer wordt vertaald.
3. Kan ik gebruikersgegevens anonimiseren voordat ik deze naar de vertaaldienst stuur?
Ja, je kunt gebruikersgegevens anonimiseren voordat je ze naar een vertaaldienst stuurt door het bericht vooraf te bewerken (bijvoorbeeld met regex om namen, e-mails of ID's te maskeren) binnen je Botpress-hook of actie. Zo voldoe je aan privacy-eisen en kun je toch vertalen.
4. Kan ik deze vertaalopzet gebruiken op verschillende kanalen (bijvoorbeeld WhatsApp, Messenger)?
Ja, je kunt dezelfde vertaalopzet gebruiken op meerdere kanalen zoals WhatsApp, Messenger, Slack of je website. Zolang je bot het bericht ontvangt, werkt de vertaalfunctionaliteit onafhankelijk van het platform.
5. Hoe kan ik vertaalfouten loggen voor analyse of foutopsporing?
Om vertaalfouten in Botpress te loggen, kun je console.error() gebruiken voor debugging tijdens ontwikkeling, of fouten opslaan in een aangepaste Botpress-tabel, een externe loggingdienst zoals Loggly of Datadog, of een interne API. Zo kun je fouten bijhouden en de prestaties in de gaten houden.





.webp)
