Tanya Jawab Cerba Perguruan Tinggi
Proyek ini adalah T&J Chatbot yang dirancang untuk menjawab pertanyaan yang berkaitan dengan Global Academy of Technology (GAT) menggunakan kombinasi model bahasa besar (LLM), teks-embedding, generasi pengambilan-pengambilan (RAG), dan teknik teknik yang cepat. Chatbot dapat memproses input teks dan audio, memberikan jawaban yang relevan berdasarkan riwayat percakapan dan dokumen yang dimuat sebelumnya.
Fitur
- Input Teks dan Audio : Menerima kueri pengguna melalui input teks atau perekaman suara.
- Retrieval-Agusted Generation (RAG) : Meningkatkan respons menggunakan informasi yang relevan yang diambil dari dokumen yang dimuat sebelumnya.
- Tanggapan Konteks-Sehat : Memanfaatkan riwayat percakapan untuk memberikan jawaban yang sesuai dan sesuai kontekstual.
- Antarmuka StreamLit : Antarmuka ramah pengguna yang dibangun dengan StreamLit, menampilkan opsi untuk mode tindak lanjut dan kustomisasi kedalaman pencarian.
Instalasi
Klon Repositori
git clone https://github.com/mahadev0811/CollegeChatbot.git
cd CollegeChatbot
Buat lingkungan virtual
python -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`
Instal dependensi
pip install -r requirements.txt
Konfigurasikan kunci API
- Buat file
config.json di direktori root dengan kunci Google API Anda:
{
"google_api_key" : " YOUR_GOOGLE_API_KEY "
}
Penggunaan
Jalankan aplikasi
Berinteraksi dengan chatbot
- Gunakan kotak input teks atau perekam audio untuk mengirimkan kueri Anda.
- Sesuaikan Pengaturan Menggunakan Opsi Sidebar:
- Mode pertanyaan tindak lanjut : Toggle untuk menggunakan riwayat percakapan untuk tanggapan.
- Kedalaman pencarian : Sesuaikan jumlah paragraf untuk mencari di dokumen untuk informasi yang relevan.
Struktur proyek
- st_app.py : skrip aplikasi utama.
- embedding_generator.py : skrip untuk menghasilkan embeddings dari file data.
- Webscrapper.ipynb : Jupyter Notebook untuk Mengikis Data Teks dari URL untuk menghasilkan file data mentah.
- config.json : File konfigurasi untuk tombol API.
- Persyaratan.txt : Daftar paket Python yang diperlukan.
- Data_Generation/gat_raw.txt : Data kasar mentah yang berisi informasi tentang GAT.
- Data_Generation/gat_refined.txt : Versi data mentah yang diedit dan diedit manusia.
- gat_embeddings.pkl : Embeddings yang telah dikomputasi untuk dokumen yang dimuat sebelumnya.
Menghasilkan data
Untuk menghasilkan file data mentah awal ( gat_raw.txt ), gunakan notebook webscrapper.ipynb . Notebook ini menggosok konten teks dari URL yang diberikan dan memformatnya dengan tepat.
Menghasilkan embeddings
Untuk menghasilkan embeddings dari file data Anda, gunakan skrip embedding_generator.py . Script ini membaca file teks yang berisi data, menghasilkan embeddings menggunakan model flagembedding , dan menyimpan embeddings sebagai file acar.
Menjalankan generator embedding
Persiapkan File Data Anda
- Pastikan file data Anda (misalnya, data_generasi/gat_refined.txt) berada dalam format yang benar, dengan paragraf dipisahkan oleh Newline ganda ( n n).
Jalankan skrip
Jalankan skrip embedding_generator.py dengan jalur ke file data Anda sebagai argumen:
python embedding_generator.py --data_file data_generation/gat_refined.txt
Script akan menghasilkan embeddings untuk paragraf dalam file data dan menyimpannya sebagai file acar ( gat_embeddings.pkl ).
Tangkapan layar
- Video ini menunjukkan chatbot beraksi, menjawab pertanyaan tentang gat:
Recordings.mp4
Kredit
- Flagembedding: Model embedding khusus yang digunakan untuk kueri pengkodean.
- StreamLit: Kerangka kerja aplikasi open-source untuk proyek ML dan sains data.
- Memeluk Face Transformers: Perpustakaan untuk model NLP yang canggih.
- Google Cloud Speech-to-Text API: Layanan untuk mengubah pidato menjadi teks.
- Google Generative AI: Digunakan untuk menghasilkan tanggapan.
Lisensi
Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.