- Os chatbots de IA podem traduzir conversas em mais de 100 idiomas automaticamente com um LLM, ou pode criar fluxos de tradução personalizados para um controlo mais preciso.
- Uma configuração de tradução típica armazena o idioma do utilizador, traduz as mensagens recebidas para o idioma do bot, processa-as e, em seguida, traduz as respostas de volta para o idioma do utilizador.
- DeepL é uma escolha popular para traduções de alta qualidade, mas qualquer API de tradução (como o Google Translate) pode ser integrada com código semelhante.
No mundo multilingue de hoje, a capacidade de interagir com os utilizadores na sua língua materna é uma caraterística fundamental para qualquer chatbot.
Se estiver a construir um chatbot com IA, a tradução é automática se utilizar um LLM como o "cérebro" do seu bot. Um agenteLLM pode traduzir automaticamente conversas em mais de 100 línguas.
Mas se estiver interessado em configurar capacidades de tradução personalizadas à medida que constrói o seu chatbot GPT , podemos ajudá-lo a fazê-lo.
Neste artigo, vamos analisar as entradas de código específicas necessárias para personalizar a sua tradução.
Como é que a tradução de chatbots funciona?
A nossa estratégia consiste em intercetar as mensagens dos utilizadores, identificar a sua língua e traduzir essas mensagens de e para a língua de funcionamento do bot.
Este processo implica:
- Armazenar a língua detectada
- Traduzir a mensagem do utilizador para o idioma do bot
- Processar a mensagem e, em seguida
- Traduzir a resposta do bot de volta para a língua do utilizador
Por exemplo, se um utilizador enviar uma mensagem em espanhol, o bot guardará "es" como variável de idioma. O software traduzirá a mensagem para inglês para o bot e, em seguida, traduzirá a resposta do bot de volta para espanhol antes de a enviar para o utilizador.
Passo 1: Escolha as suas ferramentas
A nossa configuração utilizará o serviço de tradução DeepL, conhecido pela sua exatidão e eficiência.
Vamos demonstrar esta integração com um simples echo bot que responde aos utilizadores espelhando as suas mensagens. Utilizaremos o Axios para as nossas chamadas de API, uma vez que se trata de uma integração automática do Botpress.

Passo 2: Criar as variáveis necessárias
Em primeiro lugar, temos de introduzir uma variável de utilizador chamada `language` para armazenar a língua inicial ou detectada.
O DeepL facilita este processo detectando e devolvendo o idioma do texto de entrada, simplificando a nossa tarefa para um único pedido de API.
Passo 3: Criar ganchos de interceção
Antes do gancho para mensagens recebidas
Para intercetar e traduzir a mensagem do utilizador antes de esta chegar a Botpress, introduzimos um gancho "Before Incoming Message". Chamamos a este gancho "Translation-In", que é responsável por traduzir a mensagem recebida para inglês e substituir a mensagem original, permitindo que o Botpress a processe como se estivesse em inglês.
Eis o aspeto do código para este 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: Utilize sempre Botpress Variáveis de configuração ao incorporar a sua chave de API.
Antes do gancho da mensagem de saída
Para o gancho "Before Outgoing Message" (antes da mensagem de saída), vamos chamar-lhe "Translation-Out" (tradução para fora). Ele 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 implica substituir a mensagem de saída pela sua contraparte 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
Um dos principais benefícios da utilização de um chatbot com IA é a sua capacidade multilingue. Com plataformas como Botpress, pode configurar rapidamente o seu chatbot para interagir com os utilizadores em mais de 100 idiomas.
Se você deseja um chatbot acessível e fácil de usar, pode integrar perfeitamente qualquer serviço de tradução com o Botpress. Com nossas integrações de canal, você pode implementar seu chatbot no WhatsApp, Facebook Messenger ou no seu site.
Comece hoje mesmo. É gratuito.
FAQs
1. Posso utilizar um serviço de tradução diferente de DeepL, como o Google Translate ou o Microsoft Translator?
Sim, pode utilizar outros serviços de tradução modificando o gancho de tradução no Botpress para corresponder ao pedido API do serviço escolhido e ao formato de resposta. Estes serviços podem ser facilmente integrados através de chamadas HTTP em acções ou ganchos personalizados.
2. Posso traduzir seletivamente apenas partes de uma conversa?
Sim, pode traduzir seletivamente apenas partes de uma conversa, adicionando lógica condicional no seu gancho de tradução que verifica tipos de mensagens específicos ou variáveis definidas pelo utilizador antes de ativar a tradução. Isto permite-lhe controlar exatamente o que é traduzido e quando.
3. Posso tornar anónimos os dados do utilizador antes de os enviar para o serviço de tradução?
Sim, é possível tornar anónimos os dados do utilizador antes de os enviar para um serviço de tradução, pré-processando a mensagem (por exemplo, utilizando regex para mascarar nomes, e-mails ou IDs) no seu hook ou ação Botpress . Isso garante a conformidade com os requisitos de privacidade e ainda permite a tradução.
4. Posso utilizar esta 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 é que registo os erros de tradução para fins analíticos ou de depuração?
Para registar erros de tradução no Botpress, pode utilizar consola.erro()
para depuração de desenvolvimento, ou enviar erros para uma tabela Botpress personalizada, um serviço de registo remoto como o Loggly ou o Datadog, ou uma API interna. Isso ajuda a rastrear falhas e monitorar o desempenho ao longo do tempo.