mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-08 22:21:35 +00:00
fix(cerebras): preserve current request parameters
This commit is contained in:
parent
ba8d8b6e14
commit
a275e6d575
2 changed files with 81 additions and 8 deletions
|
|
@ -17,29 +17,49 @@ class CerebrasConfig(OpenAIGPTConfig):
|
|||
Below are the parameters:
|
||||
"""
|
||||
|
||||
max_completion_tokens: int | None = None
|
||||
max_tokens: int | None = None
|
||||
response_format: dict | None = None
|
||||
seed: int | None = None
|
||||
stream: bool | None = None
|
||||
top_p: int | None = None
|
||||
tool_choice: str | None = None
|
||||
top_p: float | None = None
|
||||
tool_choice: str | dict | None = None
|
||||
tools: list | None = None
|
||||
user: str | None = None
|
||||
reasoning_effort: str | None = None
|
||||
parallel_tool_calls: bool | None = None
|
||||
logprobs: bool | None = None
|
||||
top_logprobs: int | None = None
|
||||
frequency_penalty: float | None = None
|
||||
presence_penalty: float | None = None
|
||||
logit_bias: dict | None = None
|
||||
service_tier: str | None = None
|
||||
prompt_cache_key: str | None = None
|
||||
prediction: dict | None = None
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
max_completion_tokens: int | None = None,
|
||||
max_tokens: int | None = None,
|
||||
response_format: dict | None = None,
|
||||
seed: int | None = None,
|
||||
stop: str | None = None,
|
||||
stop: str | list[str] | None = None,
|
||||
stream: bool | None = None,
|
||||
temperature: float | None = None,
|
||||
top_p: int | None = None,
|
||||
tool_choice: str | None = None,
|
||||
top_p: float | None = None,
|
||||
tool_choice: str | dict | None = None,
|
||||
tools: list | None = None,
|
||||
user: str | None = None,
|
||||
reasoning_effort: str | None = None,
|
||||
parallel_tool_calls: bool | None = None,
|
||||
logprobs: bool | None = None,
|
||||
top_logprobs: int | None = None,
|
||||
frequency_penalty: float | None = None,
|
||||
presence_penalty: float | None = None,
|
||||
logit_bias: dict | None = None,
|
||||
service_tier: str | None = None,
|
||||
prompt_cache_key: str | None = None,
|
||||
prediction: dict | None = None,
|
||||
) -> None:
|
||||
locals_: Final = locals().copy()
|
||||
for key, value in locals_.items():
|
||||
|
|
@ -70,6 +90,15 @@ class CerebrasConfig(OpenAIGPTConfig):
|
|||
"user",
|
||||
"max_retries",
|
||||
"extra_headers",
|
||||
"parallel_tool_calls",
|
||||
"logprobs",
|
||||
"top_logprobs",
|
||||
"frequency_penalty",
|
||||
"presence_penalty",
|
||||
"logit_bias",
|
||||
"service_tier",
|
||||
"prompt_cache_key",
|
||||
"prediction",
|
||||
]
|
||||
|
||||
# Only add reasoning_effort for models that support it
|
||||
|
|
@ -87,8 +116,6 @@ class CerebrasConfig(OpenAIGPTConfig):
|
|||
) -> dict:
|
||||
supported_openai_params: Final = self.get_supported_openai_params(model=model)
|
||||
for param, value in non_default_params.items():
|
||||
if param == "max_completion_tokens":
|
||||
optional_params["max_tokens"] = value
|
||||
elif param in supported_openai_params:
|
||||
if param in supported_openai_params:
|
||||
optional_params[param] = value
|
||||
return optional_params
|
||||
|
|
|
|||
46
tests/llm_translation/test_cerebras.py
Normal file
46
tests/llm_translation/test_cerebras.py
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
import pytest
|
||||
|
||||
from litellm.llms.cerebras.chat import CerebrasConfig
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("parameter", "value"),
|
||||
[
|
||||
("max_completion_tokens", 64),
|
||||
("max_tokens", 32),
|
||||
("parallel_tool_calls", False),
|
||||
("logprobs", True),
|
||||
("top_logprobs", 3),
|
||||
("frequency_penalty", 0.2),
|
||||
("presence_penalty", 0.3),
|
||||
("logit_bias", {"42": -1}),
|
||||
("service_tier", "default"),
|
||||
("prompt_cache_key", "conversation-1"),
|
||||
("prediction", {"type": "content", "content": "expected"}),
|
||||
],
|
||||
)
|
||||
def test_cerebras_preserves_supported_parameters(parameter, value):
|
||||
config = CerebrasConfig()
|
||||
|
||||
mapped = config.map_openai_params(
|
||||
non_default_params={parameter: value},
|
||||
optional_params={},
|
||||
model="gpt-oss-120b",
|
||||
drop_params=False,
|
||||
)
|
||||
|
||||
assert mapped == {parameter: value}
|
||||
|
||||
|
||||
def test_cerebras_does_not_alias_max_completion_tokens():
|
||||
config = CerebrasConfig()
|
||||
|
||||
mapped = config.map_openai_params(
|
||||
non_default_params={"max_completion_tokens": 64},
|
||||
optional_params={},
|
||||
model="gpt-oss-120b",
|
||||
drop_params=False,
|
||||
)
|
||||
|
||||
assert mapped["max_completion_tokens"] == 64
|
||||
assert "max_tokens" not in mapped
|
||||
Loading…
Add table
Reference in a new issue