Kit de démarrage GPT3 SMS Bot utilisant Twilio. Basé sur ce tutoriel.
Basé sur ce tutoriel. Une fois votre compte créé, utilisez cette commande pour créer un numéro de téléphone pouvant recevoir des messages SMS :
twilio phone-numbers:update PHONE_NUMBER --sms-url https://RANDOM_STRING.ngrok.io/messages
Vous aurez besoin que la CLI Twilio soit installée. Vous devrez passer à la version payante si vous souhaitez supprimer la marque Twilio des réponses SMS.
Installez les dépendances :
npm install
Copiez le fichier .env.example
dans .env
:
cp .env.example .env
Remplissez vos clés TWILIO et OPENAI, ainsi que votre PHONE_NUMBER personnel.
Compilez le projet :
npm run build
Notez que cela exécute le compilateur TypeScript, tsc
, vous pouvez également exécuter npx tsc
pour obtenir le même résultat.
Le projet TypeScript sera compilé dans le répertoire dist
. Vous pouvez également compiler en continu le projet au fur et à mesure de son évolution avec :
npm run watch
Démarrez le serveur Web avec :
npm start
Pour répondre à un webhook entrant, vous aurez besoin d'une URL accessible au public. ngrok est un outil qui peut passer d'une URL publique à votre machine. Une fois que vous avez téléchargé et installé ngrok, vous pouvez l'exécuter comme ceci :
ngrok http 3000
Le terminal ngrok vous montrera une URL, comme https://RANDOM_STRING.ngrok.io
.
En utilisant l'URL ngrok de la dernière partie, vous pouvez configurer votre numéro de téléphone Twilio avec votre application. Modifiez votre numéro de téléphone et dans la section Messagerie, à côté de "Un message arrive", saisissez votre URL ngrok avec le chemin /messages
.
https://RANDOM_STRING.ngrok.io/messages
Enregistrez le numéro de téléphone et vous êtes prêt. Envoyez un message à votre numéro et recevez une réponse. Tapez "reset" pour réinitialiser l'historique du fil de discussion et recommencer.
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 ,
} ) ;
Pour commencer à utiliser Promptable pour créer et récupérer vos invites, accédez à https://promptable.ai !
Ensuite, créez et déployez une invite et récupérez-la comme ceci
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!
Recevez des SMS sur votre Mac. https://support.apple.com/guide/messages/get-sms-texts-from-iphone-on-your-mac-icht8a28bb9a/mac
À FAIRE : Ajouter des chats vocaux :