Bharat ChatAI adalah aplikasi chatbot bertenaga AI yang mengintegrasikan berbagai model AI dan fungsi pemrosesan dokumen. Aplikasi ini memungkinkan pengguna untuk mengobrol dengan AI menggunakan model berbeda, mengunggah dan memproses dokumen, serta mengambil informasi dari URL.
Kloning repositori:
git clone https://github.com/itsmohitkumar/bharat-chatbot-groq.git
cd bharat-chatbot-groq
Buat lingkungan virtual dan aktifkan:
python -m venv env
source env/bin/activate # On Windows, use `envScriptsactivate`
Instal paket yang diperlukan:
pip install -r requirements.txt
Buat file .env
di direktori root proyek dan tambahkan kunci API Anda:
GROQ_API_KEY=your_api_key_here
Jalankan aplikasi Streamlit:
streamlit run app.py
Untuk memasukkan aplikasi Bharat ChatAI menggunakan Docker, ikuti langkah-langkah berikut:
Buat Dockerfile: Di direktori root proyek Anda, buat Dockerfile
dengan konten berikut:
# 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" ]
Membangun image Docker: Jalankan perintah berikut di terminal untuk membangun image Docker Anda:
docker build -t bharat-chatai .
Jalankan container Docker: Setelah image dibuat, Anda dapat menjalankan aplikasi dalam container dengan:
docker run -p 8501:8501 bharat-chatai
Aplikasi akan dapat diakses di http://localhost:8501
.
Untuk menerapkan aplikasi Bharat ChatAI di AWS EC2, ikuti langkah-langkah berikut:
Luncurkan instans EC2:
t2.micro
(memenuhi syarat tingkat gratis).Hubungkan ke instans EC2:
ssh -i " your-key.pem " [email protected]
Instal Docker pada instans EC2:
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
Kloning repositori Bharat ChatAI:
git clone https://github.com/itsmohitkumar/bharat-chatbot-groq.git
cd bharat-chatbot-groq
Bangun dan jalankan kontainer Docker:
sudo docker build -t bharat-chatai .
sudo docker run -p 80:8501 bharat-chatai
Akses aplikasi:
http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com
). Struktur file proyek adalah sebagai berikut:
bharat-chatai/
├── src/
│ ├── __init__.py
│ ├── logger.py
│ ├── prompt.py
│ ├── bharatchat/
│ │ ├── __init__.py
│ │ └── chatbot.py
├── setup.py
├── app.py
src/__init__.py
: File inisialisasi untuk paket src
.src/logger.py
: Modul untuk konfigurasi logging.src/prompt.py
: Modul untuk mendefinisikan template prompt.src/bharatchat/__init__.py
: File inisialisasi untuk paket bharatchat
.src/bharatchat/chatbot.py
: Modul utama untuk logika chatbot.setup.py
: Skrip pengaturan untuk paket.app.py
: File aplikasi utama untuk menjalankan antarmuka Streamlit. Kelas Config
menangani konfigurasi aplikasi, termasuk mengambil kunci API dan mengambil opsi model yang tersedia dari Groq API.
Kelas DocumentProcessor
memproses dokumen dari file atau URL yang diunggah, membaginya menjadi beberapa bagian, dan menyimpannya di penyimpanan vektor FAISS. Ini juga menghasilkan ringkasan dari dokumen yang diproses.
Kelas ChatHandler
menangani kueri obrolan, menampilkan riwayat obrolan, dan mengambil respons menggunakan vektor dokumen.
Kelas ToolsAndAgentsInitializer
menginisialisasi alat dan agen untuk antarmuka obrolan, termasuk menyiapkan model dan membuat rantai gabungan untuk pemrosesan dokumen dan kueri.
Kelas BharatChatAI
menginisialisasi aplikasi, termasuk penyematan, pemrosesan dokumen, dan penanganan obrolan. Itu juga menjalankan antarmuka aplikasi Streamlit.
Kelas StreamlitInterface
merender antarmuka aplikasi Streamlit, termasuk menginisialisasi sidebar dan menangani pilihan pengguna.
Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LISENSI untuk detailnya.
Untuk pertanyaan atau dukungan apa pun, silakan hubungi:
Pengarang: Mohit Kumar
Email: [email protected]