Leon4gr45 commited on
Commit
4bb804c
·
verified ·
1 Parent(s): 66b03c6

Delete benchmarks/beam/provenance.py

Browse files
Files changed (1) hide show
  1. benchmarks/beam/provenance.py +0 -99
benchmarks/beam/provenance.py DELETED
@@ -1,99 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import hashlib
4
- import subprocess
5
- from pathlib import Path
6
- from typing import Any
7
-
8
- from beam.config import BENCHMARKS_ROOT, Settings, model_family
9
- from beam.prompts import (
10
- ANSWER_SYSTEM,
11
- JUDGE_PROMPT_VARIANT,
12
- UNIFIED_LLM_JUDGE_BASE_PROMPT,
13
- prompt_sha256,
14
- )
15
-
16
- REPO_ROOT = BENCHMARKS_ROOT.parent
17
-
18
-
19
- def _git(*args: str) -> str | None:
20
- try:
21
- result = subprocess.run(
22
- ["git", *args],
23
- cwd=REPO_ROOT,
24
- capture_output=True,
25
- text=True,
26
- timeout=10,
27
- )
28
- except (OSError, subprocess.SubprocessError):
29
- return None
30
- if result.returncode != 0:
31
- return None
32
- return result.stdout.strip()
33
-
34
-
35
- def git_sha() -> str | None:
36
- return _git("rev-parse", "HEAD")
37
-
38
-
39
- def git_dirty() -> bool | None:
40
- status = _git("status", "--porcelain")
41
- if status is None:
42
- return None
43
- return bool(status.strip())
44
-
45
-
46
- def file_sha256(path: Path) -> str | None:
47
- if not path.exists():
48
- return None
49
- digest = hashlib.sha256()
50
- with path.open("rb") as handle:
51
- for chunk in iter(lambda: handle.read(1024 * 1024), b""):
52
- digest.update(chunk)
53
- return digest.hexdigest()
54
-
55
-
56
- def dir_manifest_sha256(data_dir: Path) -> str | None:
57
- if not data_dir.exists():
58
- return None
59
- digest = hashlib.sha256()
60
- paths = sorted(p for p in data_dir.rglob("*") if p.is_file())
61
- if not paths:
62
- return None
63
- for path in paths:
64
- rel = str(path.relative_to(data_dir))
65
- digest.update(rel.encode("utf-8"))
66
- digest.update(b"\0")
67
- with path.open("rb") as handle:
68
- for chunk in iter(lambda: handle.read(1024 * 1024), b""):
69
- digest.update(chunk)
70
- digest.update(b"\0")
71
- return digest.hexdigest()
72
-
73
-
74
- def build_provenance(settings: Settings, *, size: str | None = None) -> dict[str, Any]:
75
- data_root = settings.beam_data_dir
76
- scoped = data_root / size if size else data_root
77
- return {
78
- "git_sha": git_sha(),
79
- "git_dirty": git_dirty(),
80
- "answer_prompt_sha256": prompt_sha256(ANSWER_SYSTEM),
81
- "judge_prompt_sha256": prompt_sha256(UNIFIED_LLM_JUDGE_BASE_PROMPT),
82
- "judge_prompt_variant": JUDGE_PROMPT_VARIANT,
83
- "dataset_path": str(scoped),
84
- "dataset_sha256": dir_manifest_sha256(scoped),
85
- "answer_model": settings.answer_model,
86
- "answer_model_family": model_family(settings.answer_model),
87
- "answer_llm_base_url": settings.llm_base_url,
88
- "judge_model": settings.judge_model,
89
- "judge_model_family": model_family(settings.judge_model),
90
- "judge_provider": settings.judge_provider(),
91
- "judge_shares_answer_family": settings.judge_shares_answer_family,
92
- "hf_dataset": (
93
- settings.hf_dataset_for(size) if size else settings.hf_dataset
94
- ),
95
- "bench_profile": settings.bench_profile,
96
- "sc_samples": settings.sc_samples,
97
- "sc_temperature": settings.sc_temperature,
98
- "gap_fill": settings.gap_fill,
99
- }