This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
"""Per-provider live model listing — used by Monitoring -> Agents Admin's
|
||||
"Load models" button (originally built for the now-removed Preview tab's
|
||||
"Fix with AI" panel, kept here since Agents Admin still depends on it)."""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Dict, List
|
||||
|
||||
from ..config import PROVIDER_LABELS
|
||||
|
||||
|
||||
def fetch_live_models(ctx) -> Dict[str, List[str]]:
|
||||
"""``{"openai_compat": [...], "anthropic": [...]}`` — each provider's own
|
||||
``list_models()`` (same call Settings' "Load" button makes), so a picker
|
||||
can offer a specific model within a provider, not only its Settings
|
||||
default. Best-effort per provider: one failing gateway doesn't block the
|
||||
other's list."""
|
||||
result: Dict[str, List[str]] = {}
|
||||
for key in PROVIDER_LABELS:
|
||||
try:
|
||||
provider = ctx.build_provider_for(key)
|
||||
models = provider.list_models()
|
||||
except Exception: # noqa: BLE001 — a broken provider config must not break the picker
|
||||
models = []
|
||||
if models:
|
||||
result[key] = models
|
||||
return result
|
||||
Reference in New Issue
Block a user