- I chatbot AI possono tradurre automaticamente le conversazioni in oltre 100 lingue con un LLM, oppure puoi creare flussi di traduzione personalizzati per un controllo più preciso.
- Una tipica configurazione di traduzione memorizza la lingua dell’utente, traduce i messaggi in arrivo nella lingua del bot, li elabora e poi traduce le risposte nella lingua dell’utente.
- DeepL è una scelta popolare per traduzioni di alta qualità, ma qualsiasi API di traduzione (come Google Translate) può essere integrata con codice simile.
Nel mondo multilingue di oggi, la capacità di interagire con gli utenti nella loro lingua madre è una caratteristica fondamentale per qualsiasi chatbot.
Se stai creando un chatbot AI, la traduzione è automatica se usi un LLM come 'cervello' del tuo bot. Un agente LLM può tradurre automaticamente le conversazioni in oltre 100 lingue.
Ma se vuoi impostare funzionalità di traduzione personalizzate mentre costruisci il tuo chatbot GPT, possiamo aiutarti a farlo.
In questo articolo vedremo quali input di codice servono per personalizzare la tua traduzione.
Come funziona la traduzione dei chatbot?
La nostra strategia si basa sull’intercettare i messaggi degli utenti, identificarne la lingua e tradurli da e verso la lingua operativa del bot.
Questo processo prevede:
- Memorizzazione della lingua rilevata
- Traduzione del messaggio dell’utente nella lingua del bot
- Elaborando il messaggio, e poi
- Tradurre la risposta del bot nella lingua dell’utente
Ad esempio, se un utente invia un messaggio in spagnolo, il bot memorizzerà "es" come variabile lingua. Il software tradurrà il messaggio in inglese per il bot, poi tradurrà la risposta del bot in spagnolo prima di inviarla all’utente.
Passaggio 1: Scegli i tuoi strumenti
La nostra configurazione utilizzerà il servizio di traduzione DeepL, noto per la sua precisione ed efficienza.
Dimostreremo questa integrazione con un semplice bot echo che risponde agli utenti ripetendo i loro messaggi. Useremo Axios per le chiamate API, poiché è un’integrazione automatica di Botpress.

Passaggio 2: Crea le variabili necessarie
Per prima cosa, dobbiamo introdurre una variabile utente chiamata `language` per memorizzare la lingua iniziale o rilevata.
DeepL facilita questo processo rilevando e restituendo la lingua del testo di input, semplificando il compito a una sola richiesta API.
Fase 3: Crea hook di intercettazione
Prima dell’hook per i messaggi in arrivo
Per intercettare e tradurre il messaggio dell’utente prima che arrivi a Botpress, introduciamo un hook "Before Incoming Message". Lo chiameremo "Translation-In" e si occuperà di tradurre il messaggio in inglese e sovrascrivere quello originale, così Botpress lo elaborerà come se fosse già in inglese.
Ecco come appare il codice per questo hook:
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
});NOTA IMPORTANTE: Usa sempre le Variabili di Configurazione di Botpress quando inserisci la tua API Key.
Hook prima del messaggio in uscita
Per il hook "Before Outgoing Message", lo chiameremo "Translation-Out". Intercetterà la risposta del bot per tradurla nuovamente nella lingua dell’utente, garantendo che la conversazione resti nella lingua preferita dall’utente.
L’implementazione prevede la sostituzione del messaggio in uscita con la sua versione tradotta:
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
});Inizia a creare oggi stesso
Uno dei principali vantaggi di un chatbot IA è la sua capacità multilingue. Con piattaforme come Botpress, puoi configurare rapidamente il tuo chatbot per interagire con gli utenti in oltre 100 lingue.
Se vuoi un chatbot accessibile e facile da usare, puoi integrare facilmente qualsiasi servizio di traduzione con Botpress. Grazie alle nostre integrazioni di canale, puoi poi distribuire il tuo chatbot su WhatsApp, Facebook Messenger o sul tuo sito web.
Inizia subito. È gratis.
Riferimenti aggiuntivi
- Variabili di configurazione
- DeepL Translate API
- Axios NPM
- Gestione errori Axios
- Canale YouTube di Botpress
Domande frequenti
1. Posso utilizzare un servizio di traduzione diverso da DeepL, come Google Translate o Microsoft Translator?
Sì, puoi utilizzare altri servizi di traduzione modificando l’hook di traduzione in Botpress per adattarlo al formato di richiesta e risposta dell’API del servizio scelto. Questi servizi possono essere facilmente integrati tramite chiamate HTTP in azioni o hook personalizzati.
2. Posso tradurre solo alcune parti di una conversazione?
Sì, puoi tradurre solo alcune parti di una conversazione aggiungendo una logica condizionale nell’hook di traduzione che controlla tipi di messaggio specifici o variabili definite dall’utente prima di attivare la traduzione. Così puoi decidere cosa tradurre e quando.
3. Posso anonimizzare i dati degli utenti prima di inviarli al servizio di traduzione?
Sì, puoi anonimizzare i dati degli utenti prima di inviarli a un servizio di traduzione pre-elaborando il messaggio (ad esempio, usando regex per oscurare nomi, email o ID) all’interno di un hook o action di Botpress. Questo garantisce il rispetto della privacy pur consentendo la traduzione.
4. Posso utilizzare questa configurazione di traduzione su diversi canali (ad esempio, WhatsApp, Messenger)?
Sì, puoi utilizzare la stessa configurazione di traduzione su più canali come WhatsApp, Messenger, Slack o il tuo sito web. Finché il tuo bot riceve il messaggio, la logica di traduzione funzionerà indipendentemente dalla piattaforma.
5. Come posso registrare gli errori di traduzione per analisi o debug?
Per registrare errori di traduzione in Botpress, puoi usare console.error() per il debug in fase di sviluppo, oppure inviare gli errori a una tabella personalizzata di Botpress, a un servizio di logging remoto come Loggly o Datadog, o a una API interna. Questo ti aiuta a monitorare i problemi e le prestazioni nel tempo.





.webp)
