🦜️🔗 チャトランチェーン
このリポジトリは、ローカルでホストされているチャットボットの実装であり、特にLangChainドキュメントに対する質問応答に重点を置いています。
LangChainとFastAPIで構築されています。
このアプリは、LangChainのストリーミングサポートと非同期APIを活用して、複数のユーザーのページをリアルタイムで更新します。
✅ ローカルでの実行
- 依存関係をインストールします。
pip install -r requirements.txt
- LangChainドキュメントデータをベクターストアに取り込むために実行します(一度だけ実行する必要があります)。
ingest.sh
- 他のドキュメントローダーを使用して、独自のデータをベクターストアにロードできます。
- アプリを実行します。
make start
- トレースを有効にするには、がローカルで実行されていることを確認し、 に渡します。その他のドキュメントについては、こちらを参照してください。
langchain-server
tracing=True
get_chain
main.py
- ブラウザでローカルホスト:9000を開きます。
🚀重要なリンク
デプロイされたバージョン(まもなく更新予定):chat.langchain.dev
ハグフェイススペース(近日更新予定):huggingface.co/spaces/hwchase17/chat-langchain
ブログ記事:
📚技術的な説明
インジェストと質問応答の 2 つのコンポーネントがあります。
インジェストには次の手順があります。
- ドキュメントサイトからhtmlを取得する
- LangChainのReadTheDocs Loaderでhtmlをロードする
- ラングチェーンのテキストスプリッターでドキュメントを分割する
- LangChainのベクトルストアラッパー(OpenAIの埋め込みとFAISSベクトルストアを使用)を使用して、埋め込みのベクトルストアを作成します。
質問応答には次の手順があり、すべて ChatVectorDBChain によって処理されます。
- チャット履歴と新しいユーザー入力を考慮して、スタンドアロンの質問が何であるかを決定します(GPT-3を使用)。
- その独立した質問を考慮して、ベクターストアから関連ドキュメントを検索します。
- スタンドアロンの質問と関連ドキュメントをGPT-3に渡して、最終的な回答を生成します。