Postgres Q&A ist ein Projekt, das zeigt, wie man mithilfe von Worteinbettungen und Postgres einen Chatbot erstellt. Der Chatbot wird mithilfe von Vercel Edge Functions und dem @neondatabase/serverless-Treiber implementiert und basiert auf der GPT-3-API von OpenAI, um Antworten zu generieren.
Um mit diesem Projekt beginnen zu können, benötigen Sie Folgendes:
Sobald Sie die Voraussetzungen installiert haben, befolgen Sie diese Schritte, um das Projekt zum Laufen zu bringen:
Klonen Sie das Repository:
git clone https://github.com/neondatabase/postgres-qa.git
cd ask-postgres
Dieser Abschnitt ist aus dem Kochbuchbeispiel von OpenAI abgeleitet. Sie können den Python-Code hier verwenden, um einen Webcrawler zu erstellen und den Text zu extrahieren, den Sie zum Erstellen von Einbettungen benötigen. Wir haben die Textdateien bereits auf Basis von https://www.postgresql.org/docs/ erstellt, die Sie im Verzeichnis data/text
finden.
Wechseln Sie zunächst in das data
, erstellen Sie eine neue Umgebung und installieren Sie die Abhängigkeiten:
cd data
python -m venv env
source env/bin/activate
pip install -r requirements.txt
Importieren Sie das Schema in Ihre Datenbank:
psql < database-url > -f database.sql
Fügen wir nun DATABASE_URL
und OPENAI_API_KEY
zu unseren Umgebungsvariablen hinzu:
export DATABASE_URL= < YOUR_NEON_CONEECTION_STRING > OPENAI_API_KEY= < YOUR_OPENAI_API_KEY >
Führen Sie main.py
aus, um die Einbettung in Ihre Neon-Datenbank zu importieren:
python main.py
Entspannen Sie sich und trinken Sie eine Tasse Kaffee, da die Bearbeitung dieses Abschnitts 10 Minuten dauern kann!
Erwartetes Ergebnis:
Saving to CSV...
Loading tokenizer...
Embedding text...
Connecting to database...
Done !
Installieren Sie die Projektabhängigkeiten:
cd app
npm install
Erstellen Sie eine .env-Datei
touch .env.local
Legen Sie die folgenden Umgebungsvariablen fest:
OPENAI_API_KEY= Your OpenAI API key.
DATABASE_URL= The connection URL for your Neon database.
Starten Sie den Server:
npm run dev
Wir freuen uns über Beiträge zu diesem Projekt! Wenn Sie einen Fehler finden, einen Vorschlag haben oder Code beisteuern möchten, öffnen Sie bitte ein Issue oder eine Pull-Anfrage im GitHub-Repository.
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der LICENSE-Datei.