mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-22 00:31:44 +00:00
handle OpenAI list format for context_management beta detection
The direct Anthropic path supports context_management as either a dict with an "edits" key or a plain list of edit objects. Mirror that logic in get_anthropic_beta_list so Bedrock/Vertex paths also inject the correct beta headers when the OpenAI list format is used.
This commit is contained in:
parent
b6a5c19ed9
commit
dcba26c8aa
2 changed files with 24 additions and 10 deletions
|
|
@ -420,17 +420,19 @@ class AnthropicModelInfo(BaseLLMModelInfo):
|
|||
|
||||
if optional_params:
|
||||
context_management = optional_params.get("context_management")
|
||||
edits: list = []
|
||||
if isinstance(context_management, dict) and "edits" in context_management:
|
||||
for edit in context_management.get("edits", []):
|
||||
edit_type = edit.get("type", "")
|
||||
if edit_type in ("compact_20260112", "compaction"):
|
||||
betas.append(
|
||||
ANTHROPIC_BETA_HEADER_VALUES.COMPACT_2026_01_12.value
|
||||
)
|
||||
else:
|
||||
betas.append(
|
||||
ANTHROPIC_BETA_HEADER_VALUES.CONTEXT_MANAGEMENT_2025_06_27.value
|
||||
)
|
||||
edits = context_management.get("edits", [])
|
||||
elif isinstance(context_management, list):
|
||||
edits = context_management
|
||||
for edit in edits:
|
||||
edit_type = edit.get("type", "")
|
||||
if edit_type in ("compact_20260112", "compaction"):
|
||||
betas.append(ANTHROPIC_BETA_HEADER_VALUES.COMPACT_2026_01_12.value)
|
||||
else:
|
||||
betas.append(
|
||||
ANTHROPIC_BETA_HEADER_VALUES.CONTEXT_MANAGEMENT_2025_06_27.value
|
||||
)
|
||||
|
||||
return list(set(betas))
|
||||
|
||||
|
|
|
|||
|
|
@ -1318,6 +1318,18 @@ class TestGetAnthropicBetaListContextManagement:
|
|||
)
|
||||
assert "context-management-2025-06-27" in betas
|
||||
|
||||
def test_openai_list_format_adds_compact_beta(self):
|
||||
from litellm.llms.anthropic.common_utils import AnthropicModelInfo
|
||||
|
||||
info = AnthropicModelInfo()
|
||||
betas = info.get_anthropic_beta_list(
|
||||
model="claude-sonnet-4-6",
|
||||
optional_params={
|
||||
"context_management": [{"type": "compaction"}],
|
||||
},
|
||||
)
|
||||
assert "compact-2026-01-12" in betas
|
||||
|
||||
def test_no_context_management_no_extra_betas(self):
|
||||
from litellm.llms.anthropic.common_utils import AnthropicModelInfo
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue