MCPcopy Create free account
hub / github.com/google/adk-samples / _save_results

Function _save_results

python/agents/invoice-processing/eval/eval.py:1375–1415  ·  view source on GitHub ↗

Save evaluation results to a JSON file.

(
    args: argparse.Namespace,
    stats: dict,
    results: list[dict],
    gt_dir: Path,
    agent_dir: Path,
    llm_model: Any | None,
    master: MasterData | None,
)

Source from the content-addressed store, hash-verified

1373
1374
1375def _save_results(
1376 args: argparse.Namespace,
1377 stats: dict,
1378 results: list[dict],
1379 gt_dir: Path,
1380 agent_dir: Path,
1381 llm_model: Any | None,
1382 master: MasterData | None,
1383) -> None:
1384 """Save evaluation results to a JSON file."""
1385 if args.output:
1386 output_file = Path(args.output)
1387 output_file.parent.mkdir(parents=True, exist_ok=True)
1388 else:
1389 EVAL_OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
1390 timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
1391 output_file = EVAL_OUTPUT_DIR / f"eval_{timestamp}.json"
1392
1393 output_json = {
1394 "timestamp": datetime.now().isoformat(),
1395 "config": {
1396 "domain": master.domain if master else "invoice_processing",
1397 "display_name": master.display_name
1398 if master
1399 else "Invoice Processing",
1400 "master_data": str(master.source_path)
1401 if master and master.source_path
1402 else None,
1403 "ground_truth_dir": str(gt_dir),
1404 "agent_output_dir": str(agent_dir),
1405 "tolerance": args.tolerance,
1406 "llm_judge": llm_model is not None,
1407 },
1408 "statistics": stats,
1409 "results": results,
1410 }
1411
1412 with open(output_file, "w", encoding="utf-8") as f:
1413 json.dump(output_json, f, indent=2, ensure_ascii=False)
1414
1415 print(f"Results saved to: {output_file}")
1416
1417
1418def main():

Callers 1

mainFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected