mlflow / app.py
vikash0132's picture
Upload 3 files
84e0052 verified
raw
history blame contribute delete
859 Bytes
import joblib
import gradio as gr
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent
MODEL_PATH = BASE_DIR / "model.pkl"
model = joblib.load(MODEL_PATH)
def predict_payload(payload: str) -> str:
if not payload or not payload.strip():
return "Please enter a payload string."
pred = int(model.predict([payload])[0])
label = "Buffer Overflow / Attack" if pred == 1 else "Normal"
return f"Prediction: {pred} ({label})"
demo = gr.Interface(
fn=predict_payload,
inputs=gr.Textbox(lines=8, label="Raw Network Payload"),
outputs=gr.Textbox(label="IDS Classification"),
title="Cloud-Native IDS Payload Classifier",
description="Paste a raw payload string. The TF-IDF + XGBoost pipeline predicts Normal (0) or Attack (1).",
)
if __name__ == "__main__":
demo.launch()