# Default server / model for tool-eval-bench. # Copy to .env and adjust for your setup. # Option A: full URL (preferred) # TOOL_EVAL_BASE_URL=http://your-server:8080 # Option B: host + port separately (used when BASE_URL is empty) TOOL_EVAL_HOST=your-server TOOL_EVAL_PORT=8080 # Backend label for reports (optional: auto-detected, otherwise unknown) # The request format follows the endpoint, independently of this label. # TOOL_EVAL_BACKEND=vllm # Model name/path — leave empty for auto-detection from /v1/models TOOL_EVAL_MODEL= # API key — leave empty if not required TOOL_EVAL_API_KEY= # --------------------------------------------------------------------------- # Decision judge for optional answer audits (docs/decision-models.md). # These only configure the connection: pass --decision-judge to audit a run. # The model is auto-detected from the judge's /v1/models when left empty. # The key is sent only to the judge, and the benchmark key never is. # --------------------------------------------------------------------------- # TOOL_EVAL_DECISION_JUDGE_BASE_URL=http://localhost:8084/v1 # TOOL_EVAL_DECISION_JUDGE_MODEL= # TOOL_EVAL_DECISION_JUDGE_API_KEY= # --------------------------------------------------------------------------- # Named providers, for A/B runs from one .env. # # `tool-eval-bench run --provider gemini` (or TOOL_EVAL_PROVIDER=gemini) reads # TOOL_EVAL_GEMINI_BASE_URL / _API_KEY / _MODEL instead of the generic values # above. The name is free-form: VLLM_A and VLLM_B work as well as the vendor # names. gemini, openai and anthropic also set the report's backend label and # skip engine probing. --base-url, --api-key and --model still override. # --------------------------------------------------------------------------- # Gemini, native API (https://ai.google.dev/api/generate-content). # Do not include /openai in the path: that is the OpenAI-compatible layer. # TOOL_EVAL_GEMINI_BASE_URL=https://generativelanguage.googleapis.com # TOOL_EVAL_GEMINI_API_KEY= # TOOL_EVAL_GEMINI_MODEL=gemini-2.5-pro # OpenAI (https://developers.openai.com/api/reference). # TOOL_EVAL_OPENAI_BASE_URL=https://api.openai.com # TOOL_EVAL_OPENAI_API_KEY= # TOOL_EVAL_OPENAI_MODEL=gpt-5 # Anthropic, native Messages API (https://platform.claude.com/docs/en/api/messages). # Detected from the host. Add /v1/chat/completions to the URL to benchmark the # OpenAI-compatible layer instead. # TOOL_EVAL_ANTHROPIC_BASE_URL=https://api.anthropic.com # TOOL_EVAL_ANTHROPIC_API_KEY= # TOOL_EVAL_ANTHROPIC_MODEL=claude-opus-5 # A gateway that serves the Messages API for other models (OpenCode Zen here). # A URL ending in /messages selects the format; a gateway root that serves # several formats needs --format anthropic. # OpenCode Go routes by conversation: it refuses a request without a stable # x-opencode-session and asks clients to name themselves. Headers are # NAME=VALUE pairs separated by ';'. --header and --session-header override. # TOOL_EVAL_ZEN_BASE_URL=https://opencode.ai/zen/go/v1/messages # TOOL_EVAL_ZEN_API_KEY= # TOOL_EVAL_ZEN_MODEL= # TOOL_EVAL_ZEN_HEADERS=User-Agent=my-coding-agent/1.0 # TOOL_EVAL_ZEN_SESSION_HEADER=x-opencode-session # A second self-hosted box, for engine-vs-engine comparisons. # TOOL_EVAL_LOCAL_BASE_URL=http://gpu-box:8080