- I chatbot AI possono tradurre automaticamente le conversazioni in oltre 100 lingue con un LLM, oppure è possibile costruire 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 traduce le risposte nella lingua dell'utente.
- DeepL è una scelta popolare per le traduzioni di alta qualità, ma qualsiasi API di traduzione (come Google Translate) può essere integrata con un 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 state costruendo un chatbot AI, la traduzione è automatica se utilizzate un LLM come "cervello" del vostro bot. Un agenteLLM può tradurre automaticamente le conversazioni in oltre 100 lingue.
Ma se siete interessati a impostare funzionalità di traduzione personalizzate durante la costruzione del vostro chatbot GPT , possiamo aiutarvi a farlo.
In questo articolo, approfondiremo gli input di codifica specifici necessari per personalizzare la traduzione.
Come funziona la traduzione dei chatbot?
La nostra strategia si basa sull'intercettazione dei messaggi degli utenti, sull'identificazione della loro lingua e sulla traduzione di questi messaggi da e verso la lingua operativa del bot.
Questo processo comporta:
- Memorizzazione della lingua rilevata
- Traduzione del messaggio dell'utente nella lingua del bot
- Elaborare 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 di lingua. Il software tradurrà il messaggio in inglese per il bot e poi tradurrà la risposta del bot in spagnolo prima di inviarla all'utente.
Fase 1: Scegliere gli strumenti
Il nostro allestimento si avvale del servizio di traduzione DeepL, noto per la sua accuratezza ed efficienza.
Dimostreremo questa integrazione con un semplice echo bot che risponde agli utenti rispecchiando i loro messaggi. Utilizzeremo Axios per le nostre chiamate API, poiché si tratta di un'integrazione automatica di Botpress.

Passo 2: creare le variabili necessarie
Innanzitutto, è necessario introdurre una variabile utente denominata `language` per memorizzare la lingua iniziale o rilevata.
DeepL facilita questo processo rilevando e restituendo la lingua del testo inserito, semplificando il nostro compito a una singola richiesta API.
Passo 3: creare ganci di intercettazione
Prima dell'aggancio del messaggio in arrivo
Per intercettare e tradurre il messaggio dell'utente prima che raggiunga Botpress, introduciamo un hook "Before Incoming Message". Chiameremo questo hook "Translation-In", che è responsabile della traduzione del messaggio in arrivo in inglese e della sovrascrittura del messaggio originale, consentendo a Botpress di elaborarlo come se fosse in inglese.
Ecco come appare il codice di questo gancio:
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: utilizzare sempre le variabili di configurazione diBotpress quando si incorpora la chiave API.
Prima dell'aggancio del messaggio in uscita
Per il gancio "Before Outgoing Message", lo chiameremo "Translation-Out". Intercetterà la risposta del bot per tradurla nuovamente nella lingua dell'utente, assicurando che la conversazione rimanga nella lingua preferita dall'utente.
L'implementazione prevede la sovrascrittura del messaggio in uscita con la sua controparte 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
});
Iniziare a costruire oggi
Uno dei principali vantaggi dell'utilizzo di un chatbot AI è la sua capacità multilingue. Con piattaforme come Botpress, è possibile configurare rapidamente il chatbot per interagire con gli utenti in oltre 100 lingue.
Se volete un chatbot accessibile e facile da usare, potete integrare senza problemi qualsiasi servizio di traduzione con Botpress. Con le nostre integrazioni di canale, potete poi distribuire il vostro chatbot attraverso WhatsApp, Facebook Messenger, o il vostro sito web.
Iniziate oggi stesso. È gratuito.
Ulteriori riferimenti
- Variabili di configurazione
- DeepL API di traduzione
- Axios NPM
- Gestione degli errori di Axios
- Botpress Canale YouTube
Domande frequenti
1. Posso utilizzare un servizio di traduzione diverso da DeepL, come Google Translate o Microsoft Translator?
Sì, è possibile utilizzare altri servizi di traduzione modificando l'hook di traduzione in Botpress in modo che corrisponda al formato di richiesta e risposta dell'API del servizio scelto. Questi servizi possono essere facilmente integrati tramite chiamate HTTP all'interno di azioni o ganci personalizzati.
2. Posso tradurre selettivamente solo parti di una conversazione?
Sì, è possibile tradurre selettivamente solo alcune parti di una conversazione, aggiungendo una logica condizionale nel gancio di traduzione che controlla determinati tipi di messaggi o variabili definite dall'utente prima di attivare la traduzione. In questo modo è possibile controllare esattamente cosa viene tradotto e quando.
3. Posso anonimizzare i dati degli utenti prima di inviarli al servizio di traduzione?
Sì, è possibile anonimizzare i dati degli utenti prima di inviarli a un servizio di traduzione, preelaborando il messaggio (ad esempio, utilizzando una regex per mascherare nomi, e-mail o ID) all'interno del gancio o dell'azione di Botpress . In questo modo si garantisce la conformità ai requisiti di privacy pur consentendo la traduzione.
4. Posso utilizzare questa configurazione di traduzione su diversi canali (ad esempio, WhatsApp, Messenger)?
Sì, è possibile utilizzare la stessa configurazione di traduzione su più canali come WhatsApp, Messenger, Slack o il vostro sito web. Finché il bot riceve il messaggio, la logica di traduzione funziona indipendentemente dalla piattaforma.
5. Come si registrano gli errori di traduzione per l'analisi o il debug?
Per registrare gli errori di traduzione in Botpress, si può usare il comando console.error()
per il debug dello sviluppo, oppure inviare gli errori a una tabella Botpress personalizzata, a un servizio di log remoto come Loggly o Datadog o a un'API interna. Questo aiuta a tenere traccia dei guasti e a monitorare le prestazioni nel tempo.