Spaces:
Build error
Build error
| import gradio as gr | |
| import pickle | |
| import os | |
| import sys | |
| # Add debugging information | |
| print("Current directory:", os.getcwd()) | |
| print("Files in directory:", os.listdir()) | |
| # Load the trained model and vectorizer with better error handling | |
| try: | |
| model_path = 'model.pkl' | |
| vectorizer_path = 'vectorizer.pkl' | |
| print(f"Loading model from {model_path}") | |
| model = pickle.load(open(model_path, 'rb')) | |
| print(f"Loading vectorizer from {vectorizer_path}") | |
| vectorizer = pickle.load(open(vectorizer_path, 'rb')) | |
| print("Model and vectorizer loaded successfully") | |
| except Exception as e: | |
| print(f"Error loading model or vectorizer: {e}") | |
| print(f"Python version: {sys.version}") | |
| print(f"System path: {sys.path}") | |
| 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: | |
| error_msg = f"Error during prediction: {e}" | |
| print(error_msg) | |
| return error_msg | |
| # 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." | |
| ) | |
| # For Hugging Face deployment | |
| iface.launch(server_name="0.0.0.0", server_port=7860) |