Bharat ChatAI は、さまざまな AI モデルとドキュメント処理機能を統合した AI を活用したチャットボット アプリケーションです。このアプリケーションを使用すると、ユーザーはさまざまなモデルを使用して AI とチャットしたり、ドキュメントをアップロードして処理したり、URL から情報を取得したりすることができます。
リポジトリのクローンを作成します。
git clone https://github.com/itsmohitkumar/bharat-chatbot-groq.git
cd bharat-chatbot-groq
仮想環境を作成してアクティブ化します。
python -m venv env
source env/bin/activate # On Windows, use `envScriptsactivate`
必要なパッケージをインストールします。
pip install -r requirements.txt
プロジェクトのルート ディレクトリに.env
ファイルを作成し、API キーを追加します。
GROQ_API_KEY=your_api_key_here
Streamlit アプリケーションを実行します。
streamlit run app.py
Docker を使用して Bharat ChatAI アプリケーションをコンテナ化するには、次の手順に従います。
Dockerfile を作成する:プロジェクトのルート ディレクトリに、次の内容を含むDockerfile
を作成します。
# Use an official Python runtime as a parent image
FROM python:3.9-slim
# Set the working directory in the container
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 8501 available to the world outside this container
EXPOSE 8501
# Define environment variable
ENV GROQ_API_KEY=your_api_key_here
# Run the application
CMD [ "streamlit" , "run" , "app.py" ]
Docker イメージを構築する:ターミナルで次のコマンドを実行して、Docker イメージを構築します。
docker build -t bharat-chatai .
Docker コンテナーを実行する:イメージが構築された後、次のコマンドを使用してコンテナー内でアプリケーションを実行できます。
docker run -p 8501:8501 bharat-chatai
アプリケーションにhttp://localhost:8501
からアクセスできます。
Bharat ChatAI アプリケーションを AWS EC2 にデプロイするには、次の手順に従います。
EC2 インスタンスを起動します。
t2.micro
(無料利用枠対象))。EC2 インスタンスに接続します。
ssh -i " your-key.pem " [email protected]
EC2 インスタンスに Docker をインストールします。
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
Bharat ChatAI リポジトリのクローンを作成します。
git clone https://github.com/itsmohitkumar/bharat-chatbot-groq.git
cd bharat-chatbot-groq
Docker コンテナを構築して実行します。
sudo docker build -t bharat-chatai .
sudo docker run -p 80:8501 bharat-chatai
アプリケーションにアクセスします。
http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com
)。 プロジェクトのファイル構造は次のとおりです。
bharat-chatai/
├── src/
│ ├── __init__.py
│ ├── logger.py
│ ├── prompt.py
│ ├── bharatchat/
│ │ ├── __init__.py
│ │ └── chatbot.py
├── setup.py
├── app.py
src/__init__.py
: src
パッケージの初期化ファイル。src/logger.py
: ロギング設定用のモジュール。src/prompt.py
: プロンプトテンプレートを定義するためのモジュール。src/bharatchat/__init__.py
: bharatchat
パッケージの初期化ファイル。src/bharatchat/chatbot.py
: チャットボット ロジックのメイン モジュール。setup.py
: パッケージのセットアップ スクリプト。app.py
: Streamlit インターフェイスを実行するためのメイン アプリケーション ファイル。 Config
クラスは、Groq API からの API キーの取得や利用可能なモデル オプションのフェッチなど、アプリケーションの構成を処理します。
DocumentProcessor
クラスは、アップロードされたファイルまたは URL からドキュメントを処理し、それらをチャンクに分割し、FAISS ベクター ストアに保存します。また、処理されたドキュメントの概要も生成します。
ChatHandler
クラスは、チャット クエリを処理し、チャット履歴を表示し、ドキュメント ベクトルを使用して応答を取得します。
ToolsAndAgentsInitializer
クラスは、モデルのセットアップやドキュメントとクエリの処理用の結合チェーンの作成など、チャット インターフェイスのツールとエージェントを初期化します。
BharatChatAI
クラスは、埋め込み、ドキュメント処理、チャット処理などのアプリケーションを初期化します。また、Streamlit アプリ インターフェイスも実行します。
StreamlitInterface
クラスは、サイドバーの初期化やユーザー選択の処理など、Streamlit アプリのインターフェイスをレンダリングします。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
ご質問やサポートがございましたら、以下までお問い合わせください。
著者: モヒト・クマール
メール: [email protected]