| import gradio as gr, pickle, random | |
| from sentence_transformers import SentenceTransformer | |
| with open("intent_model.pkl","rb") as f: | |
| data = pickle.load(f) | |
| clf = data["classifier"] | |
| id2label = data["id2label"] | |
| embedder = SentenceTransformer(data["embed_model"]) | |
| intents_meta = data["intents_meta"] | |
| def predict(text): | |
| emb = embedder.encode([text]) | |
| pred = clf.predict(emb)[0] | |
| intent = id2label[pred] | |
| meta = intents_meta[intent] | |
| return f"Intent: {intent}\nResponse: {random.choice(meta['responses'])}\nAction: {meta['action']}" | |
| gr.Interface(fn=predict, inputs="text", outputs="text", title="🧠 Jarvis Intent Classifier").launch() | |