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
Чтобы контейнеризировать приложение Bharat ChatAI с помощью Docker, выполните следующие действия:
Создайте файл 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]
Установите Docker на экземпляр EC2:
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 и выборку доступных параметров модели из API Groq.
Класс DocumentProcessor
обрабатывает документы из загруженных файлов или URL-адресов, разбивает их на фрагменты и сохраняет в векторном хранилище FAISS. Он также генерирует сводки обработанных документов.
Класс ChatHandler
обрабатывает запросы чата, отображает историю чата и получает ответы, используя векторы документов.
Класс ToolsAndAgentsInitializer
инициализирует инструменты и агенты для интерфейса чата, включая настройку модели и создание объединенных цепочек для обработки документов и запросов.
Класс BharatChatAI
инициализирует приложение, включая внедрения, обработку документов и обработку чата. Он также запускает интерфейс приложения Streamlit.
Класс StreamlitInterface
отображает интерфейс приложения Streamlit, включая инициализацию боковой панели и обработку выбора пользователя.
Этот проект лицензируется по лицензии MIT. Подробности смотрите в файле ЛИЦЕНЗИИ.
По любым вопросам или поддержке обращайтесь:
Автор: Мохит Кумар
Электронная почта: [email protected]