File size: 782 Bytes
7c48757 | 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 | from trignum_core.evaluator import Evaluator
from trignum_core.subtractive_filter import SubtractiveFilter
def run_preflight(samples):
sf = SubtractiveFilter()
tp = fp = tn = fn = 0
for sample in samples:
result = sf.apply(sample["text"])
predicted = len(result.illogics_found) > 0
actual = sample.get("has_hallucination", False)
if predicted and actual: tp += 1
elif predicted and not actual: fp += 1
elif not predicted and actual: fn += 1
else: tn += 1
metrics = Evaluator.compute_metrics(tp, fp, tn, fn)
print(metrics)
if __name__ == "__main__":
# Placeholder sample
samples = [{"text": "All cats are dogs.", "has_hallucination": True}]
run_preflight(samples)
|