
Compartilhar:
Diana é defensora de desenvolvedores na Vonage. Ela gosta de comer ostras frescas.
Crie um chatbot de voz com a Voice API e a API da OpenAI em Java
Tempo de leitura: 4 minutos
A Voice API da Vonage é uma ferramenta para desenvolvedores integrarem recursos de chamadas de voz em suas aplicações. Ela oferece recursos como fazer e receber chamadas telefônicas, controle de chamadas (por exemplo, encaminhamento e gravação de chamadas), conversão de texto em fala e de fala em texto, sistemas de resposta de voz interativa (IVR) e muito mais. Com a Voice API da Vonage, os desenvolvedores podem criar applications, como sistemas de triagem de chamadas, assistentes virtuais, plataformas de teleconferência e linhas diretas de atendimento ao cliente.
Neste tutorial, vamos combiná-lo com a API da OpenAI (ChatGPT) para criar um chatbot de voz. Veremos como implantar e personalizar o bot no Vonage Cloud Runtime , o que elimina a necessidade de gerenciar servidores e hospedagem por conta própria.
Pré-requisitos
Um account de desenvolvedor da Vonage. Se você ainda não tiver um, crie uma conta.
Um número de telefone da Vonage. Ele pode ser adquirido usando o crédito gratuito disponível no painel de desenvolvedores da Vonage, na seção “Numbers” (barra lateral esquerda).
Uma chave da API da OpenAI no Painel da API da OpenAI. Guarde essa chave em um local seguro, pois você não poderá visualizá-la novamente após criá-la. Você precisará adquirir créditos da OpenAI para receber com sucesso uma resposta à sua solicitação.
Como criar e implantar seu aplicativo
Depois de fazer login na sua conta de desenvolvedor da Vonage, acesse a Voice ChatGPT Bot (Java) CodeHub page. Na guia “Implantar código”, clique em “Implantar nova instância”.
Deploy Code Tab
Na janela pop-up, dê um nome à sua instância, escolha sua região da AWS, atribua um número de telefone da Vonage a este projeto e insira seu segredo da API da OpenAI. Clique em “Continuar”. Seu aplicativo aparecerá em “Instâncias implantadas”. Clique em “Iniciar” para iniciá-lo.
Create IstanceVocê será direcionado para uma nova página, na qual será solicitado que selecione um idioma. Depois de escolher o idioma de sua preferência, clique em “Definir idioma”.
Set Language
Como personalizar o código
Vá até a aba “Obter código” e clique em “Criar um novo ambiente de desenvolvimento”.
Get Code
Na janela pop-up, dê um nome à sua instância, escolha sua região da AWS, atribua a este projeto o mesmo número de telefone da Vonage usado anteriormente e digite novamente o segredo da API da OpenAI. Clique em “Continuar”. Você será então direcionado ao seu espaço de trabalho:
Cloud Runtime Assim que a área de trabalho estiver aberta, você verá que o aplicativo de exemplo já foi implantado e está pronto para uso! Ligue para o número de telefone da Vonage, faça uma pergunta e você deverá receber uma resposta.
Detalhamento do fluxo de chamadas
O aplicativo de exemplo que você vê no espaço de trabalho do Vonage Cloud Runtime já contém um código funcional que você pode incluir em seu próprio aplicativo. Esta seção irá guiá-lo pelo fluxo do aplicativo quando uma chamada é acionada, explicando como cada arquivo Java funciona nesse processo:
Chegada da chamada (
CallbackController.java): A chamada chega ao número de telefone da Vonage atribuído ao aplicativo.CallbackController.javaé o principal ponto de entrada da chamada, responsável por lidar com todos os eventos de entrada.Saudações e reconhecimento de fala (
VoiceCallService.java):VoiceCallService.javareproduz uma mensagem de saudação usando a funcionalidade de conversão de texto em fala (TTS) da Vonage. Em seguida, fica à escuta da fala do usuário por meio do recurso de reconhecimento de voz da Vonage. É nesse momento que o usuário faria sua pergunta.Tratamento de erros (
VoiceCallService.java): Se o reconhecimento de fala falhar,VoiceCallService.javareproduz uma mensagem de erro e repete a etapa 2.Integração com a OpenAI (
VoiceCallService.java): Se o reconhecimento de fala for bem-sucedido, a pergunta do usuário é extraída do texto reconhecido.VoiceCallService.javainterage comOpenAI.javapara enviar a pergunta ao serviço ChatGPT da OpenAI usando sua chave de API armazenada emVCRConfig.java.Geração de respostas (Externa – OpenAI): O ChatGPT da OpenAI gera uma resposta à pergunta do usuário.
Entrega da resposta (
VoiceCallService.java):VoiceCallService.javarecebe a resposta da OpenAI. Reproduz música de espera enquanto converte a resposta de texto em fala usando a funcionalidade TTS da Vonage (provavelmente configurada em LanguageModel.java). Por fim, a fala convertida é reproduzida para o usuário.
Arquivos adicionais:
Vonage.java: Oferece acesso às APIs da Vonage por meio de credenciais armazenadas emVCRConfig.java.VCRConfig.java: Armazena detalhes de configuração do Vonage e de outros serviços gerenciados pelo Spring Boot.LanguageReader.java: Lê a configuração de idioma de um arquivo JSON para opções de TTS e mensagens.ChatGptApplication.java: A classe principal do aplicativo que executa todo o processo como um aplicativo Spring Boot.
Junte-se à festa
Você criou com sucesso um bot de voz do ChatGPT usando a Voice API da Vonage e a API da OpenAI no Vonage Cloud Runtime! Você pode aprimorar ainda mais o bot adicionando seus próprios recursos. Nossa comunidade de desenvolvedores está crescendo no Slack, e adoraríamos que você fizesse parte dela. Se você acabar experimentando este tutorial, adoraria saber sua opinião. Fique à vontade para me marcar no X, antes conhecido como Twitter, e seguir minha equipe por lá também.