Bharat ChatAI 是一款人工智能驱动的聊天机器人应用程序,集成了各种人工智能模型和文档处理功能。该应用程序允许用户使用不同的模型与人工智能聊天、上传和处理文档以及从 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
访问。
要在 AWS EC2 上部署 Bharat ChatAI 应用程序,请执行以下步骤:
启动 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
类处理应用程序的配置,包括检索 API 密钥并从 Groq API 获取可用的模型选项。
DocumentProcessor
类处理上传的文件或 URL 中的文档,将它们分割成块,并将它们存储在 FAISS 矢量存储中。它还生成已处理文档的摘要。
ChatHandler
类处理聊天查询、显示聊天历史记录并使用文档向量检索响应。
ToolsAndAgentsInitializer
类初始化聊天界面的工具和代理,包括设置模型以及创建用于文档和查询处理的组合链。
BharatChatAI
类初始化应用程序,包括嵌入、文档处理和聊天处理。它还运行 Streamlit 应用程序界面。
StreamlitInterface
类呈现 Streamlit 应用程序界面,包括初始化侧边栏和处理用户选择。
该项目已获得 MIT 许可证的许可。有关详细信息,请参阅许可证文件。
如有任何疑问或支持,请联系:
作者:莫希特·库马尔
电子邮件:[email protected]