mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-27 06:13:07 +00:00
fix(hosted_vllm): map developer items in _validate_input_param so compact requests are covered too
This commit is contained in:
parent
272038ceeb
commit
be2489114f
2 changed files with 21 additions and 15 deletions
|
|
@ -93,21 +93,8 @@ class HostedVLLMResponsesAPIConfig(OpenAIResponsesAPIConfig):
|
|||
|
||||
return f"{api_base}/v1/responses"
|
||||
|
||||
def transform_responses_api_request(
|
||||
self,
|
||||
model: str,
|
||||
input: str | ResponseInputParam,
|
||||
response_api_optional_request_params: dict, # mutable-ok: overrides the base class signature
|
||||
litellm_params: GenericLiteLLMParams,
|
||||
headers: dict, # mutable-ok: overrides the base class signature
|
||||
) -> dict: # mutable-ok: overrides the base class signature
|
||||
return super().transform_responses_api_request(
|
||||
model=model,
|
||||
input=_developer_items_as_system(self._validate_input_param(input)),
|
||||
response_api_optional_request_params=response_api_optional_request_params,
|
||||
litellm_params=litellm_params,
|
||||
headers=headers,
|
||||
)
|
||||
def _validate_input_param(self, input: str | ResponseInputParam) -> str | ResponseInputParam:
|
||||
return _developer_items_as_system(super()._validate_input_param(input))
|
||||
|
||||
def supports_native_websocket(self) -> bool:
|
||||
"""Hosted vLLM does not support native WebSocket for Responses API"""
|
||||
|
|
|
|||
|
|
@ -287,6 +287,25 @@ def test_hosted_vllm_responses_passes_string_input_and_instructions_through() ->
|
|||
assert request["instructions"] == CODEX_INSTRUCTIONS
|
||||
|
||||
|
||||
def test_hosted_vllm_compact_request_sends_developer_items_as_system() -> None:
|
||||
url, data = HostedVLLMResponsesAPIConfig().transform_compact_response_api_request(
|
||||
model="kimi-k3",
|
||||
input=[
|
||||
{"type": "message", "role": "developer", "content": CODEX_INSTRUCTIONS},
|
||||
{"type": "message", "role": "user", "content": "summarize the session"},
|
||||
],
|
||||
response_api_optional_request_params={},
|
||||
api_base=f"{VLLM_API_BASE}/responses",
|
||||
litellm_params=GenericLiteLLMParams(),
|
||||
headers={},
|
||||
)
|
||||
assert url == f"{VLLM_API_BASE}/responses/compact"
|
||||
assert data["input"] == [
|
||||
{"type": "message", "role": "system", "content": CODEX_INSTRUCTIONS},
|
||||
{"type": "message", "role": "user", "content": "summarize the session"},
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def vllm_responses_route(respx_mock: respx.MockRouter, monkeypatch: pytest.MonkeyPatch) -> respx.Route:
|
||||
monkeypatch.setattr(litellm, "disable_aiohttp_transport", True)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue