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
에서 액세스할 수 있습니다.
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
)에서 EC2 인스턴스의 퍼블릭 IP로 이동하여 애플리케이션에 액세스할 수 있습니다. 프로젝트의 파일 구조는 다음과 같습니다.
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 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
질문이나 지원이 필요하면 다음 연락처로 문의하세요.
저자: 모히트 쿠마르
이메일: [email protected]