diff options
Diffstat (limited to 'src/ollama_web/routes/models.py')
| -rw-r--r-- | src/ollama_web/routes/models.py | 13 |
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 |
