ED-Tech Company QA Assistant
Proyek ini adalah asisten QA (pertanyaan-jawaban) yang dirancang untuk perusahaan ED-Tech. Ini memanfaatkan database vektor, model bahasa canggih, dan embeddings dokumen khusus untuk memberikan respons yang akurat terhadap kueri pengguna berdasarkan basis pengetahuan yang telah ditentukan sebelumnya.
Daftar isi
- Fitur
- Instalasi
- Penggunaan
- Struktur proyek
- Peningkatan di masa depan
- Berkontribusi
- Lisensi
Fitur
- Database Vektor : Memanfaatkan FAIS untuk pencarian kesamaan yang efisien di seluruh basis pengetahuan.
- Embeddings Kustom : Didukung oleh HuggingFaceembedding menggunakan model kalimat-transformer/all-minilm-L6-V2.
- Model Bahasa Besar (LLM) : Mengintegrasikan model LLAMA3 GROQ (LLAMA3-8B-8192) untuk menghasilkan respons sadar konteks.
- CSV Loader : Memuat FAQ atau data terstruktur lainnya dari file CSV untuk mengisi basis pengetahuan.
- Antarmuka Streamlit : UI yang sederhana dan interaktif untuk mengajukan pertanyaan dan menerima jawaban.
Instalasi
- Klon Repositori:
git clone https : // github . com / shaadclt / Ed - Tech - Company - QA - Assistant . git
cd Ed - Tech - Company - QA - Assistant
- Siapkan lingkungan virtual:
python - m venv venv
source venv / bin / activate # On Windows, use `venvScriptsactivate`
- Instal dependensi:
pip install - r requirements . txt
- Variabel Lingkungan: Buat file .env di root proyek dan tambahkan kunci API GROQ Anda:
GROQ_API_KEY = your_groq_api_key_here
Penggunaan
- Jalankan Aplikasi StreamLit
Buat basis pengetahuan: Untuk membuat basis pengetahuan dari file CSV, klik tombol Buat KnowledgeBase
Ajukan pertanyaan: Masukkan pertanyaan di antarmuka streamlit, dan asisten akan memberikan respons yang akurat secara kontekstual berdasarkan basis pengetahuan yang dimuat.
Struktur proyek
- langchain_helper.py : berisi logika untuk memuat data, membuat database vektor, dan menghasilkan respons.
- Main.py : File Aplikasi StreamLit.
- FAQS.CSV : File sampel CSV yang digunakan untuk mengisi basis pengetahuan.
- Persyaratan.txt : Daftar semua paket Python yang diperlukan.
- .Env : Menyimpan variabel lingkungan seperti tombol API (tidak termasuk dalam repositori untuk alasan keamanan).
Peningkatan di masa depan
- Perluas Basis Pengetahuan: Tambahkan lebih banyak dokumen atau sumber data.
- Model Fine-Tune: Sesuaikan embeddings atau LLM untuk respons yang lebih akurat.
- Lanjutan UI: Tingkatkan antarmuka yang diintampilan dengan fitur tambahan seperti pemfilteran respons atau mekanisme umpan balik.
Berkontribusi
Jangan ragu untuk membayar repositori ini, membuat cabang fitur, dan mengirimkan permintaan tarik untuk peningkatan atau perbaikan bug apa pun.
Lisensi
Proyek ini dilisensikan di bawah lisensi MIT. Lihat file lisensi untuk detailnya.