CoolFace
Apppublic

Erlanggs/mbg-ai-api

sourceHugging Faceupdated 4mo agoView on Hugging Face
0likes
App README

CAPSTONE AI MBG (Makan Bergizi Gratis)

Deskripsi Project

Project AI ini digunakan untuk:

  1. 1.Melakukan klasifikasi status gizi anak menggunakan model Deep Learning BMI.
  2. 2.Menghitung kebutuhan kalori berdasarkan hasil klasifikasi.
  3. 3.Memberikan rekomendasi paket menu MBG.
  4. 4.Menyediakan REST API agar dapat diintegrasikan ke Front-End / Fullstack.
  5. 5.Menyediakan chatbot edukasi gizi sebagai fitur sekunder.

=================================================

Struktur Folder Project

project/

├── app.py ├── Dockerfile ├── requirements.txt ├── README.md ├── notebook/ │ └── CapstoneAIMBG.ipynb ├── models/ │ ├── modelbmiclassification.keras │ ├── scaler.pkl │ ├── labelencoder.pkl │ └── featurecolumns.pkl ├── datasets/ │ ├── datasetbmi.csv │ └── tabelmenu.csv

=================================================

Penjelasan File

app.py

Backend utama FastAPI.

Berisi:

  • endpoint prediksi BMI
  • endpoint chatbot
  • load model
  • preprocessing
  • integrasi generative AI

Endpoint:

GET /

GET /health

POST /predict

POST /chatbot


Dockerfile

Digunakan untuk menjalankan backend menggunakan container Docker.

Memudahkan deployment dan menyamakan environment antar device.


requirements.txt

Berisi dependency project.

Digunakan untuk install seluruh library.

Contoh:

pip install -r requirements.txt


Folder /models

modelbmiclassification.keras

Model utama Deep Learning.

Digunakan untuk:

  • klasifikasi status gizi
  • confidence prediction

scaler.pkl

Digunakan untuk scaling input.

WAJIB digunakan sebelum inference.

label_encoder.pkl

Digunakan untuk decode output model.

Label:

  • Underweight
  • Normal
  • Overweight
  • Obesity

feature_columns.pkl

Digunakan untuk menjaga urutan fitur inference.


Folder /datasets

dataset_bmi.csv

Dataset training model BMI.

tabel_menu.csv

Dataset recommendation engine.

Digunakan untuk memilih:

  • karbohidrat
  • lauk
  • sayur
  • buah
  • susu

Notebook

CapstoneAIMBG.ipynb

Notebook utama project.

Berisi:

  1. 1.preprocessing
  2. 2.training model
  3. 3.evaluasi
  4. 4.nutrition engine
  5. 5.recommendation engine
  6. 6.REST API
  7. 7.generative AI chatbot

=================================================

Cara Menjalankan Environment

Install dependency:

pip install -r requirements.txt

=================================================

Cara Load Model

import tensorflow as tf import joblib

model = tf.keras.models.loadmodel( "models/modelbmi_classification.keras" )

scaler = joblib.load( "models/scaler.pkl" )

encoder = joblib.load( "models/label_encoder.pkl" )

=================================================

Menjalankan API TANPA Docker

uvicorn app:app --host 0.0.0.0 --port 8000

Swagger:

http://localhost:8000/docs

=================================================

Menjalankan API DENGAN Docker

Build:

docker build -t ai-mbg .

Run:

docker run -p 8000:8000 ai-mbg

Swagger:

http://localhost:8000/docs

=================================================

Endpoint API

GET /

Digunakan untuk mengecek API berjalan.


GET /health

Digunakan untuk health checking backend.


POST /predict

Digunakan untuk:

  • hitung BMI
  • klasifikasi status gizi

Input:

age gender height weight

Output:

BMI status_gizi confidence


POST /chatbot

Digunakan untuk chatbot edukasi gizi.

Input:

BMI status_gizi target kalori menu rekomendasi pertanyaan user

Output:

jawaban chatbot

=================================================

Catatan Untuk Tim Fullstack

WAJIB:

  1. 1.Gunakan scaler.pkl sebelum prediksi
  2. 2.Gunakan feature_columns.pkl
  3. 3.Jangan kirim data mentah langsung ke model
  4. 4.Endpoint API lebih disarankan dibanding memanggil model langsung
  5. 5.Gunakan endpoint /chatbot untuk fitur edukasi gizi

=================================================

Author

Capstone Project AI MBG

Erlanggs/mbg-ai-api · CoolFace