# import os, litellm # import pkg_resources # import dotenv # dotenv.load_dotenv() # load env variables # def print_verbose(print_statement): # pass # def get_package_version(package_name): # try: # package = pkg_resources.get_distribution(package_name) # return package.version # except pkg_resources.DistributionNotFound: # return None # # Usage example # package_name = "litellm" # version = get_package_version(package_name) # if version: # print_verbose(f"The version of {package_name} is {version}") # else: # print_verbose(f"{package_name} is not installed") # import yaml # import dotenv # from typing import Optional # dotenv.load_dotenv() # load env variables # def set_callbacks(): # ## LOGGING # if len(os.getenv("SET_VERBOSE", "")) > 0: # if os.getenv("SET_VERBOSE") == "True": # litellm.set_verbose = True # print_verbose("\033[92mLiteLLM: Switched on verbose logging\033[0m") # else: # litellm.set_verbose = False # ### LANGFUSE # if (len(os.getenv("LANGFUSE_PUBLIC_KEY", "")) > 0 and len(os.getenv("LANGFUSE_SECRET_KEY", ""))) > 0 or len(os.getenv("LANGFUSE_HOST", "")) > 0: # litellm.success_callback = ["langfuse"] # print_verbose("\033[92mLiteLLM: Switched on Langfuse feature\033[0m") # ## CACHING # ### REDIS # # if len(os.getenv("REDIS_HOST", "")) > 0 and len(os.getenv("REDIS_PORT", "")) > 0 and len(os.getenv("REDIS_PASSWORD", "")) > 0: # # print(f"redis host: {os.getenv('REDIS_HOST')}; redis port: {os.getenv('REDIS_PORT')}; password: {os.getenv('REDIS_PASSWORD')}") # # from litellm.caching import Cache # # litellm.cache = Cache(type="redis", host=os.getenv("REDIS_HOST"), port=os.getenv("REDIS_PORT"), password=os.getenv("REDIS_PASSWORD")) # # print("\033[92mLiteLLM: Switched on Redis caching\033[0m") # def load_router_config(router: Optional[litellm.Router], config_file_path: Optional[str]='/app/config.yaml'): # config = {} # server_settings = {} # try: # if os.path.exists(config_file_path): # type: ignore # with open(config_file_path, 'r') as file: # type: ignore # config = yaml.safe_load(file) # else: # pass # except: # pass # ## SERVER SETTINGS (e.g. default completion model = 'ollama/mistral') # server_settings = config.get("server_settings", None) # if server_settings: # server_settings = server_settings # ## LITELLM MODULE SETTINGS (e.g. litellm.drop_params=True,..) # litellm_settings = config.get('litellm_settings', None) # if litellm_settings: # for key, value in litellm_settings.items(): # setattr(litellm, key, value) # ## MODEL LIST # model_list = config.get('model_list', None) # if model_list: # router = litellm.Router(model_list=model_list) # ## ENVIRONMENT VARIABLES # environment_variables = config.get('environment_variables', None) # if environment_variables: # for key, value in environment_variables.items(): # os.environ[key] = value # return router, model_list, server_settings