
Compartilhar:
Benjamin Aronov is a developer advocate at Vonage. He is a proven community builder with a background in Ruby on Rails. Benjamin enjoys the beaches of Tel Aviv which he calls home. His Tel Aviv base allows him to meet and learn from some of the world's best startup founders. Outside of tech, Benjamin loves traveling the world in search of the perfect pain au chocolat.
Voice Agents: use a IA de conhecimento para evitar alucinações da IA
Tempo de leitura: 9 minutos
Introdução: IA generativa para manuais de instruções
Você se lembra da última vez que usou um manual de instruções? Talvez tenha sido para montar algum móvel ou consertar um micro-ondas, mas tenho certeza de que a experiência deixou você confuso em alguns momentos. Os manuais de instruções são frustrantes porque é preciso saber como procurá-los para encontrar exatamente o problema que você está enfrentando.
No entanto, o que há de melhor nos manuais de instruções e nas seções de perguntas frequentes (FAQs) semelhantes é que eles estão repletos de instruções detalhadas e valiosas para os consumidores finais. Se ao menos houvesse uma maneira de transformar todos esses dados em uma experiência de usuário agradável. Agora existe, com o AI Studio Voice agents and the novo Knowledge AI.
Imagine seus clientes podendo fazer perguntas com suas próprias palavras — sem a necessidade de comandos rígidos e pré-programados — e recebendo respostas instantâneas e precisas. Com o avanço da IA generativa, criar esses voicebots flexíveis ficou mais fácil do que nunca. Com Knowledge AI, agora você pode treinar um bot de voz para compreender uma ampla variedade de perguntas humanas e selecionar suas respostas com precisão a partir de uma base de conhecimento predefinida. Isso significa que seus clientes receberão sempre as informações corretas, sem nenhuma confusão.
Este tutorial vai ensinar como criar um bot de voz com FAQ baseado em IA, utilizando o site e os materiais de treinamento de uma empresa para responder a qualquer pergunta dos usuários de forma flexível e precisa.
Visual metaphor illustrating the mission to convert the Toddler 911 user manual into an interactive voice bot using Knowledge AI.
Nossa missão: transformar um manual de instruções em um agente LLM
Nossa missão neste artigo é transformar o site e o manual de instruções de uma empresa em um VoiceBot. Assim como você pode ligar para uma empresa para obter informações básicas, também pode precisar de ajuda, como ao seguir as instruções de um manual para consertar uma geladeira ou uma torradeira quebrada. Usaremos o Knowledge AI para automatizar essa interação e economizar o valioso tempo dos funcionários da sua empresa.
Qual manual do usuário vamos transformar em um bot de voz com FAQ baseado em IA? Bem, decidi que seria divertido criar uma empresa fictícia com um manual de instruções fictício, tudo gerado por LLMs, é claro! Vamos criar um agente de voz com IA para a “Toddler 911!”. Essa empresa ajuda os pais a “operar” seus filhos.
Confira o site do Toddler 911 e o manual de instruções. Voltaremos a usar isso mais tarde. Achei que a IA criou uns gráficos bem legais para a empresa em cada página!
Pré-requisitos
Você precisará de um Account de desenvolvedor da Vonage
Você precisará consultar ou baixar os recursos na seção repositório do Toddler 911! no GitHub repositório
Como criar uma base de conhecimento
Antes de desenvolver o agente, precisamos configurar nossa Base de Conhecimento. Esse será o repositório que orientará as respostas da nossa IA de Geração. Acesse a guia “Knowledge AI” no painel do AI Studio.
O Knowledge AI apresenta dois novos Concepts: Fontes e Índices. Fontes são elementos individuais de informação e dados. Por exemplo, uma fonte pode ser uma URL (página de um site) ou um arquivo. Quando agrupadas, as fontes formam índices. O conjunto completo de informações a partir do qual os agentes podem gerar respostas é chamado de índice.
Vamos começar a criar nosso primeiro índice.
Como adicionar uma fonte no Knowledge AI
Na seção guia “Knowledge AI”, clique em “Adicionar fonte”. Isso abrirá um formulário para adicionar uma nova fonte.
Add a new knowledge source in Vonage AI Studio by uploading a local file or providing a URL.
Você vai perceber que as fontes podem ser um arquivo local (TXT, HTML ou PDF) ou uma URL acessível ao público.
Adicione os links para o site da empresa:
URL da página de destino, Nome da fonte: Página de destino do Toddler 911
URL “Sobre nós”, Nome da fonte: Toddler 911 – Sobre nós
URL dos produtos, Nome da fonte: Produtos Toddler 911
Agora adicione os links para o material de treinamento. Mas não adicione a Atualização de Treinamento sobre Banheiros de 2024. Vamos adicioná-la mais tarde.
Crie uma URL do lanche, Nome da fonte: Treinamento Toddler 911 - Lanche
URL do “Clean Up Toys”, Nome da fonte: Toddler 911 Training - Lanche
Expanded view of the 'Toddler 911 FAQs' index showing all five selected content sources in Knowledge AI.
Agora que temos algumas fontes, poderemos fazer perguntas mais flexíveis. Vamos passar à criação de um índice.
Como criar um índice
Clique na guia “Índice” no painel à esquerda. Em seguida, clique em “Adicionar índice”. Primeiro, dê ao seu índice um nome atraente, como “Perguntas frequentes sobre o Toddler 911”. Depois, marque todas as fontes recém-criadas e clique em “Salvar e Sair”.
Source dashboard for AI Studio showing five uploaded website sources for the Toddler 911 project with total text size of 40.15KB.
Agora você deve ver um Índice disponível.
Screenshot of the AI Studio index dashboard showing a single index called 'Toddler 911 FAQs' connected to five content sources.
Como testar índices
O Knowledge AI permite que você teste os índices antes de conectá-los aos agentes. Para isso, passe o mouse sobre um índice e um ícone de reprodução aparecerá. Clique no ícone de reprodução para abrir o Testador de Índices.
Tooltip and UI showing that the 'Toddler 911 FAQs' index can be tested within the AI Studio interface.
Agora você pode fazer qualquer pergunta que quiser, e o agente de teste irá buscar as respostas no seu Índice. Tente fazer perguntas relacionadas à empresa, pois os LLMs podem precisar de contexto adicional em certas situações. Um caso que observei foi que o LLM teve dificuldade em distinguir informações complexas. Por exemplo, na página “Sobre nós”, está escrito: “Fundador e Diretor Criativo da Imaginative Play: Dr. Seuss —no site, como “O que é o Toddler 911?”, ou perguntas do material de treinamento, como “Como faço para que meu filho arrume o quarto?”. Você também pode tentar fazer perguntas que não estejam no Índice para garantir que o LLM não esteja inventando respostas. Por exemplo, tente perguntar: “Como faço para que meu filho comece a usar o banheiro?”.
É importante realizar testes minuciosos, pois os LLMs podem precisar de contexto adicional em determinadas situações. Um caso que observei foi o de um LLM que teve dificuldade em distinguir informações complexas. Por exemplo, na página “Sobre nós”, está escrito: “Fundador e Diretor Criativo da Imaginative Play: Dr. Seuss – Um pai e empreendedor apaixonado por criar soluções que empoderam as famílias.”
No entanto, quando pergunto: “Quem é o fundador?”, o LLM responde: “Não foi possível encontrar uma resposta relevante”. Quando reformulo a pergunta para: “Quem é o fundador e diretor criativo da brincadeira imaginativa?”, o LLM responde: “Dr. Seuss”.
Como manter sua base de conhecimento atualizada com as novas atualizações
Mostramos que o LLM ainda não é capaz de responder às perguntas do Atualização de Treinamento sobre Banheiros de 2024. Então, vamos adicioná-la como uma nova fonte. Você pode adicioná-la como uma URL — PDF na nuvem ou baixar o PDF e enviá-lo como um arquivo local. Atualize seu índice para incluir a nova fonte.
Agora tente o teste novamente e faça a nossa pergunta anterior: “Como faço para que meu filho comece a usar o banheiro?” Desta vez, você deve receber uma resposta satisfatória do atendente.
Você pode fazer perguntas complementares como: “Qual é um exemplo de como comemorar o sucesso?” ou “E se meu filho sofresse um acidente?”. O teste tem como objetivo identificar lacunas e pontos problemáticos no seu Índice.
Test and refine your Knowledge AI responses by creating and querying an index based on uploaded sources.
Observe o símbolo dos livrinhos na resposta do Knowledge AI. Você pode clicar nele para ver quais fontes foram utilizadas para gerar a resposta. Você pode usar isso para ajudar a ajustar as fontes de um índice, a fim de obter melhores resultados.
Agora que temos um Índice que podemos atribuir ao nosso agente de IA generativa, vamos criar nosso agente!
Como criar um VoiceBot no AI Studio
Para começar, precisaremos criar um agente do WhatsApp. Você pode abrir o AI Studio a partir do Vonage Painel do Desenvolvedor e, em seguida, seguir as instruções encontradas na documentação do AI Studio. Existem três opções importantes para o nosso agente; selecione:
Tipo: Telefonia
Modelo: Começar do zero
Evento: Inbound
Como usar o nó “Coletar entrada do usuário”
Vamos dar as boas-vindas aos nossos usuários com uma mensagem de boas-vindas. Vamos usar o nó “Speak” . Como o nome da nossa empresa é pronunciado como “Toddler Nine One One” em vez de “Ninehundred and eleven”, precisaremos usar o tag “say-as” :
<speak> Hello and welcome to Toddler <say-as interpret-as='digits'>911</say-as>!</speak>Em seguida, vamos receber a resposta do usuário com um nó “Coletar Entrada” . Vamos armazenar a resposta em um parâmetro chamado inquiry. Adicione um prompt simples: “Em que posso ajudar?”. Além disso, vamos adicionar 2 para o “número de tentativas” e um prompt de repetição: “Desculpe, não entendi. Você poderia repetir?”.
A menos que seja especificado de outra forma, todos os parâmetros nesta postagem do blog utilizarão a entidade @sys.any. Para obter mais informações sobre entidades (diferentes tipos de parâmetros) no AI Studio, por favor, consulte a documentação.
Como usar o nó “Perguntas e Respostas” do AI Studio
Como este artigo se concentra na IA de Conhecimento, não vamos nos preocupar em classificar a intenção do usuário nem em criar vários fluxos. Podemos prosseguir diretamente com o nó de perguntas e respostas da seção de conversação.
Animated walkthrough showing how to add a FAQ node in AI Studio that uses Knowledge AI to answer user questions.
A configuração do nosso nó será:
Índice: Perguntas frequentes sobre o Toddler 911 (ou o nome do seu Índice)
Parâmetro de entrada do usuário: consulta
Parâmetro de resposta: ai_response
Tempo de espera: 2 segundos
O tempo máximo que o AI Studio aguardará por uma resposta. Se o tempo de resposta ultrapassar 2 segundos, o caminho de saída “Falha” será acionado.
Como lidar com respostas geradas por IA
Agora que já configuramos nosso nó para obter respostas às perguntas frequentes, vamos enviá-las aos nossos usuários! Todo o fluxo ficará assim:
Overview of the full FAQ conversation flow in AI Studio, including AI-generated responses, fallback handling, and repeat prompts.
Isso pode parecer um pouco complicado, mas a maior parte se refere ao tratamento de erros e à melhoria da experiência do usuário. O nó FAQ cria três pontos de saída: $ai_response (sucesso), “Não sei” e “Falha”. Esses pontos de saída nos permitem tratar os erros de acordo com o resultado recebido.
Para desenvolver isso:
Para $ai_response ponto de saída: use um nó “Speak” e configure-o para simplesmente enviar o $ai_response . Conecte nosso $ai_response a esse nó.
Para “Não sei” ponto de saída: use um nó “Falar” e configure-o para enviar uma mensagem de erro. Algo como: “Desculpe, não sei como responder a isso. Vamos tentar uma pergunta diferente.” Conecte nosso “Não sei” a esse nó.
Para Caso de falha ponto de saída: use um nó “Speak” e configure-o para dizer algo como: “Desculpe, algo deu errado. Vamos tentar de novo.” Conecte nosso ponto de saída a este nó.
Como fazer um ciclo para várias perguntas
Queremos permitir que o usuário faça várias perguntas ao nosso bot de voz.
Para desenvolver isso:
Crie um nó “Collect Input” chamado “Collect Repeat” que salvará um novo parâmetro chamado repeat. Assim como antes, vamos incluir uma mensagem de prompt: “Você gostaria de fazer outra pergunta?”. Também vamos permitir duas tentativas e uma mensagem de prompt para a nova tentativa: “Desculpe, não entendi. Por favor, tente novamente.”
Use um Nó de Condição que verificará se repetição. Crie uma condição para verificar se repeat é igual a sim, e outra para verificar se repeat é igual a “não”.
Conecte a condição “true” novamente ao nó “Collect Inquiry”, o primeiro nó de entrada de coleta que usamos, que armazena o valor para consulta
Conecte a condição falsa a um nó “Speak” do formulário anterior, que agradecerá ao usuário por utilizar o agente:
<speak> Thank you for using Toddler <say-as interpret-as='digits'>911</say-as>!</speak>5. Conecte o nó “Mensagem de agradecimento” a um nó “Encerrar Chamada” .
Conclusão
👏Dê uma salva de palmas para você mesmo! Você conseguiu! Você criou seu primeiro agente de voz com IA generativa. Agora vamos testá-lo usando o testador.
Você recebeu a ligação? Conseguiu fazer perguntas sobre todos os diferentes recursos do Toddler 911!? Você ficou sabendo sobre o Dr. Seuss e o Big Bird? Agora que você já testou o agente, como você o melhoraria? Talvez pudéssemos criar fluxos separados para as perguntas frequentes da empresa e para o manual de instruções usando Intents e Classificação.
Seja qual for o comportamento do seu agente, conte para a gente! Participe da Slack da Comunidade de Desenvolvedores da Vonage e me conte o que você está desenvolvendo no #AI Studio . Ou encontre-nos no X, antes conhecido como Twitter.
Compartilhar:
Benjamin Aronov is a developer advocate at Vonage. He is a proven community builder with a background in Ruby on Rails. Benjamin enjoys the beaches of Tel Aviv which he calls home. His Tel Aviv base allows him to meet and learn from some of the world's best startup founders. Outside of tech, Benjamin loves traveling the world in search of the perfect pain au chocolat.