feat: add DeepSeek extreme reasoning tier
This commit is contained in:
@@ -13,6 +13,7 @@ class FakeModelProvider:
|
||||
def __init__(self) -> None:
|
||||
self.completed = []
|
||||
self.forwarded = []
|
||||
self.forward_options = []
|
||||
|
||||
async def complete(self, **kwargs):
|
||||
self.completed.append(kwargs)
|
||||
@@ -21,8 +22,9 @@ class FakeModelProvider:
|
||||
"usage": {"total_tokens": 10},
|
||||
}
|
||||
|
||||
async def forward(self, payload):
|
||||
async def forward(self, payload, **kwargs):
|
||||
self.forwarded.append(payload)
|
||||
self.forward_options.append(kwargs)
|
||||
request = httpx.Request("POST", "https://model.example.test/v1/chat/completions")
|
||||
if payload.get("stream"):
|
||||
return httpx.Response(
|
||||
@@ -83,7 +85,7 @@ def test_model_list_requires_internal_key(settings) -> None:
|
||||
headers={"Authorization": f"Bearer {settings.internal_provider_key}"},
|
||||
)
|
||||
assert response.status_code == 200
|
||||
assert len(response.json()["data"]) == 6
|
||||
assert len(response.json()["data"]) == 8
|
||||
|
||||
|
||||
def test_chat_maps_provider_model_and_work_upgrade_is_one_way(settings, identity_jwt) -> None:
|
||||
@@ -99,6 +101,20 @@ def test_chat_maps_provider_model_and_work_upgrade_is_one_way(settings, identity
|
||||
assert provider.forwarded[0]["model"] == "ChatGPT-5.6:Luna"
|
||||
assert chat.json()["model"] == "chat-light"
|
||||
|
||||
extreme_chat = client.post(
|
||||
"/v1/chat/completions",
|
||||
headers=headers(settings, identity_jwt, "extreme-chat"),
|
||||
json={"model": "chat-extreme", "messages": [{"role": "user", "content": "think"}]},
|
||||
)
|
||||
assert extreme_chat.status_code == 200
|
||||
assert provider.forwarded[-1]["model"] == "deepseek-v4-pro"
|
||||
assert provider.forward_options[-1] == {
|
||||
"provider": "deepseek",
|
||||
"thinking_enabled": True,
|
||||
"reasoning_effort": "max",
|
||||
"max_output_tokens": 16_384,
|
||||
}
|
||||
|
||||
work = client.post(
|
||||
"/v1/chat/completions",
|
||||
headers=headers(settings, identity_jwt),
|
||||
@@ -107,6 +123,16 @@ def test_chat_maps_provider_model_and_work_upgrade_is_one_way(settings, identity
|
||||
assert work.status_code == 200
|
||||
assert provider.completed[-1]["model"] == "ChatGPT-5.6:Sol"
|
||||
|
||||
extreme_work = client.post(
|
||||
"/v1/chat/completions",
|
||||
headers=headers(settings, identity_jwt, "extreme-work"),
|
||||
json={"model": "work-extreme", "messages": [{"role": "user", "content": "do it carefully"}]},
|
||||
)
|
||||
assert extreme_work.status_code == 200
|
||||
assert provider.completed[-1]["model"] == "deepseek-v4-pro"
|
||||
assert provider.completed[-1]["provider"] == "deepseek"
|
||||
assert provider.completed[-1]["reasoning_effort"] == "max"
|
||||
|
||||
downgrade = client.post(
|
||||
"/v1/chat/completions",
|
||||
headers=headers(settings, identity_jwt),
|
||||
|
||||
Reference in New Issue
Block a user