feat(webui): simplify model preset settings (#5061)
This commit is contained in:
@@ -2,7 +2,8 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from nanobot.config.schema import ProviderConfig, ProvidersConfig
|
||||
from nanobot.config.schema import Config, ProviderConfig, ProvidersConfig
|
||||
from nanobot.providers.factory import provider_signature
|
||||
from nanobot.providers.registry import create_dynamic_spec
|
||||
|
||||
|
||||
@@ -60,3 +61,50 @@ class TestCustomProviderThinkingStyle:
|
||||
assert "thinking_type" in message
|
||||
assert "enable_thinking" in message
|
||||
assert "reasoning_split" in message
|
||||
|
||||
def test_provider_signature_tracks_dynamic_primary_thinking_style(self) -> None:
|
||||
before = Config.model_validate(
|
||||
{
|
||||
"agents": {"defaults": {"modelPreset": "primary"}},
|
||||
"modelPresets": {
|
||||
"primary": {"model": "tenant-model", "provider": "tenant"},
|
||||
},
|
||||
"providers": {
|
||||
"tenant": {
|
||||
"apiBase": "https://example.com/v1",
|
||||
"thinkingStyle": "thinking_type",
|
||||
},
|
||||
},
|
||||
}
|
||||
)
|
||||
after = before.model_copy(deep=True)
|
||||
after.providers.model_extra["tenant"].thinking_style = "enable_thinking"
|
||||
|
||||
assert provider_signature(before) != provider_signature(after)
|
||||
|
||||
def test_provider_signature_tracks_dynamic_fallback_thinking_style(self) -> None:
|
||||
before = Config.model_validate(
|
||||
{
|
||||
"agents": {
|
||||
"defaults": {
|
||||
"modelPreset": "primary",
|
||||
"fallbackModels": ["fallback"],
|
||||
}
|
||||
},
|
||||
"modelPresets": {
|
||||
"primary": {"model": "openai/gpt-4.1", "provider": "openai"},
|
||||
"fallback": {"model": "tenant-model", "provider": "tenant"},
|
||||
},
|
||||
"providers": {
|
||||
"openai": {"apiKey": "sk-openai"},
|
||||
"tenant": {
|
||||
"apiBase": "https://example.com/v1",
|
||||
"thinkingStyle": "thinking_type",
|
||||
},
|
||||
},
|
||||
}
|
||||
)
|
||||
after = before.model_copy(deep=True)
|
||||
after.providers.model_extra["tenant"].thinking_style = "enable_thinking"
|
||||
|
||||
assert provider_signature(before) != provider_signature(after)
|
||||
|
||||
Reference in New Issue
Block a user