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)