Files
2026-03-31 21:22:20 +08:00

26 lines
970 B
Python

#!/usr/bin/env python3
import argparse
import json
from pathlib import Path
def main() -> None:
parser = argparse.ArgumentParser(description="Diff two eval reports.")
parser.add_argument("before")
parser.add_argument("after")
args = parser.parse_args()
before = json.loads(Path(args.before).read_text(encoding="utf-8"))
after = json.loads(Path(args.after).read_text(encoding="utf-8"))
diff = {
"false_positive_delta": after["summary"]["false_positives"] - before["summary"]["false_positives"],
"false_negative_delta": after["summary"]["false_negatives"] - before["summary"]["false_negatives"],
"precision_delta": round(after["summary"]["average_precision"] - before["summary"]["average_precision"], 3),
"recall_delta": round(after["summary"]["average_recall"] - before["summary"]["average_recall"], 3),
}
print(json.dumps(diff, ensure_ascii=False, indent=2))
if __name__ == "__main__":
main()