ai-agent / src /ai_agent /api /routers /models.py
katospiegel's picture
Deploy develop: FastAPI+React frontend, multi-stage Docker (ai_agent serve)
07c2476 verified
Raw
History Blame Contribute Delete
943 Bytes
"""Expose the model list from config.yaml to the frontend dropdown."""
from __future__ import annotations
from typing import List
from fastapi import APIRouter, Depends
from ai_agent.api.deps import require_auth
from ai_agent.api.schemas import ModelOption
from ai_agent.utils.config import get_available_models_config
router = APIRouter(prefix="/api/models", tags=["models"], dependencies=[Depends(require_auth)])
@router.get("", response_model=List[ModelOption])
def list_models() -> List[ModelOption]:
raw = get_available_models_config()
out: List[ModelOption] = []
for m in raw:
if not isinstance(m, dict):
continue
out.append(
ModelOption(
display_name=m.get("display_name") or m.get("name") or "(unnamed)",
name=m.get("name") or "",
provider=m.get("provider"),
)
)
return out