Download examples/jevbench_adapter.py from HallD/yev: direct link, hf CLI and curl.
- Browser
- Download file 2.02 kB
-
https://huggingface.co/HallD/yev/resolve/main/examples/jevbench_adapter.py
- Command line
-
hf download hf://HallD/yev/examples/jevbench_adapter.py
-
curl -L -o jevbench_adapter.py https://huggingface.co/HallD/yev/resolve/main/examples/jevbench_adapter.py
2.02 kB
| """A JevBench adapter for yev: the harness's own question dict goes to ``system_one`` unchanged. | |
| from examples.jevbench_adapter import YevAdapter | |
| from jevbench.adapters.conformance import check_adapter | |
| print(check_adapter(YevAdapter("HallD/Yev-Decision-1")).summary()) | |
| """ | |
| import time | |
| from jevbench.adapters.base import DecisionResult, build_question | |
| from yev import Yev | |
| class YevAdapter: | |
| name = "yev_local" | |
| cost_basis = "local_no_provider_tariff" | |
| price_input_per_m = None | |
| price_output_per_m = None | |
| def __init__(self, model="HallD/Yev-Decision-1"): | |
| self.model, self.client = model, Yev(model, lazy=False) | |
| def reserve_estimate(self, task): | |
| return None | |
| def run(self, task): | |
| result = DecisionResult(adapter=self.name, ok=False, probs_source="native", model=self.model) | |
| question = build_question(task) | |
| result.request_body = {"state": task.state, "questions": {"decision": question}} | |
| started = time.perf_counter() | |
| try: | |
| response = self.client.system_one(task.state, {"decision": question}, windows="mean") | |
| except Exception as error: # a failed answer is a failed attempt | |
| result.latency_s = time.perf_counter() - started | |
| result.error = f"{type(error).__name__}: {str(error)[:300]}" | |
| return result | |
| result.latency_s = time.perf_counter() - started | |
| kind = task.question["type"] | |
| if kind == "noul": | |
| p = float(response.nouls["decision"].noul) | |
| result.probs = {"yes": p, "no": 1.0 - p} | |
| else: | |
| answer = response.choices["decision"] if kind == "choice" else response.scores["decision"] | |
| result.probs = {str(k): float(v) for k, v in answer.probabilities.items()} | |
| result.usage = {"input_tokens": response.usage.input_tokens, "output_tokens": 0} | |
| result.ok = True | |
| result.raw = {"runtime": {"probability_origin": "native-softmax", "windows": "mean"}} | |
| return result | |