Skip to content

fix: refresh LLMAsJudgeEvaluator allowed evaluator models#5987

Open
jam-jee wants to merge 2 commits into
aws:masterfrom
jam-jee:fix/llmaj-evaluator-models-stale
Open

fix: refresh LLMAsJudgeEvaluator allowed evaluator models#5987
jam-jee wants to merge 2 commits into
aws:masterfrom
jam-jee:fix/llmaj-evaluator-models-stale

Conversation

@jam-jee

@jam-jee jam-jee commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Issue

Addresses internal ticket P467477489.

LLMAsJudgeEvaluator validates the user-supplied evaluator_model against a hardcoded dict, _ALLOWED_EVALUATOR_MODELS, in sagemaker/train/constants.py. That list had gone stale — several entries are now EOL on Bedrock, and every currently usable judge model (Claude Sonnet 4 / 4.5, Haiku 4.5, Opus 4.5, Nova 2 Lite / Micro / Premier) was missing. As a result the client-side check rejected valid models, and models that passed the check failed downstream at Bedrock with end-of-life errors. LLM-as-Judge evaluation was effectively unusable without monkey-patching the SDK.

Description of changes

  • constants.py — re-sync _ALLOWED_EVALUATOR_MODELS (model IDs + per-region availability) with the Bedrock Console judge-model selector, cross-checked against the Bedrock user guide supported-evaluator-models list:
    • Added Claude Sonnet 4, Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5, Nova 2 Lite, Nova Micro, Nova Premier.
    • Widened region lists for existing models (e.g. Llama 3.1 70B us-west-2us-west-2 + us-east-1; Nova Pro us-east-1 → all four regions).
    • Removed anthropic.claude-3-5-haiku-20241022-v1:0 from the allowlist.
    • Narrowed Claude 3.5 Sonnet v1/v2 to ap-northeast-1 to match the source of truth.
    • Added a comment citing the source of truth so the list can be re-synced in future.
  • llm_as_judge_evaluator.py — updated docstring examples that pinned Claude 3.5 Sonnet v1 (now ap-northeast-1-only) alongside us-west-2 ARNs.
  • test_llm_as_judge_evaluator.py — updated the default judge model and the valid_models list to reflect the new allowlist.
  • tests/integ/train/ — updated the two LLM-as-Judge integ configs that used Claude 3.5 Haiku as the judge model to Claude Sonnet 4.

Testing

sagemaker-train evaluate unit test suite passes locally: 557 passed, 7 skipped.

Merge Checklist

  • I have read the CONTRIBUTING doc
  • I used the commit message format described in CONTRIBUTING
  • I have updated any necessary documentation, including docstrings
  • I have added tests that prove my fix is effective (unit tests updated and passing)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The hardcoded _ALLOWED_EVALUATOR_MODELS list in sagemaker/train/constants.py
had gone stale: several entries were EOL on Bedrock and current judge models
were missing, so LLMAsJudgeEvaluator rejected every currently usable model at
client-side validation.

Re-sync the allowlist (model IDs and per-region availability) with the Bedrock
Console judge-model selector, cross-checked against the Bedrock user guide
supported-evaluator-models list. Adds Claude Sonnet 4 / 4.5, Claude Haiku 4.5,
Claude Opus 4.5, and Nova 2 Lite / Micro / Premier, and widens the region lists
for existing models to match the source of truth.

Update the docstring examples and unit tests that pinned the previous default
judge model (Claude 3.5 Sonnet v1), which is now only available in
ap-northeast-1.
nargokul
nargokul previously approved these changes Jul 6, 2026
Remove anthropic.claude-3-5-haiku-20241022-v1:0 from the LLM-as-Judge
evaluator allowlist and update the unit and integration tests that
referenced it as the judge model.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants