Ein ChatGPT-SMS-Chatbot mit OpenAI und Node.js
Lesezeit: 3 Minuten
ChatGPT ging vor Kurzem viral. Dieser von OpenAI entwickelte Conversational Machine Learning (ML)-Chatbot kann Fragen beantworten, Zusammenfassungen geben, falsche Annahmen hinterfragen, Geschichten, Poesie erzeugen und vieles mehr. Lesen Sie weiter, um zu erfahren, wie Sie einen ChatGPT-ähnlichen SMS-Chatbot mit der OpenAI-API ,Twilio Programmable Messaging, dem Twilio Serverless Toolkit und Node.js erstellen.
ChatGPT und Node.js
GPT-3 (kurz für „Generative Pre-Training Transformer 3“) ist ein NLP-Modell (Natural Language Processing), das für menschengenerierten Text trainiert ist. In Antwort auf eine Frage kann er menschenähnliche Texte in einer Vielzahl von Sprachen und Stilen generieren. Hier schicke ich ihm die folgende Aufforderung: „Gib mir einen Rap-Text über SendGrid.“
Falls Sie es selbst testen möchten, können Sie ChatGPT hier im Browser testen.
Das GPT-3-Modell verwendet eine Transformer-Architektur. Dieses mehrschichtige neuronale Netzwerk eignet sich gut zur Verarbeitung sequenzieller Daten wie Text. Zu den sprachbezogenen Aufgaben, die es ausführen kann, gehören Übersetzung, Zusammenfassung und Beantwortung von Fragen sowie eine Textgenerierung, die mit der menschlichen vergleichbar ist.
Um ChatGPT in einer Node.js-Anwendung zu imitieren, müssen Sie OpenAI-API verwenden.
Voraussetzungen
- Ein Twilio-Konto – Melden Sie sich hier für ein kostenloses Twilio-Konto an
- Eine Twilio-Telefonnummer mit SMS-Funktionen – Erfahren Sie hier, wie Sie eine Twilio-Telefonnummer kaufen können
- OpenAI-Konto: Erstellen Sie hier ein OpenAI-Konto
- Node.js muss installiert sein – Laden Sie Node.js hier herunter
Erste Schritte mit OpenAI
Nachdem Sie ein OpenAI-Konto erstellt haben, benötigen Sie einen API-Schlüssel. Sie können hier einen OpenAI-API-Schlüssel erhalten, indem Sie auf + Create new secret key (Neuen geheimen Schlüssel erstellen) klicken.
Speichern Sie diesen API-Schlüssel für später, um die OpenAI-Clientbibliothek in Ihrer Twilio Function zu verwenden.
Erste Schritte mit dem Twilio Serverless Toolkit
Das Serverless Toolkit ist ein CLI-Tool der Twilio CLI, mit dem Sie Twilio Functions lokal entwickeln und in Twilio Functions & Assets bereitstellen können. Wenn die Twilio-CLI noch nicht installiert ist, führen Sie die folgenden Befehle in der Befehlszeile aus, um diese und das Serverless Toolkit zu installieren:
Legen Sie danach Ihr neues Projekt an und installieren Sie das openai Package:
Festlegen einer Umgebungsvariable mit Twilio Functions and Assets
Öffnen Sie Ihre .env-Datei für Ihr Functions-Projekt in Ihrem Stammverzeichnis und fügen Sie die folgende Zeile hinzu:
Ersetzen Sie YOUR-OPENAI-API-KEY
mit dem OpenAI-API-Schlüssel, den Sie sich zuvor notiert haben. Sie können jetzt auf diesen API-Schlüssel in Ihrem Code mit context.OPENAI_API_KEY
zugreifen.
Erstellen einer Twilio Function mit JavaScript
Erstellen Sie eine neue Datei im /functions
Verzeichnis chatgpt.js, das den folgenden Code enthält:
Dieser Code importiert openAI
und erstellt eine asynchrone Funktion, die ein Twilio Messaging Response-Objekt und eine Variable inbMsg
aus der eingehenden Textnachricht enthält, in die Benutzer:innen Text eingeben. Anschließend nutzt er den Configuration
-Konstruktor, der denapiKey
enthält. Die Funktion ruft dann die openai.createCompletion
-Funktion auf, um mit einem ihrer Sprachmodelle Texte basierend auf inbMsg
zu generieren. Das model
gibt das OpenAI-Sprachmodell an, das verwendet wird, um eine Antwort für den Text zu generieren. In diesem Tutorial verwenden Sie das text-davinci-003
-Sprachmodell. Es handelt sich um das gleiche Sprachmodell, das auch im Hintergrund von ChatGPT verwendet wird. Die OpenAI-Dokumente listen die anderen Sprachmodelle auf, die zur Verwendung angeboten werden.
Wir weisen dem Funktionsaufruf außerdem die SMS-Eingabe mittels der prompt
-Eigenschaft zu.
Die optionalen Parameter max_tokens
und frequency_penalty
geben die maximale Länge der Antwort und den Aufwand an, den das Modell betreiben soll, um sich nicht zu wiederholen. Weitere optionale Eigenschaften zum Abschluss finden Sie hier in der OpenAI-Dokumentation.
Sie können den vollständigen Quellcode auf GitHub hier einsehen.
Konfigurieren der Function mit einer Twilio-Telefonnummer
Um Ihre Function in der Twilio Cloud zu installieren, führen Sie sie twilio serverless:deploy
aus dem Stammverzeichnis chatgpt-sms aus. Die URL Ihrer Function sollte unten in Ihrem Terminal angezeigt werden:
Wählen Sie die Function-URL aus, die Ihrer App entspricht (die auf /chatgpt endet), und konfigurieren Sie eine Twilio-Telefonnummer wie unten gezeigt:
Wählen Sie die Twilio-Nummer aus, die Sie in Ihrer Twilio Konsole erworben haben, und scrollen Sie hinunter zum Abschnitt Messaging. Fügen Sie den Link in das Textfeld für den WebHook A MESSAGE COMES IN (EINGEHENDE NACHRICHT) ein, um sicherzustellen, dass er auf HTTP POST eingestellt ist. Wenn Sie auf Save (Speichern) klicken, wird Folgendes angezeigt:
Der Service (Dienst) ist der Serverless-Projektname, die Umgebung bietet nur eine Auswahloption und der Function-Pfad ist der Dateiname, also /chatgpt. Nehmen Sie nun Ihr Telefon und stellen Sie eine Frage oder Aufforderung an Ihre Twilio-Nummer.
Was kommt als Nächstes bei Twilio Serverless und ChatGPT?
Die Entwicklungsmöglichkeiten, die ChatGPT und Twilio bieten, sind endlos. Sie können einen SMS-Chatbot mit Python erstellen, einen KI-Freund anrufen, über WhatsApp mit einem KI-Kochprofi chatten und vieles mehr. Lassen Sie mich wissen, woran Sie mit OpenAI arbeiten (bitte auf Englisch, da dieser Artikel übersetzt wurde). Ich bin gespannt, was Sie damit entwickeln.
- Twitter: @lizziepika
- GitHub: elizabethsiegle
- E-Mail: lsiegle@twilio.com
Verwandte Posts
Ähnliche Ressourcen
Twilio Docs
Von APIs über SDKs bis hin zu Beispiel-Apps
API-Referenzdokumentation, SDKs, Hilfsbibliotheken, Schnellstarts und Tutorials für Ihre Sprache und Plattform.
Ressourcen-Center
Die neuesten E-Books, Branchenberichte und Webinare
Lernen Sie von Customer-Engagement-Experten, um Ihre eigene Kommunikation zu verbessern.
Ahoy
Twilios Entwickler-Community-Hub
Best Practices, Codebeispiele und Inspiration zum Aufbau von Kommunikations- und digitalen Interaktionserlebnissen.