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) |