Skip to content

Commit 27b06a2

Browse files
committed
[owl] Fix various bug (#909)
- fix anthropic reasoning test - fix owl-config.yaml vlm_model_id naming - set inference provider properly for vllm cloud (and related test) - fix string_normalisation test
1 parent 0c75e65 commit 27b06a2

File tree

4 files changed

+46
-13
lines changed

4 files changed

+46
-13
lines changed

services/api/src/owl/utils/lm.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,8 @@ def batch(seq, n):
377377
def _inference_provider(self, provider: str, owned_by: str) -> str:
378378
if provider == CloudProvider.ELLM:
379379
return CloudProvider.ELLM
380+
elif provider == CloudProvider.VLLM_CLOUD:
381+
return CloudProvider.VLLM_CLOUD
380382
# this check for provider like azure/bedrock that provides other cloud providers model (openai/anthropic)
381383
if provider in ModelProvider:
382384
return ModelProvider(provider)

services/api/tests/routers/test_serving.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -818,7 +818,7 @@ def test_chat_reasoning_anthropic(setup: ServingContext, stream: bool):
818818
# Test default params
819819
response = _test_chat_reasoning_cloud(**kwargs)
820820
assert len(response.content) > 0
821-
kwargs["routing_id"] = "claude-4-6-sonnet-latest"
821+
kwargs["routing_id"] = "claude-sonnet-4-6"
822822
response = _test_chat_reasoning_cloud(**kwargs)
823823
assert len(response.content) > 0
824824
# Test disabling reasoning

services/api/tests/test_types.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,18 @@ def test_id_string_bad(value: str):
6969

7070

7171
def test_string_normalisation():
72-
# ---
73-
#
74-
# Zalgo text
75-
assert IdTest(id="H̵̛͕̞̦̰̜͍̰̥̟͆̏͂̌͑ͅä̷͔̟͓̬̯̟͍̭͉͈̮͙̣̯̬͚̞̭̍̀̾͠m̴̡̧̛̝̯̹̗̹̤̲̺̟̥̈̏͊̔̑̍͆̌̀̚͝͝b̴̢̢̫̝̠̗̼̬̻̮̺̭͔̘͑̆̎̚ư̵̧̡̥̙̭̿̈̀̒̐̊͒͑r̷̡̡̲̼̖͎̫̮̜͇̬͌͘g̷̹͍͎̬͕͓͕̐̃̈́̓̆̚͝ẻ̵̡̼̬̥̹͇̭͔̯̉͛̈́̕r̸̮̖̻̮̣̗͚͖̝̂͌̾̓̀̿̔̀͋̈́͌̈́̋͜").id == "Hämbưrgẻr"
76-
#
77-
#
78-
# ---
79-
# Arabic
80-
assert IdTest(id="مَرْحَبًا بِكُمْ").id == "مرحبا بكم"
81-
# ---
82-
# Thai
83-
assert IdTest(id="สวัสดีครับ คามุย อิอิ").id == "สวสดครบ คามย ออ"
72+
with pytest.raises(ValidationError, match="Text contains excessive combining marks"):
73+
IdTest(
74+
id=(
75+
"H̵̛͕̞̦̰̜͍̰̥̟͆̏͂̌͑ͅä̷͔̟͓̬̯̟͍̭͉͈̮͙̣̯̬͚̞̭̍̀̾͠"
76+
"m̴̡̧̛̝̯̹̗̹̤̲̺̟̥̈̏͊̔̑̍͆̌̀̚͝͝b̴̢̢̫̝̠̗̼̬̻̮̺̭͔̘͑̆̎̚"
77+
"ư̵̧̡̥̙̭̿̈̀̒̐̊͒͑r̷̡̡̲̼̖͎̫̮̜͇̬͌͘g̷̹͍͎̬͕͓͕̐̃̈́̓̆̚͝"
78+
"ẻ̵̡̼̬̥̹͇̭͔̯̉͛̈́̕r̸̮̖̻̮̣̗͚͖̝̂͌̾̓̀̿̔̀͋̈́͌̈́̋͜"
79+
)
80+
)
81+
82+
assert IdTest(id="مَرْحَبًا بِكُمْ").id == "مَرْحَبًا بِكُمْ"
83+
assert IdTest(id="สวัสดีครับ คามุย อิอิ").id == "สวัสดีครับ คามุย อิอิ"
8484

8585

8686
def test_datetime_utc():
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from types import SimpleNamespace
2+
3+
from owl.types import CloudProvider, ModelProvider
4+
from owl.utils.lm import DeploymentRouter
5+
6+
7+
def _make_router(*, owned_by: str = "openai") -> DeploymentRouter:
8+
router = DeploymentRouter.__new__(DeploymentRouter)
9+
router.config = SimpleNamespace(owned_by=owned_by)
10+
return router
11+
12+
13+
def test_inference_provider_should_prefer_vllm_cloud_over_owned_by() -> None:
14+
router = _make_router()
15+
16+
assert (
17+
router._inference_provider(CloudProvider.VLLM_CLOUD, "openai")
18+
== CloudProvider.VLLM_CLOUD
19+
)
20+
21+
22+
def test_inference_provider_should_prefer_ellm_over_owned_by() -> None:
23+
router = _make_router()
24+
25+
assert router._inference_provider(CloudProvider.ELLM, "openai") == CloudProvider.ELLM
26+
27+
28+
def test_inference_provider_should_use_owned_by_for_azure_openai() -> None:
29+
router = _make_router()
30+
31+
assert router._inference_provider(CloudProvider.AZURE, "openai") == ModelProvider.OPENAI

0 commit comments

Comments
 (0)