ドキュメントを介したセマンティック検索のためのPDFとのチャットボット(retrylit、langchain、Pinecone/Chroma/Azure Cognitive Searchを使用してビルド)
このリポジトリには、ドキュメントを介したセマンティック検索のインタラクティブなチャットボットを構築する方法のコード例が含まれています。チャットボットを使用すると、ユーザーは自然言語の質問をして、ドキュメントのコレクションから関連する回答を得ることができます。チャットボットは、WebおよびChatbotインターフェイス、Langchain用のRestreylitを使用し、Pinecone、Chroma、Azure Cognitive Searchのベクトル検索などのさまざまな種類のベクターデータベースを活用して、効率的で正確な類似性検索を実行します。コードはPythonで記述されており、さまざまなユースケースやデータソースに合わせて簡単に変更できます。
詳細な共有については、Medium(Streamlit and Vector Database:Semantic Search over Documentsを介したインタラクティブなWebアプリを作成するためのガイド)もチェックしてください。
- preprocess_pinecone.ipynb < - Azure Openaiサービスの埋め込みモデルを使用して、ドキュメントからコンテンツを埋め込み、Pinecone Vectorデータベースに保存する例。
- preprocess_chroma.ipynb < - Azure Openaiサービスの埋め込みモデルを使用して、ドキュメントからコンテンツを埋め込み、Chroma Vectorデータベースに保存する例。
- preprocess_acs.ipynb < - Azure Openaiサービスの埋め込みモデルを使用して、ドキュメントからコンテンツを埋め込み、Azure Cognitive Search Vectorデータベースに保存する例。
- Consume_pinecone.ipynb < - Langchain質問モジュールを使用してPinecone Vectorデータベースから類似性検索を実行し、GPT-3.5(Text-Davinci-003)を使用して結果を要約します。
- Consume_chroma.ipynb < - Langchain質問モジュールを使用してChroma Vectorデータベースから類似性検索を実行し、GPT-3.5(Text-Davinci-003)を使用して結果を要約します。
- Consume_acs.ipynb < - langchain質問モジュールを使用してAzure Cognitive Search Vectorデータベースから類似性検索を実行し、GPT-3.5(Text-Davinci-003)を使用して結果を要約します。
- app_pinecone.py < - streamlit、langchain、およびpineconeベクターデータベースを使用して、インタラクティブなチャットボットを構築して、ドキュメントを介したセマンティック検索を容易にします。結果要約とチャットのために、Azure OpenaiサービスのGPT-3.5-ターボモデルを使用します。
- app_chroma.py < - streamlit、langchain、およびchroma vectorデータベースを使用して、ドキュメントを介したセマンティック検索を容易にするインタラクティブなチャットボットを構築します。結果要約とチャットのために、Azure OpenaiサービスのGPT-3.5-ターボモデルを使用します。
- app_acs.py < - streamlit、langchain、およびazure cognitive search vectorデータベースを使用して、ドキュメントを介したセマンティック検索を容易にするインタラクティブなチャットボットを構築する例。結果要約とチャットのために、Azure OpenaiサービスのGPT-3.5-ターボモデルを使用します。
このretreamlit Webアプリを実行します
streamlit run app_pinecone.py
ドキュメント上のこのセマンティック検索の高レベルのアーキテクチャとフローデモ
楽しむ!