Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,12 @@ def from_api(
base_parameters = model_config.get("params")
if isinstance(base_parameters, Mapping):
parameters = {**base_parameters, **parameters}
if not model_name:
model_name = model_config.get("id")
# A linked variation's modelName is the model-config key
# ("OpenAI.gpt-4o"), not a model ID the provider accepts; the
# model config's id is, so it wins whenever one is linked.
config_model_id = model_config.get("id")
if isinstance(config_model_id, str) and config_model_id:
model_name = config_model_id

generation = GenerationConfig()
if isinstance(provider, str) and provider:
Expand Down
9 changes: 7 additions & 2 deletions packages/client/tests/test_evaluations_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -3071,7 +3071,8 @@ def config_variation_page(**overrides: Any) -> dict[str, Any]:
"name": "Control",
"version": 2,
"createdAt": 2,
"model": {"modelName": "gpt-4o", "parameters": {"temperature": 0.7}},
# The management API serves the model-config key as modelName.
"model": {"modelName": "OpenAI.gpt-4o", "parameters": {"temperature": 0.7}},
"modelConfigKey": "OpenAI.gpt-4o",
"modelConfigVersion": 3,
"instructions": "You are a support agent.",
Expand Down Expand Up @@ -3425,8 +3426,12 @@ def test_ai_config_variation_from_api_layers_the_model_config() -> None:
assert linked.tool_versions == {"lookup_order": 4}
assert linked.judge_keys == ["security-judge"]

unlinked = AIConfigVariation.from_api(latest)
unlinked = AIConfigVariation.from_api(
{**latest, "model": {**latest["model"], "modelName": "gpt-4o-mini"}}
)
assert "provider" not in unlinked.generation
# With no model config linked, the variation's own modelName is the model.
assert unlinked.generation["model"] == "gpt-4o-mini"
assert unlinked.generation["parameters"] == {"temperature": 0.7}


Expand Down
Loading