mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-07 08:26:10 +00:00
Merge pull request #23651 from BerriAI/litellm_fix_ci_failures_03_14
[Fix] CI failures: mypy type error, ruff lint, and flaky router test
This commit is contained in:
commit
e76c1f2fde
3 changed files with 17 additions and 7 deletions
|
|
@ -6,7 +6,7 @@ import csv
|
|||
import io
|
||||
from typing import Any, Optional
|
||||
|
||||
import httpx
|
||||
import httpx # noqa: F401 - used at runtime (AsyncClient, HTTPStatusError)
|
||||
|
||||
from litellm._logging import verbose_logger
|
||||
from litellm.llms.custom_httpx.http_handler import (
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ https://platform.openai.com/docs/api-reference/responses-streaming
|
|||
"""
|
||||
import asyncio
|
||||
import json
|
||||
from typing import Any
|
||||
from typing import Any, Optional, cast
|
||||
|
||||
from fastapi import Request, Response
|
||||
|
||||
|
|
@ -17,6 +17,7 @@ from litellm._logging import verbose_proxy_logger
|
|||
from litellm.proxy.auth.user_api_key_auth import UserAPIKeyAuth
|
||||
from litellm.proxy.common_request_processing import ProxyBaseLLMRequestProcessing
|
||||
from litellm.proxy.response_polling.polling_handler import ResponsePollingHandler
|
||||
from litellm.types.llms.openai import ResponsesAPIStatus
|
||||
|
||||
|
||||
async def background_streaming_task( # noqa: PLR0915
|
||||
|
|
@ -114,7 +115,7 @@ async def background_streaming_task( # noqa: PLR0915
|
|||
UPDATE_INTERVAL = 0.150 # 150ms batching interval
|
||||
|
||||
# Track the terminal event from the stream (may not be "completed")
|
||||
terminal_status = None # Will be set by response.completed/failed/incomplete/cancelled
|
||||
terminal_status: Optional[ResponsesAPIStatus] = None # Will be set by response.completed/failed/incomplete/cancelled
|
||||
terminal_error = None
|
||||
_event_to_status = {
|
||||
"response.completed": "completed",
|
||||
|
|
@ -249,9 +250,12 @@ async def background_streaming_task( # noqa: PLR0915
|
|||
# Terminal event - extract all ResponsesAPIResponse fields
|
||||
# https://platform.openai.com/docs/api-reference/responses-streaming
|
||||
response_data = event.get("response", {})
|
||||
terminal_status = response_data.get(
|
||||
"status",
|
||||
_event_to_status.get(event_type, "completed"),
|
||||
terminal_status = cast(
|
||||
ResponsesAPIStatus,
|
||||
response_data.get(
|
||||
"status",
|
||||
_event_to_status.get(event_type, "completed"),
|
||||
),
|
||||
)
|
||||
|
||||
# Extract error for failed responses
|
||||
|
|
|
|||
|
|
@ -643,7 +643,13 @@ def test_arouter_responses_api_bridge():
|
|||
## CONFIRM MODEL NAME IS STRIPPED
|
||||
client = HTTPHandler()
|
||||
|
||||
with patch.object(client, "post", return_value=MagicMock()) as mock_post:
|
||||
mock_response = MagicMock()
|
||||
mock_response.status_code = 200
|
||||
mock_response.headers = {"content-type": "application/json"}
|
||||
mock_response.json.return_value = {"id": "resp_test", "object": "response", "status": "completed", "output": []}
|
||||
mock_response.text = '{"id": "resp_test", "object": "response", "status": "completed", "output": []}'
|
||||
|
||||
with patch.object(client, "post", return_value=mock_response) as mock_post:
|
||||
try:
|
||||
result = router.completion(
|
||||
model="[IP-approved] o3-pro",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue