From 21b59cc1d0928dc04dcf5eac24470aaa05013b2d Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Tue, 23 Jun 2026 18:37:46 +0900 Subject: 基本機能実装 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ollama_web/routes/models.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/ollama_web/routes/models.py (limited to 'src/ollama_web/routes/models.py') diff --git a/src/ollama_web/routes/models.py b/src/ollama_web/routes/models.py new file mode 100644 index 0000000..477a44e --- /dev/null +++ b/src/ollama_web/routes/models.py @@ -0,0 +1,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}) \ No newline at end of file -- cgit v1.2.3