- AI-chatbots kunnen conversaties automatisch vertalen in meer dan 100 talen met een LLM, of je kunt aangepaste vertaalstromen bouwen voor meer controle.
- Een typische vertaalopstelling slaat de taal van de gebruiker op, vertaalt inkomende berichten in de taal van de bot, verwerkt ze en vertaalt vervolgens de antwoorden terug naar de taal van de gebruiker.
- DeepL is een populaire keuze voor vertalingen van hoge kwaliteit, maar elke vertaal-API (zoals Google Translate) kan worden geïntegreerd met vergelijkbare code.
In de meertalige wereld van vandaag is de mogelijkheid om met gebruikers te communiceren in hun moedertaal een belangrijke functie voor elke chatbot.
Als je een AI chatbot bouwt, gaat het vertalen automatisch als je een LLM gebruikt als het 'brein' van je bot. Een LLM agent kan automatisch conversaties vertalen in meer dan 100 talen.
Maar als je geïnteresseerd bent in het opzetten van aangepaste vertaalmogelijkheden tijdens het bouwen van je GPT chatbot, kunnen we je daarbij helpen.
In dit artikel duiken we in de specifieke codering die nodig is om je vertaling aan te passen.
Hoe werkt chatbotvertaling?
Onze strategie draait om het onderscheppen van berichten van gebruikers, het identificeren van hun taal en het vertalen van deze berichten van en naar de voertaal van de bot.
Dit proces houdt in:
- De gedetecteerde taal opslaan
- Het bericht van de gebruiker vertalen naar de taal van de bot
- Het bericht verwerken en dan
- Het antwoord van de bot terugvertalen naar de taal van de gebruiker
Als een gebruiker bijvoorbeeld een bericht in het Spaans stuurt, zal de bot "es" opslaan als taalvariabele. De software vertaalt het bericht naar het Engels voor de bot en vertaalt vervolgens het antwoord van de bot terug naar het Spaans voordat het naar de gebruiker wordt gestuurd.
Stap 1: Kies je gereedschap
Onze opzet maakt gebruik van de DeepL vertaalservice, die bekend staat om zijn nauwkeurigheid en efficiëntie.
We zullen deze integratie demonstreren met een eenvoudige echobot die reageert op gebruikers door hun berichten te spiegelen. We gebruiken Axios voor onze API-aanroepen, omdat het een automatische integratie is van Botpress.

Stap 2: Maak de benodigde variabelen aan
Ten eerste moeten we een gebruikersvariabele met de naam `taal` introduceren om de initiële of gedetecteerde taal op te slaan.
DeepL vergemakkelijkt dit proces door de taal van de ingevoerde tekst te detecteren en terug te geven, waardoor onze taak vereenvoudigd wordt tot een enkel API-verzoek.
Stap 3: Interceptiehaken maken
Voor inkomende berichthaak
Om het bericht van de gebruiker te onderscheppen en te vertalen voordat het Botpress bereikt, introduceren we een "Before Incoming Message" haak. We zullen deze haak "Translation-In" noemen, die verantwoordelijk is voor het vertalen van het inkomende bericht naar het Engels en het overschrijven van het originele bericht, waardoor Botpress het kan verwerken alsof het in het Engels is.
Hier is hoe de code voor deze haak eruit ziet:
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 opnemen van uw API-sleutel.
Voor uitgaande berichthaak
Voor de "Voor uitgaand bericht"-haak zullen we het "Translation-Out" noemen. Het zal het antwoord van de bot onderscheppen om het terug te vertalen in 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 zijn vertaalde tegenhanger:
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 met bouwen
Een van de belangrijkste voordelen van het gebruik van een AI-chatbot is de meertaligheid. Met platforms zoals Botpress kun je je chatbot snel instellen om gebruikers in meer dan 100 talen te benaderen.
Als je een toegankelijke en gebruiksvriendelijke chatbot wilt, kun je elke vertaaldienst naadloos integreren met Botpress. Met onze kanaalintegraties kunt u uw chatbot vervolgens inzetten op WhatsAppFacebook Messenger of je website.
Begin vandaag nog. Het is gratis.
FAQs
1. Kan ik een andere vertaaldienst gebruiken dan DeepL, zoals Google Translate of Microsoft Translator?
Ja, je kunt andere vertaaldiensten gebruiken door de vertaalhaak in Botpress aan te passen zodat deze overeenkomt met het API-verzoek en de responsindeling van de gekozen dienst. Deze services kunnen eenvoudig worden geïntegreerd via HTTP-aanroepen binnen aangepaste acties of haken.
2. Kan ik selectief alleen delen van een gesprek vertalen?
Ja, je kan selectief enkel delen van een conversatie vertalen door voorwaardelijke logica toe te voegen in je vertaalhaak die controleert op specifieke berichttypes of door de gebruiker gedefinieerde variabelen alvorens de vertaling te activeren. Dit laat je toe om precies te bepalen wat vertaald wordt en wanneer.
3. Kan ik gebruikersgegevens anonimiseren voordat ik ze naar de vertaalservice stuur?
Ja, je kunt gebruikersgegevens anonimiseren voordat je ze naar een vertaalservice stuurt door het bericht vooraf te bewerken (bijvoorbeeld door regex te gebruiken om namen, e-mails of ID's te maskeren) binnen je Botpress hook of actie. Dit zorgt ervoor dat de privacyvereisten worden nageleefd terwijl vertaling nog steeds mogelijk is.
4. Kan ik deze vertaalconfiguratie gebruiken voor verschillende kanalen (bijv. WhatsApp, Messenger)?
Ja, je kunt dezelfde vertaalopstelling gebruiken voor meerdere kanalen zoals WhatsApp, Messenger, Slack of je website. Zolang je bot het bericht ontvangt, werkt de vertaallogica ongeacht het platform.
5. Hoe log ik vertaalfouten voor analyse of foutopsporing?
Om vertaalfouten in Botpress te loggen, kun je het volgende gebruiken console.error()
voor het debuggen tijdens de ontwikkeling, of stuur fouten naar een aangepaste Botpress , een externe loggingservice zoals Loggly of Datadog, of een interne API. Dit helpt je bij het opsporen van fouten en het bewaken van de prestaties in de loop van de tijd.