From 01d4a5f31480cf808301e4261ba6748cc5e89f71 Mon Sep 17 00:00:00 2001 From: Joakim Persson Date: Mon, 5 Aug 2024 14:16:00 +0200 Subject: [PATCH] =?UTF-8?q?Anv=C3=A4nder=20nu=20LogLevels.=20V=C3=A4ljer?= =?UTF-8?q?=20endpoint=20baserat=20p=C3=A5=20preferred=5Fep=20i=20konfigur?= =?UTF-8?q?ationsfilen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- smartassist/src/startservices.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/smartassist/src/startservices.py b/smartassist/src/startservices.py index 0329133..18aeb4c 100644 --- a/smartassist/src/startservices.py +++ b/smartassist/src/startservices.py @@ -10,6 +10,7 @@ import logging import requests import utils from utils import GlobalState +from enums import LogLevel global_state = GlobalState() # Configure root logger. The level will be adjusted later based on config file logger = global_state.get_logger(__name__) # Logger for this module, inherit properties of the root logger @@ -56,8 +57,9 @@ def configure(): if isinstance(updated_config.get('logging'), dict): # Look for 'logging' key in config file logging_config = updated_config['logging'] if isinstance(logging_config.get('level'), str): # Set to value of the yaml file if specified - global_state.set_log_level(logging_config['level']) - logger.debug("configure(): This logger now has effective log level %s", logger.getEffectiveLevel()) + # global_state.set_log_level(logging_config['level']) + global_state.set_log_level(LogLevel(logging_config['level'])) + logger.info("configure(): This logger now has effective log level %s", logger.getEffectiveLevel()) #################################### # Extract models (server url, api_key, model, et cetera) @@ -66,6 +68,8 @@ def configure(): global_state.set_backend(backend=updated_config.get('backend')) logger.debug("backend = \n{}".format(json.dumps(global_state.get_backend(), indent=4))) logger.debug(f"Backend API endpoint is set to: {global_state.get_backend_api_ep()}") + + preferred_ep = updated_config.get('preferred_ep', None) # Get the preferred endpoint if specified, otherwise None if isinstance(updated_config.get('endpoints'), list): # Extract info on endpoint, model, url, provider et cetera from list global_state.set_endpoints(endpoints=updated_config.get('endpoints')) # Extract and set list of endpoints @@ -80,7 +84,11 @@ def configure(): llm = endpoint["model"] endpoint["default_llm"] = llm - default_endpoint = next(iter(endpoints),None) # Set default_endpoint to first endpoint from list of endpoints + if preferred_ep: # If preferred_ep is specified, set it as the default endpoint + list_of_eps = global_state.get_endpoints_with_key_values("title", preferred_ep) # Should only be one element in the list... + default_endpoint = next(iter(list_of_eps),None) # Same as default_endpoint = list_of_eps[0] if list_of_eps else None + else: + default_endpoint = next(iter(endpoints),None) # Set default_endpoint to first endpoint from list of all endpoints default_llm = default_endpoint["default_llm"] # Get default LLM for default_endpoint default_ulr = default_endpoint["url"] # Get ulr of default_endpoint global_state.set_host_url(default_ulr) # Set initial host to the first item in endpoints (or None)