aephidayatuloh commited on
Commit
2f86ae7
·
verified ·
1 Parent(s): 05712d4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -0
app.py CHANGED
@@ -11,6 +11,31 @@ HF_REPO_ID = "aephidayatuloh/bank-model"
11
  HF_MODEL_FILENAME = "random_forest_bank_marketing_pipeline.joblib"
12
  # app.py (atau index.py)
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  # --- 1. Definisi Skema Fitur (Data Mentah) ---
15
  # Model ini mendefinisikan struktur objek yang ada di dalam key "features"
16
  class FeaturesSchema(BaseModel):
 
11
  HF_MODEL_FILENAME = "random_forest_bank_marketing_pipeline.joblib"
12
  # app.py (atau index.py)
13
 
14
+ # --- SETUP MODEL (DIJALANKAN SEKALI SAAT STARTUP) ---
15
+ app = FastAPI(title="Bank Deposit Prediction (Docker)")
16
+
17
+ @app.on_event("startup")
18
+ def load_model():
19
+ global MODEL_PIPELINE
20
+ try:
21
+ # Download model dari HF Hub (direkomendasikan)
22
+ downloaded_model_path = hf_hub_download(
23
+ repo_id=HF_REPO_ID,
24
+ filename=HF_MODEL_FILENAME
25
+ )
26
+ MODEL_PIPELINE = joblib.load(downloaded_model_path)
27
+ print("✅ Model berhasil dimuat dari Hugging Face Hub.")
28
+ except Exception as e:
29
+ print(f"❌ Gagal memuat model: {e}")
30
+ MODEL_PIPELINE = None
31
+
32
+
33
+ # --- ENDPOINT PREDIKSI ---
34
+
35
+ @app.get("/")
36
+ def home():
37
+ return {"status": "ok", "message": "FastAPI is running inside Docker on HF Spaces."}
38
+
39
  # --- 1. Definisi Skema Fitur (Data Mentah) ---
40
  # Model ini mendefinisikan struktur objek yang ada di dalam key "features"
41
  class FeaturesSchema(BaseModel):