mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-10 22:41:41 +00:00
fix(ci): add missing provider docs, handle deprecated Azure model, fix realtime tests
- Add black_forest_labs and charity_engine to provider_endpoints_support.json (fixes check_code_and_doc_quality job) - Handle Azure ModelDeprecated (410) error in test_azure_img_gen_health_check by gracefully skipping when deployment is deprecated (external infrastructure) - Replace gpt-4o-realtime-preview-2024-10-01 with gpt-4o-realtime-preview-2024-12-17 in realtime tests (old model removed from model list) - Pin websockets==13.1.0 in realtime_translation_testing CI job to match other jobs and avoid websockets 15.x import breakage Co-authored-by: yuneng-jiang <yuneng-jiang@users.noreply.github.com>
This commit is contained in:
parent
ce80e16755
commit
319eea66ef
4 changed files with 57 additions and 9 deletions
|
|
@ -1320,7 +1320,7 @@ jobs:
|
|||
pip install "respx==0.22.0"
|
||||
pip install "pytest-xdist==3.6.1"
|
||||
pip install "pytest-timeout==2.2.0"
|
||||
pip install "websockets"
|
||||
pip install "websockets==13.1.0"
|
||||
# Run pytest and generate JUnit XML report
|
||||
- run:
|
||||
name: Run realtime tests
|
||||
|
|
|
|||
|
|
@ -458,6 +458,24 @@
|
|||
"interactions": true
|
||||
}
|
||||
},
|
||||
"charity_engine": {
|
||||
"display_name": "Charity Engine (`charity_engine`)",
|
||||
"url": "https://docs.litellm.ai/docs/providers/charity_engine",
|
||||
"endpoints": {
|
||||
"chat_completions": true,
|
||||
"messages": false,
|
||||
"responses": false,
|
||||
"embeddings": false,
|
||||
"image_generations": false,
|
||||
"audio_transcriptions": false,
|
||||
"audio_speech": false,
|
||||
"moderations": false,
|
||||
"batches": false,
|
||||
"rerank": false,
|
||||
"a2a": false,
|
||||
"interactions": false
|
||||
}
|
||||
},
|
||||
"chutes": {
|
||||
"display_name": "Chutes (`chutes`)",
|
||||
"endpoints": {
|
||||
|
|
@ -813,6 +831,24 @@
|
|||
"search": true
|
||||
}
|
||||
},
|
||||
"black_forest_labs": {
|
||||
"display_name": "Black Forest Labs (`black_forest_labs`)",
|
||||
"url": "https://docs.litellm.ai/docs/providers/black_forest_labs",
|
||||
"endpoints": {
|
||||
"chat_completions": false,
|
||||
"messages": false,
|
||||
"responses": false,
|
||||
"embeddings": false,
|
||||
"image_generations": true,
|
||||
"audio_transcriptions": false,
|
||||
"audio_speech": false,
|
||||
"moderations": false,
|
||||
"batches": false,
|
||||
"rerank": false,
|
||||
"a2a": false,
|
||||
"interactions": false
|
||||
}
|
||||
},
|
||||
"brave": {
|
||||
"display_name": "Brave Search (`brave`)",
|
||||
"url": "https://docs.litellm.ai/docs/search/brave",
|
||||
|
|
|
|||
|
|
@ -117,8 +117,20 @@ async def test_azure_img_gen_health_check():
|
|||
or "internal failure" in error_str
|
||||
)
|
||||
|
||||
# Check if the model deployment has been permanently deprecated by Azure
|
||||
is_model_deprecated = (
|
||||
"modeldeprecated" in error_str
|
||||
or "model deprecated" in error_str
|
||||
or "deprecated and no longer available" in error_str
|
||||
)
|
||||
|
||||
# If it's the last attempt or not a transient error, fail the test
|
||||
if attempt == max_retries - 1 or not is_transient_error:
|
||||
if is_model_deprecated:
|
||||
pytest.skip(
|
||||
f"Azure model deployment is deprecated (external infrastructure issue): "
|
||||
f"{response.get('error', 'Unknown error')}"
|
||||
)
|
||||
assert (
|
||||
isinstance(response, dict) and "error" not in response
|
||||
), f"Health check failed: {response.get('error', 'Unknown error')}"
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ async def test_openai_realtime_direct_call_no_intent():
|
|||
|
||||
try:
|
||||
await litellm._arealtime(
|
||||
model="gpt-4o-realtime-preview-2024-10-01",
|
||||
model="gpt-4o-realtime-preview-2024-12-17",
|
||||
websocket=websocket_client,
|
||||
api_key=os.environ.get("OPENAI_API_KEY"),
|
||||
timeout=60
|
||||
|
|
@ -234,13 +234,13 @@ async def test_openai_realtime_direct_call_with_intent():
|
|||
caught_exception = None
|
||||
|
||||
query_params: RealtimeQueryParams = {
|
||||
"model": "gpt-4o-realtime-preview-2024-10-01",
|
||||
"model": "gpt-4o-realtime-preview-2024-12-17",
|
||||
"intent": "chat"
|
||||
}
|
||||
|
||||
try:
|
||||
await litellm._arealtime(
|
||||
model="gpt-4o-realtime-preview-2024-10-01",
|
||||
model="gpt-4o-realtime-preview-2024-12-17",
|
||||
websocket=websocket_client,
|
||||
api_key=os.environ.get("OPENAI_API_KEY"),
|
||||
query_params=query_params,
|
||||
|
|
@ -296,7 +296,7 @@ def test_realtime_query_params_construction():
|
|||
from litellm.types.realtime import RealtimeQueryParams
|
||||
|
||||
# Test case 1: intent is None (should not be included)
|
||||
model = "gpt-4o-realtime-preview-2024-10-01"
|
||||
model = "gpt-4o-realtime-preview-2024-12-17"
|
||||
intent = None
|
||||
|
||||
query_params: RealtimeQueryParams = {"model": model}
|
||||
|
|
@ -334,17 +334,17 @@ async def test_realtime_query_params_use_normalized_model_name(monkeypatch):
|
|||
)
|
||||
|
||||
def fake_get_llm_provider(model, api_base=None, api_key=None):
|
||||
return ("gpt-4o-realtime-preview-2024-10-01", "openai", None, None)
|
||||
return ("gpt-4o-realtime-preview-2024-12-17", "openai", None, None)
|
||||
|
||||
monkeypatch.setattr(realtime_main, "get_llm_provider", fake_get_llm_provider)
|
||||
|
||||
query_params: RealtimeQueryParams = {
|
||||
"model": "openai/gpt-4o-realtime-preview-2024-10-01",
|
||||
"model": "openai/gpt-4o-realtime-preview-2024-12-17",
|
||||
"intent": "chat",
|
||||
}
|
||||
|
||||
await realtime_main._arealtime(
|
||||
model="openai/gpt-4o-realtime-preview-2024-10-01",
|
||||
model="openai/gpt-4o-realtime-preview-2024-12-17",
|
||||
websocket=MagicMock(),
|
||||
api_key="sk-test",
|
||||
query_params=query_params,
|
||||
|
|
@ -353,6 +353,6 @@ async def test_realtime_query_params_use_normalized_model_name(monkeypatch):
|
|||
|
||||
called_kwargs = mock_async_realtime.call_args.kwargs
|
||||
assert (
|
||||
called_kwargs["query_params"]["model"] == "gpt-4o-realtime-preview-2024-10-01"
|
||||
called_kwargs["query_params"]["model"] == "gpt-4o-realtime-preview-2024-12-17"
|
||||
)
|
||||
assert called_kwargs["query_params"]["intent"] == "chat"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue