This commit is contained in:
498
litellm-config.yaml
Normal file
498
litellm-config.yaml
Normal file
@@ -0,0 +1,498 @@
|
||||
model_list:
|
||||
# ── Anthropic ──────────────────────────────────────────────────
|
||||
# Sprint 10 Task 1.2 (2026-04-21): Sonnet 4.6 dated-snapshot suffix
|
||||
# `-20250514` was never a valid Claude API ID for the 4.6 family (docs
|
||||
# list plain `claude-sonnet-4-6` as current ID + alias as of 2026-04-21
|
||||
# per https://platform.claude.com/docs/en/docs/about-claude/models/overview).
|
||||
# Repointed to the plain alias. Migration note: ops/litellm/README.md.
|
||||
# refs sprint-10-brief §1.1
|
||||
- model_name: claude-sonnet-4-6
|
||||
litellm_params:
|
||||
model: anthropic/claude-sonnet-4-6
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
|
||||
- model_name: claude-opus-4-6
|
||||
litellm_params:
|
||||
model: anthropic/claude-opus-4-6
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
|
||||
- model_name: claude-haiku-4-5
|
||||
litellm_params:
|
||||
model: anthropic/claude-haiku-4-5-20251001
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
|
||||
# Legacy aliases (backwards compat). Both now point to the plain
|
||||
# `claude-sonnet-4-6` alias per Sprint 10 Task 1.2 (see note above).
|
||||
- model_name: claude-3-5-sonnet-20241022
|
||||
litellm_params:
|
||||
model: anthropic/claude-sonnet-4-6
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
|
||||
- model_name: anthropic/claude-sonnet-4-6
|
||||
litellm_params:
|
||||
model: anthropic/claude-sonnet-4-6
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
|
||||
- model_name: anthropic/claude-opus-4.6
|
||||
litellm_params:
|
||||
model: anthropic/claude-opus-4-6
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
|
||||
# ── OpenAI ─────────────────────────────────────────────────────
|
||||
- model_name: gpt-4o
|
||||
litellm_params:
|
||||
model: openai/gpt-4o
|
||||
api_key: os.environ/OPENAI_API_KEY
|
||||
|
||||
- model_name: gpt-4o-mini
|
||||
litellm_params:
|
||||
model: openai/gpt-4o-mini
|
||||
api_key: os.environ/OPENAI_API_KEY
|
||||
|
||||
- model_name: o3
|
||||
litellm_params:
|
||||
model: openai/o3
|
||||
api_key: os.environ/OPENAI_API_KEY
|
||||
|
||||
# ── Google Gemini ──────────────────────────────────────────────
|
||||
# Use stable slug (not dated preview). Google deprecated -preview-05-20
|
||||
# and -preview-06-05 — verified 2026-04-21 via live /v1beta/models list.
|
||||
- model_name: gemini-2.5-pro
|
||||
litellm_params:
|
||||
model: gemini/gemini-2.5-pro
|
||||
api_key: os.environ/GEMINI_API_KEY
|
||||
|
||||
- model_name: gemini-2.5-flash
|
||||
litellm_params:
|
||||
model: gemini/gemini-2.5-flash
|
||||
api_key: os.environ/GEMINI_API_KEY
|
||||
|
||||
# ── xAI (Grok) ────────────────────────────────────────────────
|
||||
- model_name: grok-3
|
||||
litellm_params:
|
||||
model: xai/grok-3
|
||||
api_key: os.environ/XAI_API_KEY
|
||||
|
||||
- model_name: grok-3-mini
|
||||
litellm_params:
|
||||
model: xai/grok-3-mini
|
||||
api_key: os.environ/XAI_API_KEY
|
||||
|
||||
# ── DeepSeek ───────────────────────────────────────────────────
|
||||
- model_name: deepseek-chat
|
||||
litellm_params:
|
||||
model: deepseek/deepseek-chat
|
||||
api_key: os.environ/DEEPSEEK_API_KEY
|
||||
|
||||
- model_name: deepseek-reasoner
|
||||
litellm_params:
|
||||
model: deepseek/deepseek-reasoner
|
||||
api_key: os.environ/DEEPSEEK_API_KEY
|
||||
|
||||
# ── Perplexity ─────────────────────────────────────────────────
|
||||
- model_name: perplexity-sonar
|
||||
litellm_params:
|
||||
model: perplexity/sonar
|
||||
api_key: os.environ/PERPLEXITY_API_KEY
|
||||
|
||||
- model_name: perplexity-sonar-pro
|
||||
litellm_params:
|
||||
model: perplexity/sonar-pro
|
||||
api_key: os.environ/PERPLEXITY_API_KEY
|
||||
|
||||
# ── OpenRouter (fallback to any model) ─────────────────────────
|
||||
- model_name: openrouter/auto
|
||||
litellm_params:
|
||||
model: openrouter/auto
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# OpenRouter-routed aliases — usable when native provider key is missing
|
||||
- model_name: claude-opus-4-7-via-openrouter
|
||||
litellm_params:
|
||||
model: openrouter/anthropic/claude-opus-4.7
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
- model_name: claude-sonnet-4-6-via-openrouter
|
||||
litellm_params:
|
||||
model: openrouter/anthropic/claude-sonnet-4.6
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# ── Moonshot / Kimi ────────────────────────────────────────────
|
||||
# Legacy endpoint (kept for backwards compatibility)
|
||||
- model_name: moonshot-v1
|
||||
litellm_params:
|
||||
model: moonshot/moonshot-v1-128k
|
||||
api_key: os.environ/MOONSHOT_API_KEY
|
||||
|
||||
# Current Kimi K2 family — routed via OpenRouter because the slugs
|
||||
# moonshotai/kimi-k2.5, kimi-k2-thinking, kimi-k2.6 are all live on
|
||||
# openrouter.ai/api/v1/models (verified 2026-04-21). Native
|
||||
# platform.moonshot.cn slugs differ (kimi-k2-0905 etc) and the API
|
||||
# surface drifts; OR normalizes.
|
||||
- model_name: kimi-k2
|
||||
litellm_params:
|
||||
model: openrouter/moonshotai/kimi-k2
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
- model_name: kimi-k2.5
|
||||
litellm_params:
|
||||
model: openrouter/moonshotai/kimi-k2.5
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# Reasoning variant (chain-of-thought exposed). Keep <think>...</think>
|
||||
# tags in message history — see the MiniMax M2.7 note below.
|
||||
- model_name: kimi-k2-thinking
|
||||
litellm_params:
|
||||
model: openrouter/moonshotai/kimi-k2-thinking
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# Kimi K2.6 — Moonshot's latest (added 2026-04-21). OR slug verified.
|
||||
- model_name: kimi-k2.6
|
||||
litellm_params:
|
||||
model: openrouter/moonshotai/kimi-k2.6
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# Native Moonshot fallback (used if OR is rate-limited). The user's
|
||||
# MOONSHOT_API_KEY is registered on the intl tenant (api.moonshot.ai,
|
||||
# NOT api.moonshot.cn — the .cn endpoint returned empty on probe
|
||||
# 2026-04-21). Using `moonshot-v1-auto` instead of pinning to a k2.x
|
||||
# variant: kimi-k2.6 enforces temperature=1 at the API layer, which
|
||||
# breaks generic smoke tests and deterministic eval harnesses. The
|
||||
# `-auto` slug lets Moonshot pick the right variant and accepts
|
||||
# standard temperature ranges.
|
||||
- model_name: kimi-k2-native
|
||||
litellm_params:
|
||||
model: openai/moonshot-v1-auto
|
||||
api_base: https://api.moonshot.ai/v1
|
||||
api_key: os.environ/MOONSHOT_API_KEY
|
||||
|
||||
# UI aliases — providers.ts surfaces `kimi-2.5` and `kimi-2.5-thinking`
|
||||
# in the Waggle UI model picker. Route them to the live OR entries so
|
||||
# the UI doesn't 404.
|
||||
- model_name: kimi-2.5
|
||||
litellm_params:
|
||||
model: openrouter/moonshotai/kimi-k2.5
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
- model_name: kimi-2.5-thinking
|
||||
litellm_params:
|
||||
model: openrouter/moonshotai/kimi-k2-thinking
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# ── Alibaba / Qwen ────────────────────────────────────────────
|
||||
# Sprint 10 Task 1.4 (2026-04-21): classic DashScope Model Studio API
|
||||
# key (sk-…) provisioned on the intl tenant. Smoke-verified: target
|
||||
# `qwen3.6-35b-a3b` returns HTTP 200 on
|
||||
# https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions
|
||||
# with reasoning_content populated (thinking mode default on). The
|
||||
# mainland endpoint `dashscope.aliyuncs.com` returns 401 invalid_api_key
|
||||
# — the provisioned key is intl-bound. Failover policy documented in
|
||||
# ops/litellm/README.md §Sprint-10-Task-1.4.
|
||||
# refs sprint-10-brief §1.4
|
||||
- model_name: qwen-max
|
||||
litellm_params:
|
||||
model: openrouter/qwen/qwen-max
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# ── Qwen3.6-35B-A3B canonical + dual-route (primary + fallback) ──
|
||||
#
|
||||
# Canonical alias routes to DashScope-intl direct as primary. The
|
||||
# 3.6-35B slug IS live on the intl tenant (verified 2026-04-21 Sprint
|
||||
# 10 Task 1.4 smoke). Earlier comment asserting the slug was "not live
|
||||
# on any public API" was wrong on the intl tenant — only the mainland
|
||||
# DashScope and OpenRouter catalogs lacked the exact slug.
|
||||
#
|
||||
# Callers should prefer the canonical `qwen3.6-35b-a3b` alias — it
|
||||
# routes to DashScope-intl native, giving us the real 3.6 model
|
||||
# rather than the Qwen3.5-35B-A3B OpenRouter fallback. If DashScope
|
||||
# rate-limits or is unavailable, caller-side retry should fall back
|
||||
# to `qwen3.6-35b-a3b-via-openrouter` (bridge route, one-minor regress
|
||||
# to 3.5 until OR carries 3.6).
|
||||
- model_name: qwen3.6-35b-a3b
|
||||
litellm_params:
|
||||
model: openai/qwen3.6-35b-a3b
|
||||
api_base: https://dashscope-intl.aliyuncs.com/compatible-mode/v1
|
||||
api_key: os.environ/DASHSCOPE_API_KEY
|
||||
|
||||
# Explicit DashScope alias (same target, stable naming for operator
|
||||
# scripts that want to pin to DashScope irrespective of canonical
|
||||
# alias flips).
|
||||
- model_name: qwen3.6-35b-a3b-via-dashscope
|
||||
litellm_params:
|
||||
model: openai/qwen3.6-35b-a3b
|
||||
api_base: https://dashscope-intl.aliyuncs.com/compatible-mode/v1
|
||||
api_key: os.environ/DASHSCOPE_API_KEY
|
||||
|
||||
# Sprint 12 Task 2 C3 Stage 2 Mini Retry v3 (2026-04-23): -direct suffix
|
||||
# alias expected by the v3 brief §0.2 alias roster. Same route as the
|
||||
# `qwen3.6-35b-a3b-via-dashscope` sibling above, but with the Stage 2
|
||||
# LOCKED config materialized as explicit LiteLLM params:
|
||||
# - extra_body.enable_thinking: true (per models.json `stage2Config`)
|
||||
# - max_tokens: 16000 (Mini Retry v3 §2.1 — reduced
|
||||
# from v2 64000 to avoid DashScope tail-latency timeouts)
|
||||
# 2026-05-26 fix: 0/15 fail rate at N=160 vs 86.5% Sonnet baseline was
|
||||
# caused by thinking NOT actually defaulting on through this route —
|
||||
# verbose-but-imprecise output failed user_message_checker. Forcing
|
||||
# thinking on at the LiteLLM layer is the durable fix and matches the
|
||||
# stage2Config metadata that always claimed this behavior.
|
||||
- model_name: qwen3.6-35b-a3b-via-dashscope-direct
|
||||
litellm_params:
|
||||
model: openai/qwen3.6-35b-a3b
|
||||
api_base: https://dashscope-intl.aliyuncs.com/compatible-mode/v1
|
||||
api_key: os.environ/DASHSCOPE_API_KEY
|
||||
max_tokens: 16000
|
||||
extra_body:
|
||||
enable_thinking: true
|
||||
|
||||
# OpenRouter bridge — failover when DashScope rate-limits or is
|
||||
# unavailable. Note: OpenRouter's Qwen catalog does NOT have the exact
|
||||
# 3.6-35b-a3b slug — this route lands on qwen3.5-35b-a3b, so it's a
|
||||
# one-minor-version regression. Acceptable for transient failover,
|
||||
# not for primary use.
|
||||
- model_name: qwen3.6-35b-a3b-via-openrouter
|
||||
litellm_params:
|
||||
model: openrouter/qwen/qwen3.5-35b-a3b
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# Sibling alias that points to Qwen3.5-35B-A3B directly (no ambiguity).
|
||||
- model_name: qwen3.5-35b-a3b
|
||||
litellm_params:
|
||||
model: openrouter/qwen/qwen3.5-35b-a3b
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# ── Mistral ────────────────────────────────────────────────────
|
||||
- model_name: mistral-large-latest
|
||||
litellm_params:
|
||||
model: mistral/mistral-large-latest
|
||||
api_key: os.environ/MISTRAL_API_KEY
|
||||
|
||||
- model_name: mistral-small-latest
|
||||
litellm_params:
|
||||
model: mistral/mistral-small-latest
|
||||
api_key: os.environ/MISTRAL_API_KEY
|
||||
|
||||
- model_name: codestral-latest
|
||||
litellm_params:
|
||||
model: mistral/codestral-latest
|
||||
api_key: os.environ/MISTRAL_API_KEY
|
||||
|
||||
# ── MiniMax ────────────────────────────────────────────────────
|
||||
# `abab6.5s-chat` was deprecated by MiniMax (confirmed 2026-04-21 via
|
||||
# 400 "unknown model" response). Repointed to MiniMax-M1, the nearest
|
||||
# current successor. The `minimax-01` alias is preserved for any
|
||||
# callers using the provider.ts UI slug.
|
||||
- model_name: minimax-01
|
||||
litellm_params:
|
||||
model: openai/MiniMax-M1
|
||||
api_base: https://api.minimaxi.chat/v1
|
||||
api_key: os.environ/MINIMAX_API_KEY
|
||||
|
||||
- model_name: minimax-2.7
|
||||
litellm_params:
|
||||
model: openai/MiniMax-Text-01
|
||||
api_base: https://api.minimaxi.chat/v1
|
||||
api_key: os.environ/MINIMAX_API_KEY
|
||||
|
||||
# ── GLM / Zhipu ────────────────────────────────────────────────
|
||||
- model_name: glm-4-plus
|
||||
litellm_params:
|
||||
model: openai/glm-4-plus
|
||||
api_base: https://open.bigmodel.cn/api/paas/v4
|
||||
api_key: os.environ/ZHIPU_API_KEY
|
||||
|
||||
- model_name: glm-5
|
||||
litellm_params:
|
||||
model: openai/glm-5
|
||||
api_base: https://open.bigmodel.cn/api/paas/v4
|
||||
api_key: os.environ/ZHIPU_API_KEY
|
||||
|
||||
# ── Tavily (search — not LLM, but here for completeness) ───────
|
||||
# Tavily is consumed by Waggle search routes, not LiteLLM.
|
||||
|
||||
# ── Added for PromptAssembler eval (v4) ────────────────────────
|
||||
# Spec: docs/specs/PROMPT-ASSEMBLER-V4.md §11.2
|
||||
|
||||
# Claude Opus 4.7 — native Anthropic. Plain family alias verified via
|
||||
# /v1/models probe 2026-04-17 (brief's speculative date suffix 20260416
|
||||
# returned 404; plain alias resolves).
|
||||
- model_name: claude-opus-4-7
|
||||
litellm_params:
|
||||
model: anthropic/claude-opus-4-7
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
|
||||
# Gemma 4 31B Dense — OpenRouter (verified live 2026-04-17)
|
||||
- model_name: gemma-4-31b
|
||||
litellm_params:
|
||||
model: openrouter/google/gemma-4-31b-it
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# Gemma 4 26B MoE (3.8B active) — OpenRouter
|
||||
# NOTE: live OpenRouter slug is `google/gemma-4-26b-a4b-it` (a4b middle)
|
||||
# vs brief's suggested `gemma-4-26b-it`. Substitution logged 2026-04-17.
|
||||
- model_name: gemma-4-26b-moe
|
||||
litellm_params:
|
||||
model: openrouter/google/gemma-4-26b-a4b-it
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# Qwen3-30B-A3B (30B total / 3B active) — OpenRouter
|
||||
# NOTE: live slug is `qwen/qwen3-30b-a3b-instruct-2507` (date-tagged)
|
||||
# vs brief's suggested `qwen3-30b-a3b-instruct`. Substitution logged.
|
||||
- model_name: qwen3-30b-a3b
|
||||
litellm_params:
|
||||
model: openrouter/qwen/qwen3-30b-a3b-instruct-2507
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# ── Qwen3.6-35B-A3B LOCKED decision (2026-04-19) ──────────────
|
||||
# Canonical engine for Waggle Pro/Teams default + KVARK prod +
|
||||
# Track 2 benchmarks (H-42 / H-43 / H-44). Per LOCKED decision:
|
||||
# D:\Projects\PM-Waggle-OS\decisions\2026-04-19-target-model-qwen35b-locked.md
|
||||
# 35B total / 3B active MoE, Apache-2.0, 262K native / 1M YaRN.
|
||||
# Thinking mode default ON, togglable via `enable_thinking: false`.
|
||||
# HF source (verified 2026-04-19):
|
||||
# https://huggingface.co/Qwen/Qwen3.6-35B-A3B
|
||||
#
|
||||
# The canonical `qwen3.6-35b-a3b` routing ENTRY lives above in the
|
||||
# Alibaba/Qwen section (next to its dashscope + openrouter siblings).
|
||||
# DashScope-intl direct is primary as of Sprint 10 Task 1.4
|
||||
# (2026-04-21). This comment block stays here as the LOCKED decision
|
||||
# memo anchor — do not duplicate the route entry.
|
||||
|
||||
# ── Added for PromptAssembler v5 eval ──────────────────────────
|
||||
# Spec: v5 brief §11.2. Entries verified live via provider docs on
|
||||
# 2026-04-17. Eval harness runs a slug probe at start and logs any
|
||||
# substitutions. Cost is deliberately high for this run — v5 uses a
|
||||
# 4-model frontier judge ensemble to avoid same-family judge bias
|
||||
# from v4 (Sonnet 4.6 judging Claude candidates).
|
||||
|
||||
# ── Judge panel (4 frontier models, 4 different labs) ──
|
||||
|
||||
# Gemini 3.1 Pro — Google's frontier (released Feb 19, 2026)
|
||||
# Current SOTA on GPQA Diamond (94.3%), LMArena #1 (1501 Elo).
|
||||
# Neutral to all candidate families.
|
||||
#
|
||||
# Manifest v5 §5.2 addendum (2026-04-24, Stage 3 rekick): rpm: 20 applied
|
||||
# after §1.3 Gate P+ probe FAIL (24/50 HTTP 429) revealed Google per-model
|
||||
# preview cap of 25 RPM on generate_requests_per_model for this upstream.
|
||||
# 20 < 25 Google cap with 5 RPM margin for burst variance. This is the
|
||||
# single permitted §11 code-freeze exception in v5 per PM P4 path. See
|
||||
# benchmarks/preregistration/manifest-v5-preregistration.md §5.2 and §11.
|
||||
- model_name: gemini-3.1-pro
|
||||
litellm_params:
|
||||
model: gemini/gemini-3.1-pro-preview
|
||||
api_key: os.environ/GEMINI_API_KEY
|
||||
rpm: 20
|
||||
|
||||
# Sprint 12 Task 2 C3 Stage 2 Mini Retry v3 (2026-04-23): -preview suffix
|
||||
# alias expected by the v3 brief §0.2 alias roster (judge_tie_breaker).
|
||||
# Same upstream as `gemini-3.1-pro` above — alias name encodes the
|
||||
# "-preview" provenance explicitly for manifest audit clarity.
|
||||
#
|
||||
# Manifest v5 Fold-in 3.5b (2026-04-24): defensive-mirror rpm: 20 applied
|
||||
# here as well because this alias shares the same Google upstream bucket
|
||||
# (`gemini/gemini-3.1-pro-preview` at 25 RPM per-model cap) with the
|
||||
# primary `gemini-3.1-pro` alias (edited in Step 2). Isolation sweep
|
||||
# found non-zero (dormant) references to this alias in repo-wide grep,
|
||||
# so defensive posture per PM brief Fold-in 3.5b decision tree.
|
||||
- model_name: gemini-3.1-pro-preview
|
||||
litellm_params:
|
||||
model: gemini/gemini-3.1-pro-preview
|
||||
api_key: os.environ/GEMINI_API_KEY
|
||||
rpm: 20
|
||||
|
||||
# GPT-5.4 — OpenAI's flagship (released Mar 5, 2026)
|
||||
# Strong judgment on structured outputs. Neutral to all candidates.
|
||||
- model_name: gpt-5.4
|
||||
litellm_params:
|
||||
model: openai/gpt-5.4
|
||||
api_key: os.environ/OPENAI_API_KEY
|
||||
|
||||
# GPT-5.4 Pro — stronger variant. Held in reserve as ensemble fallback
|
||||
# per brief §11.2 ("GPT-5.4 Pro optional fallback"). Not called by default.
|
||||
- model_name: gpt-5.4-pro
|
||||
litellm_params:
|
||||
model: openai/gpt-5.4-pro
|
||||
api_key: os.environ/OPENAI_API_KEY
|
||||
|
||||
# Grok 4.20 — xAI frontier with reasoning toggle (released Mar 31, 2026)
|
||||
# 2M context, lowest hallucination rate on market. Fully outside
|
||||
# Claude/Qwen/Gemma training lineage.
|
||||
- model_name: grok-4.20
|
||||
litellm_params:
|
||||
model: xai/grok-4.20
|
||||
api_key: os.environ/XAI_API_KEY
|
||||
|
||||
# MiniMax M2.7 — SOTA agentic reasoning (released Apr 2026)
|
||||
# 56.22% SWE-Pro, beats Opus 4.6 on agentic benchmarks. Chinese lab,
|
||||
# maximally different training lineage from Western frontier. Per
|
||||
# brief: the existing `minimax-2.7` alias above points to the older
|
||||
# MiniMax-Text-01 endpoint — this new entry routes to the M2.7 API.
|
||||
# Note: MiniMax uses interleaved thinking; keep <think>...</think>
|
||||
# tags in message history to preserve scoring quality.
|
||||
- model_name: minimax-m2.7
|
||||
litellm_params:
|
||||
model: openai/MiniMax-M2.7
|
||||
api_base: https://api.minimaxi.chat/v1
|
||||
api_key: os.environ/MINIMAX_API_KEY
|
||||
|
||||
# ── Manifest v6 judge ensemble swap (2026-04-24) ──────────────────
|
||||
# Added under v6 Phase 1 Commit 2 authority on PM ratification of
|
||||
# §1.3g-§1.3h-C sequence closure. v6 supersedes v5 §11 freeze on
|
||||
# litellm-config.yaml (single permitted amendment; Gemini rpm:20
|
||||
# entry retained above as orphan audit artefact).
|
||||
# Anchor: benchmarks/preregistration/manifest-v6-preregistration.md
|
||||
# v6 selection rationale documented in §0.5 delta log (MD) + judge_ensemble
|
||||
# block (YAML). All v5 aliases retained; v6 additions are orthogonal.
|
||||
|
||||
# v6 primary_judge_3 — MiniMax M2.7 via OpenRouter.
|
||||
# §1.3h verified: direct routes (api.minimaxi.com + api.minimax.chat v2)
|
||||
# fail 401 on MINIMAX_GROUP_ID + Bearer auth; OR fallback 7/7 parse.
|
||||
# OR catalog slug verified live 2026-04-24: minimax/minimax-m2.7
|
||||
# @ 196K ctx, $0.30 prompt / $1.20 completion per 1M tokens.
|
||||
- model_name: minimax-m27-via-openrouter
|
||||
litellm_params:
|
||||
model: openrouter/minimax/minimax-m2.7
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# v6 backup_judge — Kimi K2.6 via Moonshot direct.
|
||||
# §1.3g verified: direct route (api.moonshot.ai/v1, intl tenant) stable.
|
||||
# Moonshot catalog verified live 2026-04-24: kimi-k2.6.
|
||||
# Per-instance failover on primary_judge_3 (MiniMax) failure per v6 §5.2
|
||||
# (API error / parse failure / 60s timeout). If both fail same instance
|
||||
# -> judge_ensemble_fail (evaluator_loss in denominator, §9).
|
||||
# Routed as OpenAI-compatible via api_base override (same pattern as
|
||||
# kimi-k2-native above); LiteLLM's moonshot/ provider prefix not used
|
||||
# because the openai/ prefix + api_base is proven stable per v5 config.
|
||||
- model_name: kimi-k26-direct
|
||||
litellm_params:
|
||||
model: openai/kimi-k2.6
|
||||
api_base: https://api.moonshot.ai/v1
|
||||
api_key: os.environ/MOONSHOT_API_KEY
|
||||
|
||||
# ── Small-model additions for v5 eval (candidate, not judge) ──
|
||||
|
||||
# Qwen3-30B-A3B Thinking variant — dedicated reasoning mode.
|
||||
# v4 used the instruct variant above; v5's H condition tests this
|
||||
# thinking variant to measure whether reasoning mode flips PA's
|
||||
# benefit direction (the publishable claim if it does).
|
||||
# OpenRouter slug verified 2026-04-17: 131K context.
|
||||
- model_name: qwen3-30b-a3b-thinking
|
||||
litellm_params:
|
||||
model: openrouter/qwen/qwen3-30b-a3b-thinking-2507
|
||||
api_key: os.environ/OPENROUTER_API_KEY
|
||||
|
||||
# ── Genspark ───────────────────────────────────────────────────
|
||||
# Added 2026-04-21. Genspark's gsk-* token is a JWT whose payload
|
||||
# references `claude_big_model` / `claude_middle_model` / `claude_small_model`
|
||||
# fields — i.e. they run a Claude-compatible proxy. Endpoint slug below
|
||||
# is a best-effort based on their public docs; validate with a smoke
|
||||
# call after first use. The user's key is in vault + .env as
|
||||
# GENSPARK_API_KEY but this route is NOT wired into Waggle UI yet.
|
||||
- model_name: genspark-claude
|
||||
litellm_params:
|
||||
model: anthropic/claude-sonnet-4-5-20250929
|
||||
api_base: https://api.genspark.ai/anthropic/v1
|
||||
api_key: os.environ/GENSPARK_API_KEY
|
||||
|
||||
litellm_settings:
|
||||
drop_params: true
|
||||
request_timeout: 120
|
||||
Reference in New Issue
Block a user