Spaces:
Build error
Build error
| import gradio as gr | |
| import pickle | |
| from sklearn.feature_extraction.text import TfidfVectorizer | |
| from sklearn.preprocessing import LabelEncoder | |
| from xgboost import XGBClassifier | |
| # Load the model, label encoder, and vectorizer | |
| with open('xgb_model.pkl', 'rb') as model_file: | |
| model = pickle.load(model_file) | |
| with open('label_encoder.pkl', 'rb') as encoder_file: | |
| label_encoder = pickle.load(encoder_file) | |
| with open('vectorizer.pkl', 'rb') as vectorizer_file: | |
| vectorizer = pickle.load(vectorizer_file) | |
| # Define the prediction function | |
| def predict(text): | |
| try: | |
| text_vector = vectorizer.transform([text]) | |
| prediction = model.predict(text_vector) | |
| label = label_encoder.inverse_transform(prediction)[0] | |
| return {"prediction": label} | |
| except Exception as e: | |
| return {"error": str(e)} | |
| # Create the Gradio interface | |
| interface = gr.Interface( | |
| fn=predict, | |
| inputs=gr.Textbox(lines=2, placeholder="Enter a message..."), | |
| outputs="json", | |
| title="Spam Detector", | |
| description="Enter a message to determine if it is Phishing or Legitimate." | |
| ) | |
| # Launch the Gradio app | |
| interface.launch(share=True) |