From feaa01dc77aada29bc71ccd3741260dc08afefe1 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sat, 29 Mar 2025 16:52:42 -0700 Subject: [PATCH] fix: ollama requests --- backend/open_webui/routers/ollama.py | 29 ++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/backend/open_webui/routers/ollama.py b/backend/open_webui/routers/ollama.py index ea093be49..fcb263d1e 100644 --- a/backend/open_webui/routers/ollama.py +++ b/backend/open_webui/routers/ollama.py @@ -465,18 +465,27 @@ async def get_ollama_versions(request: Request, url_idx: Optional[int] = None): if request.app.state.config.ENABLE_OLLAMA_API: if url_idx is None: # returns lowest version - request_tasks = [ - send_get_request( - f"{url}/api/version", + request_tasks = [] + + for idx, url in enumerate(request.app.state.config.OLLAMA_BASE_URLS): + api_config = request.app.state.config.OLLAMA_API_CONFIGS.get( + str(idx), request.app.state.config.OLLAMA_API_CONFIGS.get( - str(idx), - request.app.state.config.OLLAMA_API_CONFIGS.get( - url, {} - ), # Legacy support - ).get("key", None), + url, {} + ), # Legacy support ) - for idx, url in enumerate(request.app.state.config.OLLAMA_BASE_URLS) - ] + + enable = api_config.get("enable", True) + key = api_config.get("key", None) + + if enable: + request_tasks.append( + send_get_request( + f"{url}/api/version", + key, + ) + ) + responses = await asyncio.gather(*request_tasks) responses = list(filter(lambda x: x is not None, responses))