import gradio as gr import pickle import sklearn # Ensure sklearn is imported # Load the trained model and vectorizer safely try: model = pickle.load(open('model.pkl', 'rb')) # Changed filename vectorizer = pickle.load(open('vectorizer.pkl', 'rb')) # Keep this as it is except Exception as e: print(f"Error loading model: {e}") def predict_sms(message): try: transformed_text = vectorizer.transform([message]) prediction = model.predict(transformed_text)[0] return "Spam" if prediction == 1 else "Not Spam" except Exception as e: return f"Error: {e}" # Gradio Web Interface iface = gr.Interface( fn=predict_sms, inputs=gr.Textbox(label="Enter SMS Message"), outputs=gr.Label(), title="SMS Spam Classifier", description="Enter a message to check if it's spam or not." ) # Launch the app iface.launch()