
Compartilhar:
Michael Crump trabalha na Vonage, na equipe de Experiências do Desenvolvedor, e é programador, YouTuber e palestrante frequente sobre diversos temas relacionados ao .NET e ao desenvolvimento em nuvem e de comunicações. Ele se dedica a ajudar os desenvolvedores a compreender os benefícios de cada um desses temas de maneira prática e direta.
Crie um serviço de respostas a perguntas frequentes com a OpenAI e o Vonage AI Studio
Tempo de leitura: 6 minutos
Observação: A OpenAI alterou sua política relativa ao uso gratuito de sua API. Agora, é necessário pagar para acessá-la
ChatGPT é um modelo de linguagem conversacional de última geração desenvolvido pela OpenAI. Ele é baseado no arquitetura Transformer e foi treinado com uma ampla variedade de textos da internet, o que lhe permite gerar respostas semelhantes às de um ser humano para diversas perguntas e solicitações. Ele também pode escrever programas de computador, compor músicas, escrever poesia e muito mais! Abaixo está um exemplo de poema que ele escreveu para as APIs de Comunicação da Vonage.
vonagepoem.png
Como você pode ver, o ChatGPT é muito poderoso. Hoje vamos usar a API do GPT para criar um serviço de respostas a perguntas frequentes (FAQ) com o o Vonage AI Studio, uma plataforma de IA conversacional do tipo Low-Code/No-Code que ajuda as empresas a lidar com interações complexas com clientes por meio de Voice e texto.
Quais são os benefícios de usar o GPT 3.5 Turbo como modelo base em um serviço de respostas a perguntas frequentes com o Vonage AI Studio? Como a OpenAI utiliza Modelos de Linguagem de Grande Porte (LLM) , isso reduz o tempo gasto no treinamento de um agente. Em vez de criar manualmente intenções e conjuntos de atividades, os desenvolvedores podem inserir um grande volume de texto e definir opções alternativas com respostas personalizadas. Além disso, isso permite ajustar o agente para responder a consultas que vão além dos dados de treinamento fornecidos.
Por exemplo, hoje podemos treinar nosso modelo inserindo perguntas de clientes em potencial, criando intenções para cada pergunta, lidando com as expressões dos usuários, testando a incompatibilidade de entradas e otimizando com base nos resultados. Já amanhã, treinaremos nossos dados inserindo um grande volume de texto, em vez de intenções, e criando opções alternativas com respostas personalizadas.
Pré-requisitos
Antes de começar, certifique-se de ter concluído o seguinte:
A Account de desenvolvedor da Vonage - Se você ainda não tiver uma, pode criar uma, e nós lhe daremos crédito gratuito para você experimentar nossas APIs.
Uma Account na OpenAI e uma chave de API são gratuitas e necessárias para obter uma resposta à entrada do usuário. Usaremos o GPT 3.5 Turbo como modelo base para este exemplo. Você pode saber mais sobre esse modelo e outros acessando a documentação. * Clique em “Criar nova chave secreta” e guarde as informações em um local seguro, pois vamos usá-las mais tarde. Veja o exemplo abaixo.
ngrok - É necessária uma conta gratuita. Essa ferramenta permite que os desenvolvedores exponham um servidor de desenvolvimento local à Internet.
Python está instalado — no momento, estou usando a versão 3.11.1 para este artigo.
Pip está instalado — Verifique novamente se você consegue executar
pipa partir do seu terminal ou linha de comando.
apikeys.png
Criação do servidor
Precisaremos criar um aplicativo de servidor ao qual o AI Studio fará uma chamada assim que o usuário digitar uma pergunta pelo celular.
Para isso, vamos usar um pequeno script em Python para iniciar um servidor na porta 9000 usando nossas credenciais da OpenAI. Observe que estou usando Python, mas você pode criar o mesmo código na linguagem de sua preferência.
from datetime import datetime, timedelta
import os
from pickle import TRUE
from urllib import response
import openai
from PIL import Image
from flask import Flask, request, jsonify, render_template, Response, redirect
from flask_login import LoginManager, UserMixin, login_required, login_user
application = Flask(__name__)
app = application
openai_key = 'YOUR-OWN-OPENAI-API-KEY'
openai.api_key = openai_key
@app.route("/webhook", methods=["POST"])
def webhook():
input = request.headers.get('input')
completions = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user",
"content": input},
]
)
response = completions.choices[0].message.content
return {'res': response.strip()}
if __name__ == '__main__':
app.run(port=9000, host='0.0.0.0', debug=True) # run app in debug mode on port 5000Para usar este código:
Copie todo o código Python fornecido para um arquivo chamado
application.py.Substitua SUA-PRÓPRIA-CHAVE-DA-API-DA-OPENAI pela chave da API da OpenAI que criamos anteriormente.
Instale todos os pacotes dos quais o script depende
sudo pip install openai- Para bibliotecas da OpenAIsudo pip install flask_login- Para o nosso sitesudo pip install pillow- Para bibliotecas de imagens
Assim que o aplicativo for iniciado com sucesso, você receberá uma URL de implantação. Por exemplo, a minha é http://10.0.0.190:9000/, e para acessarmos essa URL pelo AI Studio, precisaremos usar algo como ngrok.
Executar o ngrok
O ngrok é um aplicativo multiplataforma que permite aos desenvolvedores expor um servidor de desenvolvimento local à Internet com o mínimo de esforço. Vamos usá-lo para expor nosso serviço à Internet. Se esta for a primeira vez que você usa o ngrok, uma postagem no blog explica isso com mais detalhes. Depois de configurar o ngrok e fazer login (novamente, a conta gratuita é suficiente), execute o seguinte comando:
ngrok http 9000Depois que o ngrok for executado, ele fornecerá uma URL de encaminhamento que usaremos como base para nossos webhooks mais adiante neste artigo. A minha é semelhante a esta:
ngrokrunning.png
Agora, se eu quisesse acessar meu servidor Python local pelo AI Studio, usaria o endereço de encaminhamento mostrado na captura de tela.
AI Studio
Acesse o página inicial do Vonage AI Studio e clique no botão “Criar agente”. Você verá uma opção para escolher o tipo de agente que deseja criar.
agent-creation.png
Para começar, selecione o Agente de Telefonia e pressione “Avançar”, já que queremos criar um cenário de chamada de voz que você possa usar no seu celular.
Precisaremos preencher alguns detalhes aqui:
Região: Onde seu Agente será normalmente utilizado — nos EUA ou na Europa?
Nome do agente: Dê ao seu agente um nome exclusivo que seja significativo para você.
Idioma: Selecione o idioma do seu Agente.
Voices: Escolha qualquer Voice (estou usando a do Matthew).
Fuso horário: Escolha o fuso horário em que seu agente irá operar.
Em seguida, vem a opção de escolher um modelo, e você pode ver alguns dos outros modelos disponíveis para diferentes tipos de Agente. Neste caso, vamos selecionar “Começar do zero” e clicar em “Próximo”.
Por fim, temos a opção de Selecionar Evento. Os eventos acionam seu Agente, sejam eles iniciados por um usuário ou pelo próprio Agente. Usaremos uma Chamada recebida e clicar em Criar para este exemplo.
A seguir, você verá a interface principal do AI Studio! Se quiser uma introdução sobre o que ele é capaz de fazer, acesse aqui.
Para simplificar, vamos usar o seguinte fluxo de conversa:
simpledesignlayout.png
Nós acrescentamos:
2 parâmetros para armazenar o valor inserido pelo usuário e a resposta fornecida pela OpenAI.
Parâmetros personalizados
Nome: AGENT_RES e a entidade é @sys.any
Nome: INPUT e a entidade é @sys.any
Nó de Coleta de Entrada — Que dá as boas-vindas ao usuário e coleta suas entradas.
Parâmetro: Use o parâmetro INPUT que criamos na etapa anterior.
Texto de prompt: Bem-vindo à seção de perguntas frequentes da Vonage! Digite sua pergunta e faremos o possível para respondê-la!
Ao executarmos o Agente, usaremos uma linguagem que qualquer pessoa poderia usar em uma conversa normal, como “Onde fica a sede da Vonage?” ou “Quais APIs de comunicação a Vonage suporta?”.
Nó de Webhook -
URL da solicitação
Tipo de solicitação: POST
URL — Deve ficar mais ou menos assim, mas substitua a minha URL do ngrok pela sua https://db20-2601-600-9580-d650-cfa-951f-cdef-d1d5.ngrok.io/webhook
Títulos:
Cabeçalho HTTP - INPUT e o valor é $INPUT
Mapeamento de respostas:
Caminho do objeto - res
O valor é $AGENT_RES
Speak Node - Para exibir os resultados do OpenAI.
Texto - Sua resposta é: $AGENT_RES
Nó de encerramento da chamada — Para encerrar a conversa assim que o fluxo da conversa for concluído.
Vamos executar o aplicativo pressionando o botão botão “Tester” no canto superior direito da tela e ver que tipo de resultado obtemos. Para começar, vemos a mensagem de boas-vindas junto com a primeira pergunta. O usuário pode digitar: “Onde fica a sede da Vonage?". O Agente Virtual responde com uma mensagem recebida da OpenAI, que diz o seguinte:
chatgpt-example1.png
Ou talvez você queira fazer uma pergunta mais aberta, como “Quais APIs de comunicação a Vonage oferece?”. E você receberá a seguinte resposta:
chatgpt-example2.png
A API do GPT também oferece suporte ao tratamento de múltiplas intenções, o que ocorre quando você tem uma entrada com mais de uma intenção, e o sistema lida com ambas. Um ótimo exemplo disso seria perguntar: “Onde fica a sede da Vonage e quando a empresa foi fundada?” Você pode se surpreender com o resultado!
chatgpt-example3.png
Conclusão
Vimos como é possível implementar a API GPT da OpenAI no AI Studio da Vonage em menos tempo do que leva para almoçar! Ao automatizar uma seção de perguntas frequentes (neste exemplo), você pode economizar horas que um funcionário comum levaria para coletar os dados e elaborar uma resposta. Você também pode tentar publicar o Agente e testá-lo com seu celular!
Além disso, observe que a integração atual por meio de webhooks é uma solução de curto prazo, e planejamos desenvolver nós dedicados para oferecer suporte ao LLM até o final do segundo trimestre de 2023.
Então, o que você está esperando? Experimente a API do GPT e o Vonage AI Studio hoje mesmo! Além disso, se você tiver dúvidas ou sugestões, junte-se a nós no Slack para desenvolvedores da Vonage ou me mande um tweet no Twitter, e eu entrarei em contato com você. Mais uma vez, obrigado pela leitura, e nos vemos no próximo artigo!
Compartilhar:
Michael Crump trabalha na Vonage, na equipe de Experiências do Desenvolvedor, e é programador, YouTuber e palestrante frequente sobre diversos temas relacionados ao .NET e ao desenvolvimento em nuvem e de comunicações. Ele se dedica a ajudar os desenvolvedores a compreender os benefícios de cada um desses temas de maneira prática e direta.