| --- |
| 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`. |
| # P r o j e c t _ N L P |
| |