Skip to main content

Configuration & Running

The eval harness uses Hydra for configuration. This page covers the key settings and a step-by-step guide for running evals in Tinker mode (no GPU required). For Local or Modal mode, swap the environment variables and dependencies accordingly.

Key Config Fields

For the full config field reference, see the Configuration Reference.

Secrets

CLI Overrides

Hydra overrides are positional arguments after the eval subcommand:

Programmatic Usage

Running the Eval

1

Install dependencies

2

Start the Tinker inference proxy

3

Start the CLaaS API

Use claas.api:web_app, not claas.api:app. The app object is a Modal App and is not ASGI-compatible.
4

Run the eval

This runs with the default Hydra config (claas/eval/configs/base.yaml). Override any field via key=value arguments.
5

View results

Results are written to ./data/evals/<run-id>/. View them in the browser via the eval dashboard:
Or inspect the raw output:

Known Gotchas

Tinker uses its own model identifiers that differ from HuggingFace names. For example, the HuggingFace model Qwen/Qwen3-Coder-30B-A3B-Instruct is Qwen/Qwen3-30B-A3B in Tinker. Sampling works with either name, but LoRA training init will reject the HuggingFace name with a 400 error. Always use the Tinker name in base_model.
When running the CLaaS API with uvicorn directly (no Docker/Modal), use claas.api:web_app, not claas.api:app. The app object is a Modal App and is not ASGI-compatible.
The proxy reads CLAAS_TINKER_BASE_MODEL to initialize its sampling client, and the eval config’s base_model is passed to the API for LoRA init. If they reference different models, scoring and training will target different models.
The collapse metric generates multiple stochastic samples per step. It only runs at steps listed in collapse_steps (default [0, 5, 10, 15, 19]) to limit overhead. You can further reduce cost by narrowing the list.