summaryrefslogtreecommitdiff
path: root/src/ollama_web/routes/models.py
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-06-25 02:41:58 +0900
committertanaka takashi <isazaka@gmail.com>2026-06-25 02:41:58 +0900
commit5f948a33412dfde6d0a210746e61ac9c8477c9e8 (patch)
treedfbd1877e1a1c43df0777f0daff943620d0dac13 /src/ollama_web/routes/models.py
parent697911563a1e8294aa415e8324bdd07901098876 (diff)
各モデルの機能を取得するように修正。thinking, tools, vision対応モデルに応じて機能を変えるように変更。クリアボタンのバグを修正
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