Använder nu LogLevels. Väljer endpoint baserat på preferred_ep i konfigurationsfilen

This commit is contained in:
Joakim Persson
2024-08-05 14:16:00 +02:00
parent 4621cf6cbf
commit 01d4a5f314
+11 -3
View File
@@ -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)
@@ -67,6 +69,8 @@ def configure():
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
# logger.debug("endpoints = \n{}".format(json.dumps(global_state.get_endpoints(), indent=4)))
@@ -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)