summaryrefslogtreecommitdiff
path: root/src/ollama_web/routes/models.py
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-06-23 18:37:46 +0900
committertanaka takashi <isazaka@gmail.com>2026-06-23 18:37:46 +0900
commit21b59cc1d0928dc04dcf5eac24470aaa05013b2d (patch)
tree9888aa23aafea3907ce96eb958a06d4369dad86e /src/ollama_web/routes/models.py
parentde0513e7cb0593b1aa141e367ff4da7156d6110f (diff)
基本機能実装
Diffstat (limited to 'src/ollama_web/routes/models.py')
-rw-r--r--src/ollama_web/routes/models.py23
1 files changed, 23 insertions, 0 deletions
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