--- license: mit title: PantunGen sdk: docker emoji: 🏃 colorFrom: blue colorTo: blue pinned: false short_description: Proyek akhir matkul NLP --- # PantunGen: Pembangkit Pantun Berbasis AI PantunGen adalah aplikasi web modern untuk menghasilkan pantun tematik secara otomatis menggunakan kecerdasan buatan. Aplikasi ini dibangun dengan prinsip *clean code* menggunakan FastAPI sebagai backend dan Vanilla HTML/CSS/JS sebagai frontend, memastikan kode yang ringan, cepat, dan mudah dipelihara tanpa framework frontend berat. ## Fitur Utama - **Desain Modern & Responsif:** Antarmuka pengguna yang minimalis, profesional, dan ramah pengguna di berbagai perangkat. - **Generator Interaktif:** Pembangkit pantun dengan pengaturan tema dan gaya bahasa, lengkap dengan animasi dan umpan balik sistem (loading, toast). - **Analisis Metrik:** Visualisasi performa model (BLEU, ROUGE, dll) secara interaktif menggunakan grafik. ## Struktur Proyek - `main.py`: Entry point server FastAPI, mengatur routing halaman dan endpoint API. - `templates/`: Kumpulan file HTML berbasis Jinja2. - `static/css/`: Gaya visual murni tanpa framework tambahan. - `static/js/`: Skrip interaktivitas frontend murni (termasuk pemanggilan API dengan `fetch`). ## Persyaratan Sistem - Python 3.9 atau lebih baru. ## Cara Instalasi 1. Clone repositori ini atau ekstrak folder proyek. 2. Buka terminal/command prompt di direktori root proyek ini. 3. (Opsional namun disarankan) Buat dan aktifkan virtual environment: ```bash python -m venv venv # Di Windows: venv\Scripts\activate # Di macOS/Linux: source venv/bin/activate ``` 4. Instal semua dependensi: ```bash pip install -r requirements.txt ``` ## Cara Menjalankan Aplikasi 1. Pastikan Anda berada di root direktori proyek. 2. Jalankan server FastAPI menggunakan Uvicorn: ```bash python main.py # ATAU uvicorn main:app --reload ``` 3. Buka browser dan akses `http://localhost:8000`. ## Dokumentasi API FastAPI secara otomatis menghasilkan dokumentasi API interaktif. Anda dapat mengaksesnya di: - **Swagger UI:** `http://localhost:8000/docs` - **ReDoc:** `http://localhost:8000/redoc` ## Integrasi Model (Untuk Pengembang) Fungsi pembangkitan pantun saat ini berada pada tahap *mock*. Untuk mengintegrasikan model NLP hasil *fine-tuning* Anda: 1. Buka `main.py`. 2. Cari fungsi `@app.post("/api/generate")`. 3. Ganti bagian implementasi mock dengan logika inferensi model Anda. 4. Pastikan untuk mengembalikan format objek JSON sesuai dengan kelas `PantunResponse`. # Project_NLP # Project_NLP # Project_NLP