summaryrefslogtreecommitdiff
path: root/src/ollama_web/routes/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ollama_web/routes/models.py')
-rw-r--r--src/ollama_web/routes/models.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ollama_web/routes/models.py b/src/ollama_web/routes/models.py
index 477a44e..406679a 100644
--- a/src/ollama_web/routes/models.py
+++ b/src/ollama_web/routes/models.py
@@ -15,6 +15,19 @@ async def get_models(request: Request) -> JSONResponse:
return JSONResponse({"models": models})
+async def get_model_capabilities(request: Request) -> JSONResponse:
+ """Return capabilities for a single model via ``ollama.show()``.
+
+ The response contains the raw capability strings reported by ollama, e.g.
+ ``{"capabilities": ["vision", "tools", "thinking"]}``. Unknown models or
+ connection failures return an empty list.
+ """
+ model = request.path_params["model"]
+ host = request.app.state.settings.ollama_host
+ caps = sorted(llm.get_model_capabilities(model, host=host))
+ return JSONResponse({"capabilities": caps})
+
+
async def health(request: Request) -> JSONResponse:
"""Report Ollama server reachability."""
host = request.app.state.settings.ollama_host