Bookshelf-Qabotへようこそ。これは、大規模な言語モデルのパワーを使用して、膨大な量の情報へのアクセスを迅速かつ正確に合理化するために設計されたRAGソリューションである個人的な知識ベースアシスタントプロジェクトです。この汎用性の高いツールは、研究者、ビジネスオーナー、および効率的な情報管理を必要とする人に最適です。そのスケーラビリティにより、顧客サービス機能を強化しようとする企業に最適であり、顧客の問い合わせに迅速かつ正確な対応を提供します。個々の生産性を最適化するか、ビジネスオペレーションを強化しているかにかかわらず、このプロジェクトはあなたのために調整されています。

RAGを使用したインタラクティブなQ&A :検索された高級発電(RAG)アーキテクチャを活用して、動的で正確な質問応答を促進します。
視覚化インターフェイス:プロジェクトを開始するために、gradioとapisを介してgradioとapisを介して簡単にナビゲートしやすいインターフェイスを提供し、Q&Aを実証し、例を紹介します。
カスタマイズされたナレッジマネジメント:知識ベースを好みに合わせて調整するためのパーソナライズオプションを提供します。ユーザーは、特定のドメイン固有の情報を扱うユニークな「本棚」を構築するために、独自の無習子をアップロードおよびベクトル化できます。
マルチモデル互換性:GPT-3.5、GPT4などの複数の大手言語モデル(LLM)間のシームレスな切り替えをサポートします。この柔軟性により、ユーザーは特定のタスクに最適なモデルを選択し、精度、応答速度、コストを最適化することができます。
プロジェクトをクローンしてセットアップします。
git clone https://github.com/zhang-shizhe/Bookshelf-QABot
cd Bookshelf-QABot
conda create -n bookshelf-qabot python==3.10.14
conda activate bookshelf-qabot
pip install -r requirements.txtAPIキーを設定します
OpenAIからAPIキーを取得し、ルートディレクトリの下に.ENVファイルを作成します。 API文字列を次の形式でコピーして貼り付けます。
OPENAI_API_KEY= " you openai api key string "ローカルAPIサーバーを開始します。
cd app
uvicorn api:app --reload
または、単に実行することもできます
bash app/run_api.sh
Gradioでプロジェクトを実行します:
python app/run_gradio.pyこのプロジェクトは、Langchainフレームワークに基づいて構築された大規模な言語モデルに基づいたフルスタックアプローチを活用しています。コアテクノロジーには、LLM APIコール、RAG、ベクトルデータベース、および取得Q&Aチェーンが含まれます。プロジェクトの全体的なアーキテクチャは次のとおりです。

上記のように、プロジェクトはボトムアップからLLMレイヤー、データレイヤー、データベース層、アプリケーションレイヤー、およびサービスレイヤーに構成されています。
LLMレイヤーは、主にLLMのカプセル化がいくつかの一般的なLLM APIとモデルを呼び出すことを伴い、ユーザーが統一された入り口とさまざまなモデルにアクセスする方法を可能にし、オンザフライモデルの切り替えをサポートします。
dataデータレイヤーには、主に個人の知識ベースと埋め込みAPIのソースデータが含まれています。埋め込み処理後のソースデータは、ベクトルデータベースで使用できます。
dataデータベースレイヤーは、主に個人の知識ベースソースデータに基づいて構築されたベクトルデータベースに基づいており、このプロジェクトでChromaを選択しました。
アプリケーションレイヤーは、コア関数のトップレイヤーカプセル化であり、Langchainが提供する検索Q&Aチェーンベースクラスに基づいてさらにカプセル化され、さまざまなモデルスイッチをサポートし、データベースベースの取得Q&Aの実装を促進します。
cop最大層はサービスレイヤーで、デモとFastapiを構築するためのグラデーションを実装してAPIを組み立ててプロジェクトのサービスアクセスをサポートしました。
このプロジェクトに興味を持っていただきありがとうございます。私はあなたの貢献を楽しみにしています、そしてあなたがあなたの情報管理と検索タスクを強化するためにそれをどのように使用するか、またはカスタマーサービスなどのビジネスアプリケーションのためにそれを拡大するためにあなたがそれをどのように使用するかを見ることを楽しみにしています!