Postgres Q&A は、単語埋め込みと Postgres を使用してチャットボットを構築する方法を示すプロジェクトです。チャットボットは Vercel Edge Functions と @neondatabase/serverless ドライバーを使用して実装され、OpenAI の GPT-3 API を利用して応答を生成します。
このプロジェクトを開始するには、以下が必要です。
前提条件をインストールしたら、次の手順に従ってプロジェクトを起動して実行します。
リポジトリのクローンを作成します。
git clone https://github.com/neondatabase/postgres-qa.git
cd ask-postgres
このセクションは、OpenAI のクックブックの例から派生したものです。ここの Python コードを使用して Web クローラーを構築し、埋め込みの作成に必要なテキストを抽出できます。 https://www.postgresql.org/docs/ に基づいてテキスト ファイルがすでに作成されており、 data/text
ディレクトリにあります。
まず、 data
ディレクトリに移動して新しい環境を作成し、依存関係をインストールします。
cd data
python -m venv env
source env/bin/activate
pip install -r requirements.txt
スキーマをデータベースにインポートします。
psql < database-url > -f database.sql
次に、 DATABASE_URL
とOPENAI_API_KEY
環境変数に追加しましょう。
export DATABASE_URL= < YOUR_NEON_CONEECTION_STRING > OPENAI_API_KEY= < YOUR_OPENAI_API_KEY >
main.py
実行して、埋め込みを Neon データベースにインポートします。
python main.py
このセクションの処理には 10 分かかる場合があるため、コーヒーを飲みながらリラックスしてください。
期待される結果:
Saving to CSV...
Loading tokenizer...
Embedding text...
Connecting to database...
Done !
プロジェクトの依存関係をインストールします。
cd app
npm install
.env ファイルを作成する
touch .env.local
次の環境変数を設定します。
OPENAI_API_KEY= Your OpenAI API key.
DATABASE_URL= The connection URL for your Neon database.
サーバーを起動します。
npm run dev
このプロジェクトへの貢献を歓迎します。バグを見つけた場合、提案がある場合、またはコードを提供したい場合は、GitHub リポジトリで問題を開くかプル リクエストをオープンしてください。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。