import gradio as gr import joblib # Load model and vectorizer model = joblib.load('model.joblib') vectorizer = joblib.load('vectorizer.joblib') def predict(message): tfidf = vectorizer.transform([message]) pred = model.predict(tfidf)[0] probs = model.predict_proba(tfidf)[0] label = 'SPAM' if pred == 1 else 'HAM' conf = probs[1] if pred == 1 else probs[0] return f'{label} ({conf:.2%})' interface = gr.Interface( fn=predict, inputs=gr.Textbox(lines=2, placeholder='Enter text here...'), outputs='text', title='SMS Spam Detector', description='A Multinomial Naive Bayes model for SMS spam detection.' ) interface.launch()