|
|
|
|
|
import joblib |
|
|
from sentence_transformers import SentenceTransformer |
|
|
import numpy as np |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODEL_FILENAME = "/Users/mazamessomeba/Desktop/Projects/Soulprint_snapshot/kinara-regression/Kinara_xgb_model.pkl" |
|
|
model = joblib.load(MODEL_FILENAME) |
|
|
embedder = SentenceTransformer("all-mpnet-base-v2") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def predict(inputs: dict) -> dict: |
|
|
""" |
|
|
Expected input: |
|
|
{ |
|
|
"text": "During a heated family argument, I stayed calm and reminded everyone of our values." |
|
|
} |
|
|
|
|
|
Returns: |
|
|
{ |
|
|
"score": 0.752 |
|
|
} |
|
|
""" |
|
|
if "text" not in inputs: |
|
|
return {"error": "Missing required field 'text'"} |
|
|
|
|
|
text = inputs["text"] |
|
|
|
|
|
|
|
|
embedding = embedder.encode([text]) |
|
|
|
|
|
|
|
|
score = model.predict(embedding)[0] |
|
|
|
|
|
|
|
|
return {"score": float(score)} |
|
|
|