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
หากต้องการจัดเก็บแอปพลิเคชัน 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 และดึงตัวเลือกโมเดลที่พร้อมใช้งานจาก Groq API
คลาส DocumentProcessor
ประมวลผลเอกสารจากไฟล์หรือ URL ที่อัพโหลด แยกออกเป็นชิ้น ๆ และจัดเก็บไว้ในที่เก็บเวกเตอร์ FAISS นอกจากนี้ยังสร้างบทสรุปของเอกสารที่ประมวลผลด้วย
คลาส ChatHandler
จัดการคำถามแชท แสดงประวัติการแชท และดึงคำตอบโดยใช้เวกเตอร์เอกสาร
คลาส ToolsAndAgentsInitializer
เริ่มต้นเครื่องมือและเอเจนต์สำหรับอินเทอร์เฟซการแชท รวมถึงการตั้งค่าโมเดลและการสร้างเชนแบบรวมสำหรับการประมวลผลเอกสารและการสืบค้น
คลาส BharatChatAI
เริ่มต้นแอปพลิเคชัน ซึ่งรวมถึงการฝัง การประมวลผลเอกสาร และการจัดการแชท นอกจากนี้ยังรันอินเทอร์เฟซแอป Streamlit
คลาส StreamlitInterface
เรนเดอร์อินเทอร์เฟซของแอป Streamlit รวมถึงการเริ่มต้นแถบด้านข้างและการจัดการการเลือกของผู้ใช้
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียด
สำหรับคำถามหรือการสนับสนุนใด ๆ โปรดติดต่อ:
ผู้เขียน : โมหิต กุมาร์
อีเมล์: [email protected]