import gradio as gr from model.predictor import LBWPredictor from utils.preprocess import clean_input predictor = LBWPredictor("model/lbw_model.joblib") def predict_interface(**kwargs): features = clean_input(kwargs) return predictor.predict(features) with gr.Blocks() as demo: gr.Markdown("# GullyDRS: LBW Predictor 🏏") inputs = [ gr.Number(label="Ball Speed (km/h)", value=130), gr.Number(label="Impact X", value=0.25), gr.Number(label="Impact Y", value=0.5), gr.Number(label="Stump Height", value=0.71) ] btn = gr.Button("Predict LBW") output = gr.Textbox(label="Decision") btn.click(predict_interface, inputs=inputs, outputs=output) demo.launch()