Kit inicial de bot SMS GPT3 usando Twilio. Baseado neste tutorial.
Baseado neste tutorial. Depois que sua conta for criada, use este comando para criar um número de telefone que possa receber mensagens SMS:
twilio phone-numbers:update PHONE_NUMBER --sms-url https://RANDOM_STRING.ngrok.io/messages
Você precisará da CLI do Twilio instalada. Você precisará “atualizar” para pago se quiser remover a marca Twilio das respostas SMS.
Instale as dependências:
npm install
Copie o arquivo .env.example
para .env
:
cp .env.example .env
Preencha suas chaves TWILIO e OPENAI e seu PHONE_NUMBER pessoal.
Compile o projeto:
npm run build
Observe que isso executa o compilador TypeScript, tsc
, você também pode executar npx tsc
para obter a mesma saída.
O projeto TypeScript será compilado no diretório dist
. Você também pode compilar continuamente o projeto conforme ele muda com:
npm run watch
Inicie o servidor web com:
npm start
Para responder a um webhook recebido, você precisará de um URL disponível publicamente. ngrok é uma ferramenta que pode passar de uma URL pública para sua máquina. Depois de baixar e instalar o ngrok, você pode executá-lo assim:
ngrok http 3000
O terminal ngrok mostrará um URL, como https://RANDOM_STRING.ngrok.io
.
Usando o URL do ngrok da última parte, você pode configurar seu número de telefone Twilio com seu aplicativo. Edite seu número de telefone e na seção Mensagens, ao lado de quando "Uma mensagem chega", insira seu URL do ngrok com o caminho /messages
.
https://RANDOM_STRING.ngrok.io/messages
Salve o número de telefone e você estará pronto. Envie uma mensagem para seu número e receba uma resposta. Digite “reset” para redefinir o histórico do tópico de bate-papo e voltar novamente.
fly launch (if it's the first time)
# update fly.toml internal port to 3000
fly deploy
# Set your secrets from .env
fly secrets set --app gpt3-chat TWILIO_ACCOUNT_SID= TWILIO_AUTH_TOKEN= TWILIO_PHONE_NUMBER= OPENAI_API_KEY=
const { Configuration , OpenAIApi } = require ( "openai" ) ;
const configuration = new Configuration ( {
apiKey : process . env . OPENAI_API_KEY ,
} ) ;
const openai = new OpenAIApi ( configuration ) ;
const response = await openai . createCompletion ( {
model : "text-davinci-003" ,
prompt : "Please reply to the chat below:n" ,
temperature : 0.7 ,
max_tokens : 256 ,
top_p : 1 ,
frequency_penalty : 0 ,
presence_penalty : 0 ,
} ) ;
Para começar a usar o Promptable para criar e buscar seus prompts, acesse https://promptable.ai!
Em seguida, crie e implante um prompt e busque-o assim
const { data } = await axios.get(`https://promptable.ai/api/prompt/<YOUR PROMPT ID HERE>/deployment/active`);
const { text, configs } = data // get your prompt text and configs
//... now use it in the chat bot!
Receba mensagens SMS no seu Mac. https://support.apple.com/guide/messages/get-sms-texts-from-iphone-on-your-mac-icht8a28bb9a/mac
TODO: Adicionar bate-papos de voz: