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

Function main

python/agents/invoice-processing/eval/eval.py:1418–1459  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1416
1417
1418def main():
1419 args = _parse_args()
1420
1421 master = _load_master(args.master_data)
1422
1423 gt_dir, agent_dir = _resolve_directories(args)
1424
1425 case_ids = _collect_case_ids(args, gt_dir, agent_dir)
1426
1427 # Initialize LLM if needed
1428 llm_model = None
1429 if not args.skip_llm:
1430 llm_model = _init_llm()
1431 if llm_model is None:
1432 print(
1433 "\n Warning: LLM unavailable (missing packages or PROJECT_ID). "
1434 "Running deterministic only."
1435 )
1436 print(
1437 " Install: pip install google-cloud-aiplatform python-dotenv"
1438 )
1439
1440 domain_name = master.display_name if master else "Invoice Processing"
1441 print("=" * 70)
1442 print(f"{domain_name.upper()} AGENT EVALUATION")
1443 print("=" * 70)
1444 print(f" Ground truth: {gt_dir}")
1445 print(f" Agent output: {agent_dir}")
1446 if master:
1447 print(f" Master data: {master.source_path}")
1448 print(f" Cases: {len(case_ids)}")
1449 print(f" Tolerance: ${args.tolerance}")
1450 print(f" LLM judge: {'enabled' if llm_model else 'disabled'}")
1451
1452 results = _run_evaluation_loop(
1453 case_ids, gt_dir, agent_dir, args.tolerance, llm_model, master
1454 )
1455
1456 stats = compute_aggregate_stats(results, master)
1457 print_report(stats, results)
1458
1459 _save_results(args, stats, results, gt_dir, agent_dir, llm_model, master)
1460
1461
1462if __name__ == "__main__":

Callers 1

eval.pyFile · 0.70

Calls 9

_load_masterFunction · 0.85
_resolve_directoriesFunction · 0.85
_collect_case_idsFunction · 0.85
_init_llmFunction · 0.85
_run_evaluation_loopFunction · 0.85
compute_aggregate_statsFunction · 0.85
print_reportFunction · 0.85
_parse_argsFunction · 0.70
_save_resultsFunction · 0.70

Tested by

no test coverage detected