Update (November 2023): Neue GPT-3.5-Turbo-Version zu bevorzugen. Ich habe eine neue Version hinzugefügt, die die Chat Completion API unterstützt (getestet mit GPT-3.5-Turbo). Entsprechende Unterordner ( gpt-3
, gpt-35-turbo
) enthalten nun die Original- und die neue Version. Abgesehen von der Modelländerung und den entsprechenden Anpassungen sind sie gleich, aber gpt-35-turbo
ist zu bevorzugen, da die GPT-3-Vervollständigung veraltet ist.
Braindump ist eine Prototyp-Anwendung zum Erstellen von Notizen und deren Konvertierung in eine Datenbank, die einfacher abgefragt werden kann. Geben Sie einfach ein, was Ihnen durch den Kopf geht, und die Anwendung klassifiziert, segmentiert und speichert es für die spätere Verwendung. Es wurde als Demo erstellt, um zu zeigen, wie man GPT-3 zum Erstellen von Anwendungen nutzen kann, beginnend mit Proof-of-Concept, wie in meinem Data Science @ Microsoft-Tutorial „Erstellen von GPT-3-Anwendungen – jenseits der Eingabeaufforderung“ beschrieben. Sie können es sowohl zum Verfolgen des Tutorials als auch als Ausgangspunkt für Ihre eigenen Studien und Anwendungen verwenden (z. B. durch Wiederverwendung der Hilfsfunktionen und übergeordneten Programmstrukturen in Ihren eigenen, unterschiedlichen Problemen).
Es handelt sich um eine einfache Python-Anwendung, die Streamlit nutzt, um eine Weboberfläche bereitzustellen. Um das GPT-3-Modell tatsächlich aufzurufen, benötigen Sie einen funktionierenden OpenAI-API-Schlüssel. Zum Zeitpunkt der Erstellung dieses Artikels erhalten Sie nach der Erstellung Ihres Kontos einige kostenlose Credits, die ausreichen sollten, um dem Tutorial zu folgen und mit der Anwendung zu beginnen. Anstelle des ursprünglichen OpenAI-Angebots sollte die Anwendung auch mit dem Azure OpenAI Service funktionieren, obwohl ich sie dort noch nicht getestet habe.
Dieses Repository umfasst neben der Anwendung selbst auch die Studien in Form von Jupyter-Notizbüchern, die zu dieser Anwendung geführt haben.
Die Benutzeroberfläche für die Suche sieht folgendermaßen aus:
Um Fakten hinzuzufügen, sieht die Benutzeroberfläche wie folgt aus, einschließlich einer optionalen manuellen Überprüfung der Modellinterpretation:
Die Anwendung wurde auf Python 3.8 (GPT-3) und 3.10 (GPT-3.5-Turbo) getestet. Die wichtigsten Bibliotheken, die Sie benötigen, sind: openai
, streamlit
, pandas
, notebook
, pytest
. Sie können sie manuell installieren oder dem folgenden Verfahren folgen, um eine neue Umgebung zu erstellen und sie automatisch zu installieren. Beachten Sie, dass Sie für die ältere Codebasis eine ältere Version der openai
-Bibliothek benötigen.
So führen Sie die Anwendung aus:
conda create -n braindump_py310 python=3.10
eine neue Umgebung nur für diese Anwendung erstellenconda activate braindump_py310
requirements.txt
aufgeführten Abhängigkeiten. Sie können dies tun, indem Sie pip install -r requirements.txt
im Stammverzeichnis des Projekts ausführen. Verwenden Sie für die ursprüngliche GPT-3-Version (veraltet) stattdessen requirements.gpt3.txt
, um die älteren Abhängigkeiten abzurufen, die für den Betrieb erforderlich sind.OPENAI_API_KEY
zur Verfügung.run.gpt3.bat
(GPT-3-Version) oder run.gpt35turbo.bat
(GPT-3.5-Turbo-Version); unter Linux: run.gpt3.sh
(GPT-3-Version) oder run.gpt35turbo.sh
(GPT-3.5-Turbo-Version).So führen Sie die Studien durch:
notebooks/
mit Ihrem bevorzugten Jupyter-Client (ich persönlich verwende dafür häufig VS-Code). Das Projekt ist wie folgt aufgebaut:
notebooks/
: Jupyter-Notebooks für schnelles Engineering.src/
: Quellcode für die endgültige Anwendung.src/gpt-3
: Quellen für die ursprüngliche GPT-3-Version (veraltet).src/gpt-3.5-turbo
: Quellen für die GPT-3.5-Turbo-Version ( empfohlen seit November 2023).data/
: Von der Anwendung gespeicherte Daten.tests/
: Unit-Tests für die Anwendung.tests/gpt-3/
: Tests für die ursprüngliche GPT-3-Version (veraltet).tests/gpt-3.5-turbo/
: Tests für die GPT-3.5-Turbo-Version ( empfohlen seit November 2023).docs/
: Dokumentation und zugehörige Assets. Der Ansatz wird in meinem Data Science @ Microsoft-Tutorial „Erstellen von GPT-3-Anwendungen – jenseits der Eingabeaufforderung“ ausführlich vorgestellt. Dennoch möchte ich hier einige wichtige Punkte hervorheben:
Bezüglich konkreter Phasen empfiehlt sich Folgendes
MIT-Lizenz
Copyright (c) 2023 Paulo Salem da Silva
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern und Zusammenführen , Kopien der Software zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen und Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, WEDER AUS EINER VERTRAGLICHEN HANDLUNG, AUS HANDLUNG ODER ANDERWEITIG, DIE SICH AUS, AUS ODER IN ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER SOFTWARE ERGEBEN SOFTWARE.