mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-22 00:31:44 +00:00
refactor(mistral): drop client_metadata without mutating optional_params
Some checks failed
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
LiteLLM Rust / rust-wheel (push) Has been cancelled
Terraform Provider / gofmt, vet, build, test (push) Has been cancelled
Terraform Provider / Provider endpoints vs proxy OpenAPI schema (push) Has been cancelled
Some checks failed
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
LiteLLM Rust / rust-wheel (push) Has been cancelled
Terraform Provider / gofmt, vet, build, test (push) Has been cancelled
Terraform Provider / Provider endpoints vs proxy OpenAPI schema (push) Has been cancelled
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
parent
f93d80ea84
commit
b77f866dbb
2 changed files with 2 additions and 8 deletions
|
|
@ -531,13 +531,13 @@ class MistralConfig(OpenAIGPTConfig):
|
|||
if "magistral" in model.lower() and optional_params.get("_add_reasoning_prompt", False):
|
||||
messages = self._add_reasoning_system_prompt_if_needed(messages, optional_params)
|
||||
|
||||
optional_params.pop("client_metadata", None)
|
||||
upstream_params: Final = {key: value for key, value in optional_params.items() if key != "client_metadata"}
|
||||
|
||||
# Call parent transform_request which handles _transform_messages
|
||||
return super().transform_request(
|
||||
model=model,
|
||||
messages=messages,
|
||||
optional_params=optional_params,
|
||||
optional_params=upstream_params,
|
||||
litellm_params=litellm_params,
|
||||
headers=headers,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -51,14 +51,12 @@ class TestMistralReasoningSupport:
|
|||
assert "reasoning_effort" in supported_params
|
||||
assert "thinking" in supported_params
|
||||
|
||||
# Non-magistral reasoning models accept reasoning_effort (forwarded verbatim) but not thinking
|
||||
supported_params_reasoning = mistral_config.get_supported_openai_params(
|
||||
"mistral/mistral-medium-latest"
|
||||
)
|
||||
assert "reasoning_effort" in supported_params_reasoning
|
||||
assert "thinking" not in supported_params_reasoning
|
||||
|
||||
# Models Mistral rejects reasoning_effort on keep it unsupported, so drop_params still drops it
|
||||
supported_params_normal = mistral_config.get_supported_openai_params(
|
||||
"mistral/mistral-large-latest"
|
||||
)
|
||||
|
|
@ -80,7 +78,6 @@ class TestMistralReasoningSupport:
|
|||
|
||||
assert result.get("_add_reasoning_prompt") is True
|
||||
|
||||
# Test reasoning_effort forwarded verbatim for non-magistral model
|
||||
optional_params_normal = {}
|
||||
result_normal = mistral_config.map_openai_params(
|
||||
non_default_params={"reasoning_effort": "low"},
|
||||
|
|
@ -97,7 +94,6 @@ class TestMistralReasoningSupport:
|
|||
[("mistral-medium-latest", "high"), ("zai-glm-5-2", "xhigh")],
|
||||
)
|
||||
def test_reasoning_effort_forwarded_verbatim_for_reasoning_models(self, model, reasoning_effort):
|
||||
"""Codex sends reasoning_effort to every model; Mistral reasoning models forward it as-is."""
|
||||
import litellm
|
||||
|
||||
optional_params = litellm.get_optional_params(
|
||||
|
|
@ -108,7 +104,6 @@ class TestMistralReasoningSupport:
|
|||
assert optional_params["reasoning_effort"] == reasoning_effort
|
||||
|
||||
def test_reasoning_effort_stays_unsupported_for_non_reasoning_models(self):
|
||||
"""Mistral rejects reasoning_effort on codestral, so drop_params keeps dropping it there."""
|
||||
import litellm
|
||||
|
||||
with pytest.raises(litellm.UnsupportedParamsError):
|
||||
|
|
@ -127,7 +122,6 @@ class TestMistralReasoningSupport:
|
|||
assert "reasoning_effort" not in dropped
|
||||
|
||||
def test_client_metadata_stripped_from_request(self):
|
||||
"""client_metadata passed by Codex must not reach Mistral, whose schema rejects unknown fields."""
|
||||
mistral_config = MistralConfig()
|
||||
|
||||
request = mistral_config.transform_request(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue