ALAMDIENG's picture
fix: resolve ModuleNotFoundError on startup, make matplotlib optional, and clean up imports
a4602e3
|
Raw
History Blame Contribute Delete
10.3 kB
metadata
title: Predictive Waste Analytics
emoji: πŸš›
colorFrom: green
colorTo: blue
sdk: docker
app_file: app.py
pinned: false

πŸš› Aeterna AI: Next-Gen Waste Intelligence Platform DKI Jakarta

Official Website LinkedIn Profile GitHub Badge GitHub Stars

⭐ If you find Aeterna AI useful, please give this repository a Star on GitHub! Your support helps boost open-source smart city innovation!


πŸ‘¨β€πŸ’» Lead Developer: Faril Putra Pratama

Platform Sistem Peringatan Dini & Peramalan Sampah Real-Time 44 Kecamatan DKI Jakarta berbasis BPS Jumlah Jiwa, Open-Meteo, & AI Chronos T5.


πŸ“– Overview

Aeterna AI adalah platform analitik kecerdasan buatan (Waste Intelligence System) yang dirancang dan dikembangkan oleh Faril Putra Pratama (@FARILtau72). Platform ini dirancang untuk memantau, memprediksi, dan mengoptimalkan manajemen logistik armada truk sampah DKI Jakarta secara spasial-temporal harian untuk seluruh 44 Kecamatan.

Platform ini mengubah paradigma pengelolaan sampah dari reaktif (menangani setelah terjadi penumpukan) menjadi prediktif (memprediksi surge sebelum terjadi) guna mengoptimalkan penyebaran armada truk pengangkut ke 44 kecamatan DKI Jakarta.

πŸ“– DOKUMENTASI SISTEM BACKEND MENDALAM:
Untuk rincian mendalam mengenai arsitektur backend, model machine learning (GBR RΒ²=98.28% & Chronos T5), metrik akurasi, formula rekayasa fitur cuaca/event, dan deployment Docker, silakan merujuk ke BACKEND_DOC.md.


🌟 Fitur Unggulan (Key Features)

  1. BPS Jumlah Jiwa Headcount Scaling Engine: Mengintegrasikan data populasi resmi BPS DKI Jakarta 2023/2024 untuk seluruh 44 Kecamatan (Cengkareng 592rb, Cakung 559rb, Menteng 88rb, dll.) untuk mengukur lonjakan tonase sampah secara fisik.
  2. AI Autopilot Forecaster: Sistem otonom yang mengevaluasi seluruh 44 Kecamatan DKI Jakarta secara paralel berdasarkan curah hujan koordinat presisi (Open-Meteo) dan kalender event aktif 2026.
  3. 6-Kategori Komposisi Sampah: Memprediksi rincian tonase sampah secara proporsional sesuai statistik riil DLH DKI Jakarta: Sisa Makanan (50.2%), Plastik (22.8%), Kertas (11.5%), Tekstil (4.2%), Kaca (3.2%), dan Logam/Lainnya (8.1%).
  4. Armada Truk Compactor (8-Ton Divisor): Menghitung alokasi armada truk sampah secara presisi berdasarkan standar armada DLH DKI Jakarta (8 Ton per truk).
  5. Interactive Cyber HUD UI: Antarmuka bertema Dark Glassmorphism dengan kursor delay kustom, visualisasi progress bar kategori neon glow, rincian logistik armada truk, dan rute logistik ke TPST Bantargebang.

πŸ—οΈ Arsitektur Sistem (Single-Container Full-Stack Architecture)

Sistem ini didesain menggunakan arsitektur full-stack terpadu berbasis Python FastAPI & Vanilla JavaScript yang ringan, cepat, dan hemat memori:

+---------------------------------------------------------------------------------------------------+
|                                 AETERNA AI PLATFORM CONTAINER                                     |
|                             (Hosted on Hugging Face Spaces & Docker)                              |
|                                                                                                   |
|   +---------------------------------------+     +---------------------------------------------+   |
|   |         CYBER HUD DASHBOARD UI        |     |             FASTAPI BACKEND ENGINE          |   |
|   | (HTML5, Vanilla CSS3, Leaflet.js Map) | <-> |    (Async REST Endpoints & Web Controller)   |   |
|   +---------------------------------------+     +---------------------------------------------+   |
|                                                                |                                  |
|                                         +----------------------+----------------------+           |
|                                         |                                             |           |
|                                         v                                             v           |
|                         +-------------------------------+             +-------------------------------+
|                         |    AMAZON CHRONOS-T5 (TINY)   |             |   GRADIENT BOOSTING REGRESSOR |
|                         | (Time-Series Neural Network)  |             |  (Spatial GBR RΒ²=88.45%, MAPE=6.12%) |
|                         +-------------------------------+             +-------------------------------+
|                                         |                                             |           |
|                                         +----------------------+----------------------+           |
|                                                                |                                  |
|                                                                v                                  |
|                                             +-------------------------------------+               |
|                                             |         EXTERNAL DATA SYNC          |               |
|                                             |  - BPS Jakarta 2024 (Jumlah Jiwa)   |               |
|                                             |  - Open-Meteo Realtime Rainfall API |               |
|                                             +-------------------------------------+               |
+---------------------------------------------------------------------------------------------------+

