mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-11 03:38:38 +00:00
Merge 5579ce9ee0 into 76ffec9238
This commit is contained in:
commit
2c513e3d26
4 changed files with 45 additions and 17 deletions
|
|
@ -199,7 +199,7 @@ from litellm.types.llms.openai import (
|
|||
ToolMessageContentPart,
|
||||
)
|
||||
from litellm.types.utils import Choices, ModelResponse, StreamingChoices, Usage
|
||||
from litellm.utils import supports_mid_conversation_system
|
||||
from litellm.utils import is_explicitly_disabled_factory, supports_mid_conversation_system
|
||||
|
||||
from .streaming_iterator import AnthropicSSEStream, AnthropicStreamWrapper
|
||||
|
||||
|
|
@ -1165,6 +1165,10 @@ class LiteLLMAnthropicMessagesAdapter:
|
|||
)
|
||||
if not reasoning_effort:
|
||||
return
|
||||
if reasoning_effort == "none" and is_explicitly_disabled_factory(
|
||||
model=model, custom_llm_provider=custom_llm_provider, key="supports_none_reasoning_effort"
|
||||
):
|
||||
return
|
||||
|
||||
new_kwargs["reasoning_effort"] = (
|
||||
reasoning_effort
|
||||
|
|
|
|||
|
|
@ -58572,7 +58572,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
|
|
@ -58610,7 +58610,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
|
|
@ -58682,7 +58682,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58720,7 +58720,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58795,7 +58795,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58829,7 +58829,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58866,7 +58866,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58900,7 +58900,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
|
|||
|
|
@ -58572,7 +58572,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
|
|
@ -58610,7 +58610,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
|
|
@ -58682,7 +58682,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58720,7 +58720,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58795,7 +58795,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58829,7 +58829,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58866,7 +58866,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
@ -58900,7 +58900,7 @@
|
|||
"supports_function_calling": true,
|
||||
"supports_max_reasoning_effort": true,
|
||||
"supports_minimal_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": false,
|
||||
"supports_none_reasoning_effort": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true,
|
||||
"supports_reasoning": true,
|
||||
|
|
|
|||
|
|
@ -2392,6 +2392,30 @@ def test_thinking_disabled_stays_plain_string_when_auto_summary_enabled():
|
|||
assert new_kwargs["reasoning_effort"] == "none"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("model", "custom_llm_provider", "expected_effort"),
|
||||
[
|
||||
pytest.param("us.openai.gpt-6-astra", "bedrock", None, id="bedrock-gpt-6-astra"),
|
||||
pytest.param("global.openai.gpt-6-astra", "bedrock", None, id="bedrock-gpt-6-astra-global"),
|
||||
pytest.param("openai.gpt-6-astra", "bedrock_mantle", None, id="mantle-gpt-6-astra"),
|
||||
pytest.param("us.openai.gpt-6-sol", "bedrock", "none", id="bedrock-gpt-6-sol"),
|
||||
pytest.param("converse/global.openai.gpt-6-luna", "bedrock", "none", id="bedrock-converse-gpt-6-luna"),
|
||||
pytest.param("openai.gpt-6-sol", "bedrock_mantle", "none", id="mantle-gpt-6-sol"),
|
||||
pytest.param("converse/us.openai.gpt-5.6-sol", "bedrock", "none", id="bedrock-gpt-5.6-sol-without-flag"),
|
||||
],
|
||||
)
|
||||
def test_thinking_disabled_sends_effort_none_only_to_targets_that_take_it(
|
||||
model: str, custom_llm_provider: str, expected_effort: str | None, local_model_cost_map: None
|
||||
) -> None:
|
||||
new_kwargs: Final[dict[str, object]] = {"model": model}
|
||||
LiteLLMAnthropicMessagesAdapter()._translate_thinking_to_openai(
|
||||
cast(Any, {"thinking": {"type": "disabled"}}), cast(Any, new_kwargs), custom_llm_provider=custom_llm_provider
|
||||
)
|
||||
|
||||
assert "thinking" not in new_kwargs
|
||||
assert new_kwargs.get("reasoning_effort") == expected_effort
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"model",
|
||||
[
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue