GPT3 SMS Bot Starter Kit mit Twilio. Basierend auf diesem Tutorial.
Basierend auf diesem Tutorial. Nachdem Ihr Konto erstellt wurde, verwenden Sie diesen Befehl, um eine Telefonnummer zu erstellen, die SMS-Nachrichten empfangen kann:
twilio phone-numbers:update PHONE_NUMBER --sms-url https://RANDOM_STRING.ngrok.io/messages
Sie müssen die Twilio-CLI installiert haben. Sie müssen ein „Upgrade“ auf die kostenpflichtige Version durchführen, wenn Sie das Twilio-Branding aus den SMS-Antworten entfernen möchten.
Installieren Sie die Abhängigkeiten:
npm install
Kopieren Sie die Datei .env.example
nach .env
:
cp .env.example .env
Geben Sie Ihre TWILIO- und OPENAI-Schlüssel sowie Ihre persönliche PHONE_NUMBER ein.
Kompilieren Sie das Projekt:
npm run build
Beachten Sie, dass dadurch der TypeScript-Compiler tsc
ausgeführt wird. Sie können auch npx tsc
ausführen, um die gleiche Ausgabe zu erhalten.
Das TypeScript-Projekt wird in das dist
-Verzeichnis kompiliert. Sie können das Projekt auch fortlaufend kompilieren, wenn es sich ändert mit:
npm run watch
Starten Sie den Webserver mit:
npm start
Um auf einen eingehenden Webhook zu antworten, benötigen Sie eine öffentlich verfügbare URL. ngrok ist ein Tool, das einen Tunnel von einer öffentlichen URL zu Ihrem Computer herstellen kann. Sobald Sie ngrok heruntergeladen und installiert haben, können Sie es wie folgt ausführen:
ngrok http 3000
Das ngrok-Terminal zeigt Ihnen eine URL wie https://RANDOM_STRING.ngrok.io
an.
Mithilfe der ngrok-URL aus dem letzten Teil können Sie Ihre Twilio-Telefonnummer mit Ihrer Anwendung einrichten. Bearbeiten Sie Ihre Telefonnummer und geben Sie im Abschnitt „Nachrichten“ neben „Wenn eine Nachricht eingeht“ Ihre Ngrok-URL mit dem Pfad /messages
ein.
https://RANDOM_STRING.ngrok.io/messages
Speichern Sie die Telefonnummer und Sie sind bereit. Senden Sie Ihrer Nummer eine Nachricht und erhalten Sie eine Antwort. Geben Sie „Reset“ ein, um den Chat-Thread-Verlauf zurückzusetzen und erneut zu starten.
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 ,
} ) ;
Um mit Promptable zum Erstellen und Abrufen Ihrer Eingabeaufforderungen zu beginnen, gehen Sie zu https://promptable.ai!
Erstellen Sie dann eine Eingabeaufforderung, stellen Sie sie bereit und rufen Sie sie wie folgt ab
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!
Erhalten Sie SMS-Nachrichten auf Ihrem Mac. https://support.apple.com/guide/messages/get-sms-texts-from-iphone-on-your-mac-icht8a28bb9a/mac
TODO: Sprachchats hinzufügen: