Postgres Q&A est un projet qui montre comment utiliser l'intégration de mots et Postgres pour créer un chatbot. Le chatbot est implémenté à l'aide de Vercel Edge Functions et du pilote @neondatabase/serverless, et s'appuie sur l'API GPT-3 d'OpenAI pour générer des réponses.
Pour démarrer ce projet, vous aurez besoin d'avoir :
Une fois les prérequis installés, suivez ces étapes pour que le projet soit opérationnel :
Clonez le dépôt :
git clone https://github.com/neondatabase/postgres-qa.git
cd ask-postgres
Cette section est dérivée de l'exemple de livre de recettes d'OpenAI. Vous pouvez utiliser le code Python ici pour créer un robot d'exploration Web et extraire le texte dont vous avez besoin pour créer des intégrations. Nous avons déjà créé les fichiers texte basés sur https://www.postgresql.org/docs/, que vous pouvez trouver dans le répertoire data/text
.
Pour commencer, accédez au répertoire data
, créez un nouvel environnement et installez les dépendances :
cd data
python -m venv env
source env/bin/activate
pip install -r requirements.txt
Importez le schéma dans votre base de données :
psql < database-url > -f database.sql
Ajoutons maintenant DATABASE_URL
et OPENAI_API_KEY
à nos variables d'environnement :
export DATABASE_URL= < YOUR_NEON_CONEECTION_STRING > OPENAI_API_KEY= < YOUR_OPENAI_API_KEY >
Exécutez main.py
pour importer l'intégration dans votre base de données Neon :
python main.py
Détendez-vous et prenez une tasse de café car le traitement de cette section peut prendre 10 minutes !
Résultat attendu :
Saving to CSV...
Loading tokenizer...
Embedding text...
Connecting to database...
Done !
Installez les dépendances du projet :
cd app
npm install
Créer un fichier .env
touch .env.local
Définissez les variables d'environnement suivantes :
OPENAI_API_KEY= Your OpenAI API key.
DATABASE_URL= The connection URL for your Neon database.
Démarrez le serveur :
npm run dev
Nous apprécions les contributions à ce projet ! Si vous trouvez un bug, avez une suggestion ou souhaitez contribuer au code, veuillez ouvrir un ticket ou une pull request sur le référentiel GitHub.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus d'informations.