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()