- 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.
Domande frequenti
Posso utilizzare un servizio di traduzione diverso da DeepL, come Google Translate o Microsoft Translator?
Assolutamente sì, è possibile inserire qualsiasi API di traduzione. Basta modificare il codice di aggancio per adattarlo al formato della richiesta API di quel servizio.
Posso tradurre selettivamente solo alcune parti di una conversazione?
Sì, è possibile tradurre selettivamente solo parti di una conversazione. Aggiungete una logica condizionale ai vostri ganci per verificare la presenza di tipi di messaggi o flag specifici prima di tradurre.
Posso anonimizzare i dati degli utenti prima di inviarli al servizio di traduzione?
Sì, è possibile anonimizzare i dati degli utenti prima di inviarli al servizio di traduzione. È possibile preelaborare i messaggi per eliminare o mascherare le informazioni sensibili prima di effettuare la chiamata API, in modo da mantenere la privacy.
Posso utilizzare questa configurazione di traduzione su diversi canali (ad esempio, WhatsApp, Messenger)?
Sì, le impostazioni di traduzione sono utilizzabili su diversi canali, purché il vostro bot sia integrato con questi canali tramite Botpress; la logica di traduzione nei vostri ganci funzionerà senza problemi su tutti i canali.
Come si registrano gli errori di traduzione per l'analisi o il debug?
Per registrare gli errori di traduzione, si può aggiungere un `console.error()` o spingere gli errori in una tabella di log personalizzata o in un servizio esterno, per tracciare e debuggare facilmente i problemi di traduzione.