summaryrefslogtreecommitdiff
path: root/src/ollama_web/routes/models.py
blob: 477a44e9a0b34e1b5c0019ea1caa0c72a190a6af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""API routes for model listing and health checks."""

from __future__ import annotations

from starlette.requests import Request
from starlette.responses import JSONResponse

from ollama_web import llm


async def get_models(request: Request) -> JSONResponse:
    """Return available Ollama models as JSON."""
    host = request.app.state.settings.ollama_host
    models = llm.list_models(host=host)
    return JSONResponse({"models": models})


async def health(request: Request) -> JSONResponse:
    """Report Ollama server reachability."""
    host = request.app.state.settings.ollama_host
    models = llm.list_models(host=host)
    reachable = models is not None
    return JSONResponse({"reachable": reachable, "models": models})