- Chatbots com IA podem traduzir conversas automaticamente para mais de 100 idiomas usando um LLM, ou você pode criar fluxos de tradução personalizados para ter mais controle.
- Uma configuração típica de tradução armazena o idioma do usuário, traduz as mensagens recebidas para o idioma do bot, processa essas mensagens e depois traduz as respostas de volta para o idioma do usuário.
- O DeepL é uma escolha popular para traduções de alta qualidade, mas qualquer API de tradução (como o Google Tradutor) pode ser integrada com um código semelhante.
No mundo multilíngue de hoje, a capacidade de interagir com usuários no idioma nativo deles é um recurso essencial para qualquer chatbot.
Se você está criando um chatbot de IA, a tradução é automática se você usar um LLM como o 'cérebro' do seu bot. Um agente LLM pode traduzir conversas automaticamente para mais de 100 idiomas.
Mas se você quer configurar recursos de tradução personalizados ao criar seu chatbot GPT, podemos te ajudar a fazer isso.
Neste artigo, vamos detalhar os códigos necessários para personalizar sua tradução.
Como funciona a tradução em chatbots?
Nossa estratégia consiste em interceptar as mensagens dos usuários, identificar o idioma e traduzir essas mensagens para o idioma de operação do bot e vice-versa.
Esse processo envolve:
- Armazenar o idioma detectado
- Traduzir a mensagem do usuário para o idioma do bot
- Processar a mensagem e, em seguida,
- Traduzir a resposta do bot de volta para o idioma do usuário
Por exemplo, se um usuário enviar uma mensagem em espanhol, o bot irá armazenar "es" como variável de idioma. O software traduz a mensagem para inglês para o bot, e depois traduz a resposta do bot de volta para o espanhol antes de enviá-la ao usuário.
Passo 1: Escolha suas ferramentas
Nossa configuração vai usar o serviço de tradução DeepL, conhecido por sua precisão e eficiência.
Vamos demonstrar essa integração com um bot de eco simples, que responde aos usuários repetindo suas mensagens. Usaremos o Axios para as chamadas de API, já que ele é integrado automaticamente ao Botpress.

Passo 2: Crie as variáveis necessárias
Primeiro, precisamos criar uma variável de usuário chamada `language` para armazenar o idioma inicial ou detectado.
O DeepL facilita esse processo ao detectar e retornar o idioma do texto de entrada, simplificando nossa tarefa para uma única requisição de API.
Passo 3: Crie hooks de interceptação
Hook antes da mensagem recebida
Para interceptar e traduzir a mensagem do usuário antes que ela chegue ao Botpress, criamos um hook "Antes da Mensagem Recebida". Vamos chamar esse hook de "Translation-In", que é responsável por traduzir a mensagem recebida para o inglês e substituir a mensagem original, permitindo que o Botpress a processe como se estivesse em inglês.
Veja como fica o código desse 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: Sempre utilize as Variáveis de Configuração do Botpress ao inserir sua chave de API.
Hook antes da mensagem enviada
Para o hook "Antes da Mensagem Enviada", vamos chamá-lo de "Translation-Out". Ele irá interceptar a resposta do bot para traduzi-la de volta para o idioma do usuário, garantindo que a conversa permaneça no idioma preferido do usuário.
A implementação consiste em substituir a mensagem enviada pela sua versão traduzida:
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
});Comece a construir hoje mesmo
Um dos grandes benefícios de usar um chatbot com IA é sua capacidade multilíngue. Com plataformas como o Botpress, você pode configurar rapidamente seu chatbot para interagir com usuários em mais de 100 idiomas.
Se você quer um chatbot acessível e fácil de usar, pode integrar qualquer serviço de tradução ao Botpress sem dificuldades. Com nossas integrações de canais, você pode implantar seu chatbot no WhatsApp, Facebook Messenger ou no seu site.
Comece agora mesmo. É grátis.
Referências adicionais
- Variáveis de Configuração
- API de Tradução DeepL
- Axios NPM
- Tratamento de Erros com Axios
- Canal do Botpress no YouTube
Perguntas frequentes
1. Posso usar um serviço de tradução diferente do DeepL, como Google Tradutor ou Microsoft Translator?
Sim, você pode usar outros serviços de tradução modificando o hook de tradução no Botpress para se adequar ao formato de requisição e resposta da API escolhida. Esses serviços podem ser facilmente integrados via chamadas HTTP em ações ou hooks personalizados.
2. Posso traduzir apenas partes específicas de uma conversa?
Sim, é possível traduzir apenas partes específicas de uma conversa adicionando lógica condicional no seu hook de tradução, verificando tipos de mensagem ou variáveis definidas pelo usuário antes de acionar a tradução. Assim, você controla exatamente o que será traduzido e quando.
3. Posso anonimizar os dados dos usuários antes de enviá-los para o serviço de tradução?
Sim, você pode anonimizar os dados do usuário antes de enviá-los para um serviço de tradução, processando a mensagem previamente (por exemplo, usando regex para mascarar nomes, e-mails ou IDs) dentro do seu hook ou ação no Botpress. Isso garante conformidade com requisitos de privacidade e ainda permite a tradução.
4. Posso usar essa configuração de tradução em diferentes canais (por exemplo, WhatsApp, Messenger)?
Sim, você pode usar a mesma configuração de tradução em vários canais como WhatsApp, Messenger, Slack ou seu site. Desde que seu bot receba a mensagem, a lógica de tradução funcionará independentemente da plataforma.
5. Como faço para registrar erros de tradução para análise ou depuração?
Para registrar erros de tradução no Botpress, você pode usar console.error() para depuração durante o desenvolvimento, ou enviar os erros para uma tabela personalizada do Botpress, um serviço de logs remoto como Loggly ou Datadog, ou uma API interna. Isso ajuda a monitorar falhas e acompanhar o desempenho ao longo do tempo.





.webp)
