Spaces:
Running
Running
| from __future__ import annotations | |
| import logging | |
| from fastapi import APIRouter | |
| from fastapi.responses import JSONResponse | |
| from app.clients.hana_client import hana_client | |
| from app.config import settings | |
| router = APIRouter() | |
| LOG = logging.getLogger(__name__) | |
| async def get_models(): | |
| """Return all available LLMs: Neon models from HANA + comparison providers.""" | |
| neon_models = [] | |
| try: | |
| neon_models = await hana_client.get_models() | |
| except Exception as exc: | |
| LOG.warning("HANA models unavailable: %s", exc) | |
| providers = [] | |
| for p in settings.providers: | |
| providers.append({ | |
| "id": p["id"], | |
| "name": p["name"], | |
| "models": [ | |
| {"id": m["id"], "name": m["name"], "params": m.get("params", "")} | |
| for m in p["models"] | |
| ], | |
| }) | |
| return JSONResponse( | |
| content={ | |
| "neon_models": neon_models, | |
| "providers": providers, | |
| }, | |
| headers={"Cache-Control": "no-store"}, | |
| ) | |