File size: 1,265 Bytes
53267d3
 
 
bb607ff
53267d3
 
 
 
 
 
 
 
 
 
 
 
 
 
bb607ff
53267d3
 
 
bb607ff
53267d3
 
 
 
 
 
 
bb607ff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import gradio as gr
from risk_model import predict_risk, retrain_model, get_history_df

with gr.Blocks() as demo:
    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])

demo.launch()