Kategori
web
Dipublikasikan
13 Juli 2026
Teknologi
Sistem Pencarian Judul & Abstrak Skripsi Berbasis RAG & HyDE
📖 Deskripsi Proyek
Proyek ini adalah sebuah sistem cerdas (chatbot) yang dirancang untuk membantu mahasiswa dan akademisi melakukan pencarian judul serta abstrak skripsi secara efisien dan akurat. Sistem ini menggunakan teknik Retrieval-Augmented Generation (RAG) dan Hypothetical Document Embeddings (HyDE) untuk meningkatkan relevansi hasil pencarian di atas dataset ribuan dokumen PDF.
💡 Mengapa Proyek Ini Dibuat?
Di lingkungan akademis, pencarian skripsi sering kali lambat dan tidak akurat karena keterbatasan sistem pencarian berbasis kata kunci (keyword-based). Proyek ini memecahkan masalah tersebut dengan semantic search, di mana sistem memahami konteks pertanyaan pengguna, bukan sekadar mencocokkan kata.
🛠️ Tech Stack & Arsitektur
- Backend: FastAPI (Python) - Performa tinggi, asinkron, dan dokumentasi otomatis (Swagger).
- Frontend: Vue 3 + Vite - UI yang responsif, cepat, dan ringan.
- AI/ML Engine:
- LangChain: Sebagai framework untuk integrasi alur kerja LLM.
- ChromaDB: Vektor database untuk penyimpanan dan pencarian dokumen.
- Embedding Model: intfloat/multilingual-e5-small (Model state-of-the-art untuk multilingual).
- LLM Integration: Groq API (untuk pemrosesan mode HyDE).
🔑 Fitur Utama
1. Ekstraksi Berbasis Aturan (Rule-Based): Menggunakan Regex Anchor-Based Slicing dan wordninja untuk membersihkan teks tanpa bergantung pada API LLM yang berbayar/terbatas kuota.
2. HyDE (Hypothetical Document Embeddings): Sistem membuat "jawaban/abstrak hipotetis" terlebih dahulu untuk memandu pencarian vektor ke hasil yang lebih relevan.
3. Anti-Duplikasi: Penggunaan hashing file PDF memastikan setiap dokumen hanya diindeks sekali.
4. Clean Build Strategy: Fitur hard reset untuk memastikan lingkungan database tetap sinkron dengan data PDF lokal.
🚀 Panduan Instalasi & Penggunaan
Prerequisites
- Python 3.10+
- Node.js 20+ & pnpm
Langkah Setup
1. Backend:
- Install dependencies: pip install -r backend/requirements.txt
- Setup .env: Tambahkan GROQ_API_KEY.
- Bangun Index: python scripts/build_index.py --reset (Wajib dilakukan untuk memproses dokumen).
- Jalankan Server: uvicorn app.main:app --reload
2. Frontend:
- cd frontend
- pnpm install
- pnpm dev
📈 Relevansi untuk Portofolio
Sebagai Web Developer/AI Enthusiast, proyek ini menunjukkan kemampuan saya dalam:
* Full-Stack Development: Mengintegrasikan sistem backend Python yang intensif data dengan frontend modern.
* AI Engineering: Implementasi alur kerja RAG yang nyata, bukan sekadar teori.
* Problem Solving: Membuat sistem Quality Gate untuk ekstraksi dokumen dan efisiensi query.
Catatan: Proyek ini dikembangkan sebagai bagian dari penelitian tugas akhir (skripsi) untuk mengevaluasi performa retrieval pada query pendek.
