このプロジェクトの目的は、セマンティック検索とぼろきれのLLMチャットアプリケーションを大規模に実装することを目的としています。 3つの主要なコンポーネントで構成されています。
1. Vector Store Database (chromadb_service): Manages and stores vector embeddings for efficient retrieval.
2. Backend LLM-Powered API Service (llm_service): Handles the core logic and interacts with the LLM model.
3. Frontend Application: Provides the user interface for interacting with the application.
モジュラー設計により、各コンポーネントは独立してスケーラブルになり、システムが必要に応じて大量のトラフィックボリュームを処理できるようになります。
実際の展開には、ChromaDBの代わりに分散ベクトルデータベースソリューションを採用することをお勧めします。さらに、アプリケーションを生産対応にするために、さらなる機能強化が必要になります。
このプロジェクトのセットアップは、生産対応のチャットベースのアプリケーションを作成する始まりに過ぎません。
依存関係をインストールします(python> = 3.10を使用)。 LLMA-CPP-Pythonのインストールを成功させるには、環境変数CMAKE_ARGSを追加する必要があります。 Apple Silicon MacBookの場合は、以下のコマンドを使用してください。他のプラットフォーム固有の指示については、LLMA-CPP-Pythonの公式文書を確認してください。リンク
CMAKE_ARGS="-DLLAMA_METAL=on"
pip install -r requirements.txt
あとがき、次のシーケンスで各サービスを実行します。
これは、データセットエントリを作成、変更、更新するVectorデータベースサービスです。こちらの指示に従ってください
このAPIサービスは、チャットインターフェイスのLlama-2-7Bモデルを搭載しており、Chromadb_Serviceをコンテキスト検索に使用します。こちらの指示に従ってください
これは、LLM_Serviceに依存してChatBotとSemantic-Searchの機能に依存しているFrontEndアプリケーション(Streamlit)です。
フロントエンドアプリを開始するには、コマンドの下に実行されます。
streamlit run frontend/1_Product_Chat.py
LinkedInで、実装とTechOnlogiesに関連する質問についてはご連絡ください。さらなる改善のために、自由にプルリケストを開いてください。ありがとう!