GTUtor: Sistem Obrolan Multi-Subjek Dinamis
GTUtor adalah sistem bimbingan belajar cerdas yang dirancang khusus untuk mahasiswa Universitas Teknologi Gujarat (GTU). Ini menggabungkan kekuatan Gemini Pro AI Google dengan sistem pengetahuan berbasis dokumen untuk memberikan respons yang akurat dan peka konteks pada berbagai subjek.
Fitur
- Dukungan Multi-Subjek : Membuat dan mengelola banyak mata pelajaran dengan basis pengetahuan independen
- ? Integrasi Dokumen : Unggah dokumen PDF atau berikan URL untuk meningkatkan basis pengetahuan
- Antarmuka Obrolan Cerdas : Sistem percakapan dinamis dengan pelacakan riwayat
- ? Respons Sadar Konteks : Menggabungkan pengetahuan dokumen dengan kemampuan Gemini Pro
- Manajemen Basis Data : Alat bawaan untuk mengelola basis data dokumen untuk setiap mata pelajaran
- ? Berfokus pada GTU : Dirancang khusus untuk kurikulum dan kursus GTU
- ? Penyimpanan Persisten : Secara otomatis menyimpan riwayat obrolan dan data subjek
- ? Fungsi Salin : Menyalin pertanyaan dan jawaban dengan mudah
Instalasi
- Kloning repositori:
git clone https://github.com/pruthakjani5/GTUtor.git
cd gtutor
- Buat lingkungan virtual dan aktifkan:
python -m venv venv
source venv/bin/activate # On Windows: venvScriptsactivate
- Instal dependensi yang diperlukan:
pip install -r requirements.txt
- Buat file
.env
di root proyek dan tambahkan kunci API Gemini Anda:
GEMINI_API_KEY=your_api_key_here
Jika Anda memerlukan pengaturan baru tanpa database percobaan dan obrolan sebelumnya, hapus folder "gtutor_data", menjalankan app.py akan membuat yang baru.
Ketergantungan yang Diperlukan
- terang benderang
- permintaan
- pypdf
- google-generatifai
- chromedb
- python-dotenv
- file temp
- penurunan harga
- papan klip
Penggunaan
- Mulai aplikasi Streamlit:
Akses aplikasi melalui browser web Anda (biasanya di http://localhost:8501
)
Pilih atau buat subjek dari menu tarik-turun
Unggah dokumen PDF atau berikan URL PDF untuk membangun basis pengetahuan subjek
Mulailah mengajukan pertanyaan di antarmuka obrolan
Fitur secara Detail
Manajemen Subjek
- Buat subjek baru
- Hapus subjek yang ada
- Hapus database subjek
- Lacak jumlah dokumen per subjek
Manajemen Dokumen
- Unggah file PDF (hingga 10MB)
- Tambahkan dokumen melalui URL
- Ekstraksi dan pemotongan teks otomatis
- Penyimpanan data dokumen secara persisten
Antarmuka Obrolan
- Menjawab pertanyaan secara real-time
- Pelacakan riwayat obrolan
- Salin pertanyaan dan jawaban
- Hapus pesan satu per satu
- Mulailah percakapan baru
- UI yang ditingkatkan dengan avatar pengguna/bot
Generasi Jawaban
- Respons peka konteks menggunakan dokumen yang diunggah
- Kembali ke pengetahuan Gemini Pro bila diperlukan
- Tanggapan terstruktur dan terformat
- Nada akademis dengan fokus kurikulum GTU
Struktur Proyek
gtutor/
├── app.py # Main application file
├── .env # Environment variables
├── requirements.txt # Project dependencies
└── gtutor_data/ # Data directory
├── dbs/ # Subject databases
├── chat_histories/ # Conversation histories
└── subjects.json # Subject list
Teknis Implementasi
- Pemrosesan Dokumen : Menggunakan
pypdf
untuk ekstraksi teks PDF dengan pemotongan otomatis - Basis Data Vektor : Mengimplementasikan
chromadb
untuk penyimpanan dan pengambilan teks yang efisien - Kerangka UI : Dibangun dengan
streamlit
untuk antarmuka web responsif - Integrasi AI : Memanfaatkan API Gemini Pro Google untuk respons cerdas
- Persistensi Data : Penyimpanan berbasis JSON untuk riwayat obrolan dan data subjek
- Dukungan Penurunan Harga : Pemformatan teks yang ditingkatkan untuk tanggapan
Berkontribusi
Kontribusi dipersilakan! Silakan kirimkan Permintaan Tarik.
Lisensi
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LISENSI untuk detailnya.
Ucapan Terima Kasih
- AI Generatif Google untuk API Gemini Pro
- Streamlit untuk kerangka web
- ChromaDB untuk implementasi database vektor
Mendukung
Untuk dukungan dan pertanyaan, silakan buka masalah di repositori GitHub atau hubungi pengelola.