# Chatbot "Wajib Tahu"
**Sistem Edukasi Kesehatan Reproduksi dan Kesiapan Keluarga Pranikah BKKBN Berbasis RAG**

---

"Wajib Tahu" adalah asisten virtual cerdas berbasis web yang dirancang khusus untuk mendukung pelayanan informasi di Balai Penyuluhan KB Kecamatan Kanigoro. 

Sistem ini menggunakan arsitektur mutakhir **Retrieval-Augmented Generation (RAG)** untuk menyajikan edukasi seputar pencegahan stunting, kesehatan reproduksi, dan persiapan pranikah. Dengan pendekatan ini, kecerdasan buatan dikunci secara ketat agar 100% bersumber dari dokumen resmi pedoman BKKBN, memastikan jawaban yang aman, akurat, dan bebas dari halusinasi AI.

## Fitur 

*  **Arsitektur RAG yang Teruji:** Menggunakan konfigurasi pemrosesan optimal (*Top-K* = 4, *Chunk Size* = 750 karakter) untuk menjaga keutuhan konteks tanpa memicu penumpukan informasi (*noise*).
*  **Dua Mode Antarmuka Pengguna:** Mendukung akses yang fleksibel melalui *Floating Widget* yang praktis dan *Full Page Chat* untuk pengalaman konsultasi yang mendalam.
*  **Manajemen Pusat Data Dinamis:** Administrator dapat dengan mudah memperbarui "otak" AI hanya dengan mengunggah dokumen PDF terbaru langsung dari *dashboard*.
*  **Pemantauan Cerdas & Validasi:** Dilengkapi dengan fitur pemantauan *Log* Percakapan untuk mengawasi interaksi warga dan memvalidasi kualitas edukasi secara *real-time*.

## Teknologi 

Sistem ini dibangun dengan arsitektur terpisah untuk memisahkan logika antarmuka pengguna dan mesin pemrosesan bahasa alami:

**Sistem Web (Frontend & Backend)**
*   **Framework:** Laravel (PHP)
*   **Styling:** Tailwind CSS
*   **Database:** MySQL

**AI Engine (Pemrosesan Bahasa Alami)**
*   **Bahasa Pemrograman:** Python
*   **AI Framework:** LangChain / LlamaIndex *(sesuaikan jika perlu)*
*   **LLM Model:** HuggingFace / OpenAI *(sesuaikan jika perlu)*

## Persyaratan Sistem 

Untuk menjalankan atau mengembangkan sistem ini lebih lanjut, pastikan lingkungan kerja Anda memiliki:
1.  **PHP** (Minimal versi 8.1) & **Composer**
2.  **Node.js** & **NPM**
3.  **Python** (Minimal versi 3.9) & **PIP**
4.  **MySQL** (XAMPP/Laragon/sejenisnya)

## Dataset & Dokumen Pengetahuan

Repositori ini hanya menyertakan **sebagian dokumen sampel** untuk keperluan demonstrasi awal. 

> **Catatan:** Seluruh dokumen pedoman resmi BKKBN secara lengkap tidak disertakan dalam repositori ini demi alasan efisiensi ukuran penyimpanan dan privasi data.

Sistem RAG ini dirancang untuk beroperasi secara dinamis. Sistem tetap dapat berfungsi secara optimal dengan cara menambahkan atau mengunggah dokumen referensi `.pdf` baru melalui halaman *Dashboard Administrator*. Setiap dokumen yang diunggah akan secara otomatis memicu proses *ingest* (penyerapan dan pemotongan teks) ulang ke dalam vektor *database* sistem.

---
*Dikembangkan oleh Alfito Dwi Mirza Ziananda MIF 23 (@alfito_d_m_z_).*