{ config, pkgs, lib, ... }: let p = import ../parameters.nix; litellm-port = 12345; in { age.secrets = { azure-ai.file = ../../secrets/azure-ai.age; # open-webui-secrets.file = ../../secrets/open-webui-secrets.age; }; my = { utils = { commons.enable = true; commons.gc.enable = true; lxc-standard.enable = true; }; virtualisation.proxmox.enable = true; }; services.litellm = { enable = true; environmentFile = config.age.secrets.azure-ai.path; host = "0.0.0.0"; openFirewall = true; port = litellm-port; settings = { model_list = [ { model_name = "azure-gpt-35-turbo"; litellm_params = { model = "azure/gpt-35-turbo"; api_base = "os.environ/AZURE_API_BASE_OPENAI"; api_key = "os.environ/AZURE_API_KEY_OPENAI"; }; } { model_name = "azure-gpt-4o"; litellm_params = { model = "azure/gpt-4o"; api_base = "os.environ/AZURE_API_BASE_OPENAI"; api_key = "os.environ/AZURE_API_KEY_OPENAI"; }; } { model_name = "azure-gpt-4o-mini"; litellm_params = { model = "azure/gpt-4o-mini"; api_base = "os.environ/AZURE_API_BASE_OPENAI"; api_key = "os.environ/AZURE_API_KEY_OPENAI"; }; } { model_name = "azure-gpt-o3-mini"; litellm_params = { model = "azure/o3-mini"; api_base = "os.environ/AZURE_API_BASE_OPENAI"; api_key = "os.environ/AZURE_API_KEY_OPENAI"; api_version = "2024-12-01-preview"; }; } { model_name = "azure-openai-4o-audio"; litellm_params = { model = "azure/gpt-4o-audio-preview"; api_base = "os.environ/AZURE_API_BASE_OPENAI"; api_key = "os.environ/AZURE_API_KEY_OPENAI"; }; } { model_name = "dall-e-3"; litellm_params = { model = "azure/dall-e-3"; api_base = "os.environ/AZURE_API_BASE_OPENAI"; api_key = "os.environ/AZURE_API_KEY_OPENAI"; }; } { model_name = "azure-DeepSeek-R1"; litellm_params = { model = "azure_ai/DeepSeek-R1"; api_base = "os.environ/AZURE_API_BASE_R1"; api_key = "os.environ/AZURE_API_KEY_R1"; }; } ]; }; }; system.stateVersion = "24.11"; }