Risk1 / app.py
Sanjayraju30's picture
Create app.py
53267d3 verified
raw
history blame
1.49 kB
import gradio as gr
from fastapi import FastAPI
from risk_model import predict_risk, retrain_model, get_history_df
app = FastAPI()
gradio_app = gr.Blocks()
with gradio_app:
gr.Markdown("## 🔥 Heating Mantle Safety Risk Predictor")
with gr.Row():
temp = gr.Number(label="Max Temperature (°C)", value=100)
duration = gr.Number(label="Duration (min)", value=30)
with gr.Row():
predict_btn = gr.Button("🔍 Predict")
retrain_btn = gr.Button("🔁 Retrain Model")
result = gr.Textbox(label="Risk Prediction")
score = gr.Textbox(label="Confidence (%)")
retrain_output = gr.Textbox(label="Retrain Status")
history_table = gr.Dataframe(headers=["Temperature", "Duration", "Risk", "Confidence"], label="📈 Prediction History")
def classify(temp, duration):
if temp <= 0 or duration <= 0:
return "Invalid Input", "Use values > 0", get_history_df()
risk, confidence = predict_risk(temp, duration)
emoji = "🟢" if risk == "Low" else "🟠" if risk == "Moderate" else "🔴"
return f"{emoji} {risk}", f"{confidence}%", get_history_df()
predict_btn.click(classify, inputs=[temp, duration], outputs=[result, score, history_table])
retrain_btn.click(retrain_model, outputs=[retrain_output])
# Mount Gradio onto FastAPI
@app.get("/")
def read_root():
return {"message": "Heating Mantle Risk API is running!"}
app = gr.mount_gradio_app(app, gradio_app, path="/predict-ui")