Verdian17/asisten-akademik-uir
๐ Asisten Cerdas Akademik Berbasis RAG (Retrieval-Augmented Generation)
Nama: Verdian Ramadhan
NPM : 233510315
Kelas : 6A
Project EAS Implementasi dan Pengujian Perangkat Lunak
Program Studi Teknik Informatika - Universitas Islam Riau (UIR)
๐ Deskripsi Proyek
Aplikasi ini adalah prototipe Asisten Cerdas (Chatbot) berbasis web yang dirancang untuk menjawab pertanyaan mahasiswa seputar Buku Pedoman Tugas Akhir.
Sistem ini dibangun menggunakan arsitektur RAG (Retrieval-Augmented Generation) untuk memastikan AI hanya menjawab berdasarkan dokumen resmi yang diberikan (Zero-Hallucination). Jika informasi tidak terdapat di dalam dokumen, sistem secara proaktif akan menolak menjawab untuk menjaga integritas data akademik.
โจ Fitur Utama
- Pencarian Semantik (Semantic Search): Menggunakan model embedding
paraphrase-multilingual-MiniLM-L12-v2yang sangat akurat dalam memahami bahasa Indonesia. - Anti-Halusinasi (Strict Grounding): LLM (Llama 3.1) diinstruksikan dengan temperature 0.0 untuk patuh 100% pada dokumen sumber.
- Interactive Split-Screen PDF Viewer: Setiap jawaban yang valid akan menyertakan tombol sumber yang jika diklik, akan membelah layar dan menampilkan file PDF asli langsung pada halaman yang relevan.
- Ekspansi Singkatan Akademik: Otomatis memahami singkatan khas kampus seperti TA, KP, SKS, KRS, dan DPA.
๐ ๏ธ Teknologi yang Digunakan
- Frontend: HTML5, CSS3, Vanilla JavaScript (Tanpa Framework).
- Backend: Python, FastAPI, Uvicorn.
- LLM & AI: Groq API (
llama-3.1-8b-instant), LangChain. - Vector Database: ChromaDB.
- Document Processing: PyPDFLoader, RecursiveCharacterTextSplitter.
๐ Panduan Instalasi (Menjalankan di Localhost)
Jika ingin menjalankan sistem ini secara lokal, silakan ikuti langkah-langkah berikut:
1. Persiapan Lingkungan (Virtual Environment)
Pastikan Python 3.9+ sudah terinstal. Buka terminal/Command Prompt dan jalankan:
python -m venv venv venv\Scripts\activate
2. Instalasi Dependensi
pip install -r requirements.txt
3. Konfigurasi API Keys
Buat file bernama .env di folder utama (sejajar dengan main.py) dan masukkan kunci API berikut (hubungi pengembang untuk kunci pengujian):
HUGGINGFACEHUBAPITOKEN=masukkantokenhuggingfacedisini GROQAPIKEY=masukkantokengroqdisini
4. Membangun Database Vektor (Data Ingestion)
Pastikan file BUKU PEDOMAN TUGAS AKHIR 2025.pdf berada di dalam folder data/. Kemudian jalankan:
python document_ingestion.py
5. Menjalankan Server Aplikasi
python main.py
Buka web browser dan akses alamat: http://127.0.0.1:8000
๐งช Skenario Pengujian (Panduan Penggunaan)
Untuk menguji fungsionalitas dan batas sistem, silakan lakukan skenario pengujian berikut pada antarmuka chat:
A. Pengujian Positif (Informasi ada di dokumen)
- Klik salah satu pertanyaan di menu FAQ CEPAT pada sidebar sebelah kiri.
- Atau ketik manual: "Berapa jumlah minimal referensi untuk TA?"
- Ekspektasi Output: AI menjawab "25 sumber", lalu memunculkan tombol sumber referensi. Klik tombol sumber tersebut untuk menguji fitur Split-Screen PDF Viewer.
B. Pengujian Negatif (Informasi tidak ada di dokumen)
- Ketik pertanyaan di luar konteks pedoman: "Siapa nama rektor UIR saat ini?" atau "Di mana letak kantin Fakultas Teknik?"
- Ekspektasi Output: AI akan menjawab bahwa informasi tersebut tidak ditemukan di dalam pedoman, dan tidak akan memunculkan tombol sumber yang salah/berhalusinasi.
