File size: 672 Bytes
c560db3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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()