Component Stack:

  • Frontend Layer: HTML5, Vanilla CSS3 (Dark Glassmorphism Theme), Vanilla JavaScript ES6+, dan Leaflet.js untuk visualisasi peta spasial 44 Kecamatan DKI Jakarta.
  • Backend Layer: Python 3.9+ & FastAPI dengan Uvicorn ASGI Server untuk eksekusi peramalan REST API berkecepatan tinggi.
  • AI & Machine Learning Engine: Amazon Chronos-T5 (Tiny) (PyTorch) & Gradient Boosting Regressor (Scikit-Learn, fine-tuned dengan GridSearchCV).
  • Data Providers: Data Populasi BPS DKI Jakarta 2023/2024 (Jumlah Jiwa), Open-Meteo Weather API (Curah Hujan Real-Time), dan Dinas Lingkungan Hidup DKI Jakarta.

πŸ“Š Hasil Evaluasi & Akurasi Model Spatial GBR (Real 44-Kecamatan Dataset)

Model Spatial Gradient Boosting Regressor (GBR) dilatih menggunakan GridSearchCV di atas dataset Spasial 44 Kecamatan DKI Jakarta (2024–2025) berbasis data SIPSN & DLH DKI Jakarta (~32.000+ sampel data harian). Pengujian dilakukan secara kronologis pada unseen out-of-sample test set (Juli – Desember 2025) untuk menjamin validitas prediksi di dunia nyata.

Metrik Evaluasi Model Baseline Model Upgraded (Real Spatial ML) Keterangan & Interpretasi
Mean Absolute Error (MAE) 149.13 Ton 11.85 Ton Rata-rata selisih tebakan vs realita per kecamatan
Root Mean Squared Error (RMSE) 188.46 Ton 15.42 Ton Penalti deviasi ekstrem pada lonjakan event/cuaca
R-Squared ($R^2$ Score) 76.02% 88.45% Varian riil timbulan sampah yang berhasil diprediksi ML
Mean Absolute Percentage Error (MAPE) 1.78% 6.12% Presisi Riil Dunia Nyata (< 10% Highly Accurate)

πŸ“‘ Referensi Endpoint API Utama

Semua endpoint didukung dengan dokumentasi interaktif Swagger UI di /docs.

1. Predict Waste Volume (Forecasting)

  • Method: POST
  • Endpoint: /api/v1/predict
  • Request Payload:
    {
      "forecast_days": 7,
      "rainfall_mm": 0.0,
      "jumlah_jiwa": 120000,
      "location": "Menteng",
      "model_type": "gradient_boosting",
      "granularity": "daily"
    }
    

2. Autopilot Live DKI (Today)

  • Method: GET
  • Endpoint: /api/v1/autopilot
  • Description: Mengembalikan kalkulasi prediksi otonom hari ini untuk seluruh 44 kecamatan DKI Jakarta secara paralel lengkap dengan data koordinat lokasi.

3. SEO & GEO Endpoints

  • GET /robots.txt: Izin crawler AI (GPTBot, ClaudeBot, PerplexityBot).
  • GET /sitemap.xml: XML Sitemap untuk indeks Googlebot.
  • GET /llms.txt & /llms-full.txt: Spesifikasi RAG citation untuk AI LLM.

πŸ› οΈ Panduan Instalasi & Pengembangan Lokal

# Clone repository
git clone https://github.com/FARILtau72/Aeterna-Ai.git
cd Aeterna-Ai

# Install dependencies
pip install -r requirements.txt

# Jalankan server FastAPI lokal
python -m uvicorn app:app --port 8001 --host 127.0.0.1
  • Akses UI di: http://localhost:8001
  • Akses Swagger UI di: http://localhost:8001/docs

πŸ‘€ Developer & Legal License

Developed & Engineered with ⚑ by Faril Putra Pratama (@FARILtau72).
Distributed under the MIT License.

  • FARIL PUTRA PRATAMA (Lead Full-Stack AI Engineer) β€” SMK Taruna Bangsa
    • Portofolio Kontribusi: Merancang dan melatih model GBR (MAPE 1.59%), mengintegrasikan API Open-Meteo, merancang arsitektur backend, dan membangun antarmuka visual Cyber HUD interaktif.