法律文書出典:https://github.com/lawrefbook/laws
プロジェクトテンプレート:https://github.com/supabase-community/nextjs-openai-doc-search
このプロジェクトは、 pagesディレクトリからすべての.mdxファイルを取得し、それらをOpenAIテキストオートコンプリートプロンプトで使用するためのカスタムコンテキストに処理します。
![]() スマートライティングアシスタント | ![]() AI百科事典 | ![]() プロンプトジェネレーター |
![]() AI翻訳の専門家 | ❤️報酬とスポンサーシップ❤️ |
このスターターをVercelに展開します。 Supabase Integrationは、必要な環境変数を自動的に設定し、データベースプロファイルを構成します。 OPENAI_KEYを設定するだけで、準備ができています!
ポスターは、チュートリアルの作成を手伝ってくれたGojunに感謝します:https://eibot3u32o.feishu.cn/docx/l46pdp3fjoupuvxanzpckkctno3
独自のカスタムChatGPTを構築するには、4つのステップが必要です。
pagesフォルダーの.mdxファイル)。手順1と2は、VercelがNext.jsアプリケーションをビルドするときなど、ビルド時に発生します。この時点で、 generate-embeddingsスクリプトが実行され、次のタスクが実行されます。
Sequendediagram
参加者vercel
参加者DB(PGVector)
参加者Openai(API)
ループ1。プリプロセッシングナレッジベースvercel- >> vercel:.mdxページをパーツループ2に分割します。
vercel- >> db(pgvector):ページパーツの端を埋め込みます
終わり
埋め込みベクトルの保存に加えて、このスクリプトは各.mdxファイルのチェックサムを生成し、別のデータベーステーブルに保存して、ファイルが変更された場合にのみ埋め込みベクターが再生されるようにします。
ステップ3と4は、実行時に、つまりユーザーが問題を提出するときに発生します。これが発生したら、次の一連のタスクを実行します。
Sequendediagram
参加者クライアント
参加者のエッジ関数
参加者DB(PGVector)
参加者Openai(API)
クライアント - >>エッジ関数:{query:lorem ispum}
クリティカル3。ベクトルの類似性検索エッジ関数を実行 - >> openai(API):クエリの埋め込みOpenai(API)を作成 - >>エッジ関数:埋め込みベクター(1536)
エッジ関数 - >> db(pgvector):ベクター類似性検索DB(pgvector) - >>エッジ関数:関連ドキュメントコンテンツの終了
クリティカル4。プロンプトエッジ関数にコンテンツを注入 - >> openai(API):リクエストプロンプト:クエリ +関連ドキュメントコンテンツopenai(API) - >>クライアント:テキスト/イベントストリーム:応答終了の自動完了
これはSearchDialog(客户端)コンポーネントとvector-search(边缘函数)を担当する関連ファイルです。
pgvector拡張の設定を含むデータベースの初期化は、 supabase/migrationsフォルダーに保存され、 supabase startが実行されたときにローカルPostgreSQLインスタンスに自動的に適用されます。
cp .env.example .env.envファイルにOPENAI_KEY設定します。Dockerがインストールされ、ローカルで実行されていることを確認してください。その後、実行します
npx supabase start新しいターミナルウィンドウで実行します
pnpm devこのスターターをバージュに展開するだけです。 Supabase統合は、必要な環境変数を自動的に設定し、データベーススキーマを構成します。 OPENAI_KEYを設定して開始する必要があります!
此文件由 ChatGPT 提供翻译