feat(webui): simplify model preset settings (#5061)
This commit is contained in:
@@ -56,7 +56,11 @@ def _make_provider_core(
|
||||
if provider_name and not spec and p:
|
||||
if not p.api_base:
|
||||
raise ValueError(f"Provider '{provider_name}' requires api_base in config.")
|
||||
spec = create_dynamic_spec(provider_name, thinking_style=(p.thinking_style or "") if p else "")
|
||||
spec = create_dynamic_spec(
|
||||
provider_name,
|
||||
display_name=(p.display_name or "") if p else "",
|
||||
thinking_style=(p.thinking_style or "") if p else "",
|
||||
)
|
||||
if spec and spec.is_transcription_only:
|
||||
raise ValueError(f"Provider '{provider_name}' only supports transcription.")
|
||||
backend = spec.backend if spec else "openai_compat"
|
||||
@@ -239,6 +243,7 @@ def provider_signature(
|
||||
fallback.reasoning_effort,
|
||||
fallback.context_window_tokens,
|
||||
getattr(fp, "proxy", None) if fp else None,
|
||||
fp.thinking_style if fp else None,
|
||||
)
|
||||
|
||||
provider_name = config.get_provider_name(resolved.model, preset=resolved)
|
||||
@@ -259,6 +264,7 @@ def provider_signature(
|
||||
resolved.reasoning_effort,
|
||||
resolved.context_window_tokens,
|
||||
getattr(p, "proxy", None) if p else None,
|
||||
p.thinking_style if p else None,
|
||||
tuple(_fallback_signature(fallback) for fallback in fallback_presets),
|
||||
)
|
||||
|
||||
|
||||
@@ -729,7 +729,12 @@ def find_by_name(name: str) -> ProviderSpec | None:
|
||||
return None
|
||||
|
||||
|
||||
def create_dynamic_spec(name: str, *, thinking_style: str = "") -> ProviderSpec:
|
||||
def create_dynamic_spec(
|
||||
name: str,
|
||||
*,
|
||||
display_name: str = "",
|
||||
thinking_style: str = "",
|
||||
) -> ProviderSpec:
|
||||
"""Create a dynamic ProviderSpec for custom user-defined providers."""
|
||||
normalized = to_snake(name.replace("-", "_"))
|
||||
strip_prefixes = tuple(dict.fromkeys((name, normalized)))
|
||||
@@ -737,7 +742,7 @@ def create_dynamic_spec(name: str, *, thinking_style: str = "") -> ProviderSpec:
|
||||
name=normalized,
|
||||
keywords=(),
|
||||
env_key="",
|
||||
display_name=name.title(),
|
||||
display_name=display_name or name.replace("-", " ").replace("_", " ").title(),
|
||||
backend="openai_compat",
|
||||
is_direct=True,
|
||||
strip_model_prefixes=strip_prefixes,
|
||||
|
||||
Reference in New Issue
Block a user