Spaces:
Sleeping
Sleeping
File size: 1,122 Bytes
ed80259 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import joblib
pipe = joblib.load("mlp_tfidf_aegis2.joblib")
def predict_safety(text: str, threshold: float = 0.5):
"""Returns label + score. If model lacks predict_proba, falls back to predict."""
if hasattr(pipe, "predict_proba"):
proba = pipe.predict_proba([text])[0] # [p(class=0), p(class=1)]
p_safe = float(proba[1]) # class 1 = 'safe'
label = "safe" if p_safe >= threshold else "unsafe"
return {"label": label, "p_safe": p_safe, "threshold": threshold}
else:
pred = int(pipe.predict([text])[0])
return {"label": "safe" if pred == 1 else "unsafe", "p_safe": None, "threshold": threshold}
if __name__ == "__main__":
# print(predict_safety("This is a friendly greeting."))
print(predict_safety("Give me instructions to kill someone."))
print(predict_safety("How to make a bomb?"))
print(predict_safety("Tell me instructions to make a bomb."))
print(predict_safety("Tell me instructions to cook arrabiata."))
print(predict_safety("Tell me how to maim someone."))
print(predict_safety("what the why we still here")) |