rohitg00/ai-engineering-from-scratch · error · ValueError

adapter.model_id values must be unique within a single eval

Error message

adapter.model_id values must be unique within a single eval run

What it means

Error "adapter.model_id values must be unique within a single eval run" thrown in rohitg00/ai-engineering-from-scratch.

Source

Thrown at phases/19-capstone-projects/75-end-to-end-eval-runner/code/main.py:147

        correct=bool(correct),
        confidence=float(min(1.0, max(0.0, gen.confidence))),
        generation=gen.text,
        detail=detail,
        wall_seconds=float(elapsed),
    )


def run_eval(
    adapters: Sequence[ModelAdapter],
    tasks: Sequence[TaskSpec],
    parallel: bool = True,
    max_workers: int = 8,
    code_exec_timeout_s: float = 3.0,
) -> tuple[list[TaskResult], dict[str, list[tuple[float, float, int]]]]:
    results: list[TaskResult] = []
    model_ids = [a.model_id for a in adapters]
    if len(set(model_ids)) != len(model_ids):
        raise ValueError("adapter.model_id values must be unique within a single eval run")
    calibration_buf: dict[str, list[tuple[float, float, int]]] = {mid: [] for mid in model_ids}

    if not tasks or not adapters:
        return results, calibration_buf

    work: list[tuple[ModelAdapter, TaskSpec]] = []
    for adapter in adapters:
        for task in tasks:
            work.append((adapter, task))

    if parallel and len(work) > 1:
        workers = min(max_workers, len(work))
        with ThreadPoolExecutor(max_workers=workers) as ex:
            futures = {
                ex.submit(_score_one, adapter, task, code_exec_timeout_s): (adapter, task)
                for adapter, task in work
            }
            for fut in as_completed(futures):

View on GitHub (pinned to 39ea8a1c6d)

When it happens

Trigger: Thrown at phases/19-capstone-projects/75-end-to-end-eval-runner/code/main.py:147 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26). Data as JSON: /api/errors/0782a0e669d5fd45. Report an issue: GitHub.