MCPcopy Create free account
hub / github.com/ScaleML/AgentSPEX / build_eval_summary

Function build_eval_summary

src/benchmarks/chembench/evaluate.py:243–284  ·  view source on GitHub ↗

Build a complete evaluation summary dict. Args: results: List of result dicts. mode: "baseline" or "agent". model: Model name string. topic_key: Key for topic field in results. extra: Additional fields to include (e.g., usage stats). Returns:

(
    results: list[dict[str, Any]],
    mode: str,
    model: str,
    topic_key: str = "topic",
    extra: dict[str, Any] | None = None,
)

Source from the content-addressed store, hash-verified

241
242
243def build_eval_summary(
244 results: list[dict[str, Any]],
245 mode: str,
246 model: str,
247 topic_key: str = "topic",
248 extra: dict[str, Any] | None = None,
249) -> dict[str, Any]:
250 """Build a complete evaluation summary dict.
251
252 Args:
253 results: List of result dicts.
254 mode: "baseline" or "agent".
255 model: Model name string.
256 topic_key: Key for topic field in results.
257 extra: Additional fields to include (e.g., usage stats).
258
259 Returns:
260 Complete evaluation summary dict.
261 """
262 topic_stats = compute_topic_stats(results, topic_key=topic_key)
263 overall = compute_overall_stats(topic_stats)
264
265 # Collect wrong question identifiers
266 wrong_names = []
267 for r in results:
268 report = r.get("report", r)
269 if not is_correct(report):
270 name = r.get("name", report.get("name", ""))
271 wrong_names.append(name)
272
273 summary = {
274 "mode": mode,
275 "model": model,
276 **overall,
277 "topic_stats": topic_stats,
278 "wrong_names": wrong_names,
279 }
280
281 if extra:
282 summary.update(extra)
283
284 return summary
285
286
287def save_eval_summary(

Callers 2

mainFunction · 0.90
mainFunction · 0.90

Calls 4

compute_topic_statsFunction · 0.85
compute_overall_statsFunction · 0.85
is_correctFunction · 0.85
getMethod · 0.80

Tested by

no test coverage detected