File size: 747 Bytes
0d82b06 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
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)
|