ALAMDIENG commited on
Commit
f8d068c
Β·
verified Β·
1 Parent(s): bbf5602

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +98 -9
README.md CHANGED
@@ -1,12 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
- title: Waste Prediction Api
3
- emoji: 🏒
4
- colorFrom: purple
5
- colorTo: pink
6
- sdk: docker
7
- pinned: false
8
- license: mit
9
- short_description: waste
 
 
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🌍 Eco-Twin AI: Waste Volume Prediction System
2
+ **Proyek untuk Hackathon DKI Jakarta 2025 (Case 2)**
3
+
4
+ Eco-Twin AI adalah sistem cerdas berbasis *Machine Learning* yang dirancang untuk memprediksi lonjakan volume timbulan sampah harian di area Jakarta Pusat. Sistem ini menggunakan arsitektur ganda: **Amazon Chronos-T5** (Time-Series Transformer) untuk peramalan (*forecasting*) dan integrasi Algoritma Pendukung untuk ekstraksi fitur lanjutan (Cuaca, Skala Keramaian, dan Jadwal Event).
5
+
6
+ ---
7
+
8
+ ## πŸš€ Fitur Unggulan (Hackathon Killer Features)
9
+
10
+ 1. **Integrasi Kalender Event Otomatis**: Sistem secara otomatis membaca file `event_jakarta_2025.txt` saat server dinyalakan. Jika ada *request* prediksi yang menyentuh tanggal konser besar (misal: Maroon 5 di JIS), AI akan mendeteksi dan secara akurat menambahkan estimasi volume sampah tanpa input manual tambahan.
11
+ 2. **Asynchronous API Processing**: Menggunakan FastAPI dengan `run_in_threadpool`, memastikan sistem AI tidak memblokir (*blocking*) pengguna lain saat sedang mengolah model Transformer yang berat.
12
+ 3. **Standar Produksi (CORS & Logging)**: Aplikasi aman dipanggil secara langsung oleh Frontend (React/Vue/HTML) dan menggunakan sistem *logging* kelas enterprise.
13
+ 4. **Interactive API Docs (Swagger UI)**: Endpoint dilengkapi parameter Pydantic lengkap beserta contoh JSON terisi otomatis, sangat cocok untuk didemokan langsung ke Juri.
14
+ 5. **Dekomposisi Sampah SIPSN KLHK 2025**: Memprediksi bukan hanya berat total (Ton), tapi juga membedahnya menjadi *Sisa Makanan* dan *Plastik*, serta memberikan rekomendasi jumlah armada truk yang dibutuhkan.
15
+
16
  ---
17
+
18
+ ## πŸ“‚ Struktur File
19
+
20
+ - `app.py` : Berisi *Core Engine* API menggunakan FastAPI dan Amazon Chronos.
21
+ - `train.py` : Script *Advanced Feature Engineering* dan pelatihan model Gradient Boosting (Eco-Twin Pro) untuk simulasi dataset.
22
+ - `event_jakarta_2025.txt` : *Database* kalender event yang otomatis dilacak oleh AI.
23
+ - `dataset_vibe_coder_2025.csv` : Dataset historis yang dipakai oleh model.
24
+ - `.dockerfile` : Konfigurasi untuk men-*deploy* aplikasi ini (misalnya ke Hugging Face Spaces atau server Cloud).
25
+ - `requirements.txt` : Daftar dependensi *library* Python.
26
+
27
  ---
28
 
29
+ ## πŸ› οΈ Cara Menjalankan Sistem
30
+
31
+ ### 1. Instalasi Kebutuhan (Library)
32
+ Pastikan Python sudah terinstal di laptop Anda. Buka Terminal/Command Prompt di dalam folder proyek ini, lalu jalankan:
33
+ ```bash
34
+ pip install -r requirements.txt
35
+ pip install chronos-forecasting
36
+ ```
37
+
38
+ ### 2. Menjalankan Server API
39
+ Jalankan server Uvicorn dengan mode *auto-reload* agar perubahan kode langsung terbaca:
40
+ ```bash
41
+ uvicorn app:app --reload --port 8001
42
+ ```
43
+
44
+ ### 3. Menguji via Swagger (Demonstrasi Juri)
45
+ Setelah server berjalan, buka browser dan akses:
46
+ πŸ‘‰ **[http://127.0.0.1:8001/docs](http://127.0.0.1:8001/docs)**
47
+
48
+ Anda bisa menekan tombol **"Try it out"** di *endpoint* `/api/v1/predict` dan langsung tekan **"Execute"**.
49
+
50
+ ---
51
+
52
+ ## πŸ“‘ Dokumentasi Endpoint API
53
+
54
+ ### 1. Status Check
55
+ Mengecek apakah server hidup dan berapa banyak jadwal event yang berhasil dimuat oleh AI.
56
+ - **URL**: `/`
57
+ - **Method**: `GET`
58
+ - **Response**:
59
+ ```json
60
+ {
61
+ "status": "Online",
62
+ "model": "Chronos-T5 Tiny",
63
+ "region": "Jakarta Pusat",
64
+ "events_loaded": 15
65
+ }
66
+ ```
67
+
68
+ ### 2. Prediksi Volume Sampah (Forecasting)
69
+ Mendapatkan peramalan volume sampah berdasarkan data historis, cuaca, dan event.
70
+ - **URL**: `/api/v1/predict`
71
+ - **Method**: `POST`
72
+ - **Body Request**:
73
+ ```json
74
+ {
75
+ "hari_ke_depan": 7,
76
+ "prediksi_hujan_bmkg": 25.5,
77
+ "skala_keramaian": 0
78
+ }
79
+ ```
80
+ - **Response JSON**:
81
+ ```json
82
+ [
83
+ {
84
+ "tanggal": "2025-02-01",
85
+ "total_volume_ton": 1520.45,
86
+ "sisa_makanan_ton": 758.25,
87
+ "plastik_ton": 348.94,
88
+ "rekomendasi_truk": 153,
89
+ "status_risiko": "CRITICAL ⚠️",
90
+ "info_event": "Konser Maroon 5 di Jakarta International Stadium (JIS)"
91
+ }
92
+ ]
93
+ ```
94
+
95
+ ---
96
+
97
+ ## πŸ“ Catatan Penting
98
+ - Jika Anda mendapatkan error `ModuleNotFoundError: No module named 'chronos'`, pastikan Anda menginstal package dengan perintah `pip install chronos-forecasting` **(BUKAN pip install chronos)**.
99
+ - Untuk deployment dengan `Dockerfile`, pastikan untuk mengubah port Uvicorn menyesuaikan provider (misal: HuggingFace Spaces menggunakan `--port 7860`).
100
+
101
+