jarvis-intent-classifier / inference.py
KrishnanDevilking's picture
Upload folder using huggingface_hub
0d82b06 verified
import pickle, random
from sentence_transformers import SentenceTransformer
# Load model once
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]
response = random.choice(meta["responses"])
return {
"intent": intent,
"response": response,
"action": meta["action"]
}
# Required entrypoint for Hugging Face inference API
def predict_intent(inputs: str):
return predict(inputs)