Chat With LLMs は、ユーザーが主要な AI プロバイダーのさまざまな大規模言語モデル (LLM) とチャットできるようにする Web アプリです。これにより、ユーザーはチャットのコンテキストを失うことなく、会話中にモデルを切り替えることができます。
このプロジェクトは、さまざまなラージ言語モデル (LLM) を使用した API 駆動のテキスト生成を統合します。これらの対話を調整するために使用されるフレームワークは LangChain であり、さまざまなプロバイダー間でのシームレスな統合と動的なモデルの選択を可能にします。
現在、プラットフォームは 6 つの異なる LLM プロバイダーをサポートしており、それぞれがさまざまなチャット モデルを提供しています。
それらは
認証: Web アプリケーションは、安全なユーザー認証とログインのために Google OAuth 2.0 を利用します。
バックエンド サーバー: ユーザー メッセージが処理され、LLM からの応答が Python の FastAPI フレームワークを使用して生成されます。バックエンドには、プロンプトの生成と、さまざまな LLM プロバイダーへの API 呼び出しの管理を担う LangChain フレームワークも統合されています。
イベント ストリーミング: Server-Sent Events (SSE) は、HTTP を介したサーバーからクライアントへのリアルタイムの一方向通信の標準です。 SSE を使用すると、サーバーは、クライアントがデータ トークンを繰り返し要求することなく、生成されたデータ トークンをトークンごとにクライアントにプッシュできます。
Firestore データベース: ユーザー情報、チャットの詳細、チャット履歴は Google の Firestore データベースに保存されます。 Firestore は、その無料枠、高いパフォーマンス、自動スケーリング機能により選ばれており、動的に成長するアプリケーションに最適です。
ReactJS フロントエンド: フロントエンドは ReactJS で構築されており、チャット アプリケーションとのシームレスな対話のための対話型で応答性の高いユーザー インターフェイスを提供します。
.env.example
ファイルのコピーを作成し、名前を.env
に変更します。
cp .env.example .env # For Unix/Linux
copy .env.example .env # For Windows
テキスト エディタで.env
ファイルを開き、必要な変数と対応する値を入力します。これらの変数は通常、API キーとその他の環境固有の構成です。
docker-compose up
すべてのサービスは次のポートで稼働します。
Backend FastAPI : localhost:8080
ReactJS Frontend : localhost:3000
pip install pipenv
pipenv install
nodemon
or
uvicorn app:app --port 5000
cd web
npm install
npm start
以下のリンクを使用して Swagger ドキュメントにアクセスしてください
http://localhost:8080/docs