From ad34da72a4f6f6eb695a71b91d6473e69b36eaaa Mon Sep 17 00:00:00 2001 From: Inferencebot Date: Fri, 16 Oct 2026 10:10:45 -0600 Subject: [PATCH] Add Regolo provider: apertus-70b, qwen3.5-122b (thinking off), qwen-image + Apertus fallback chain --- config.yaml | 42 ++++++++++++++++++++++++++++++++++++++++++ start.sh | 5 +++++ 2 files changed, 47 insertions(+) diff --git a/config.yaml b/config.yaml index 2fc409b..69188a7 100644 --- a/config.yaml +++ b/config.yaml @@ -130,6 +130,44 @@ model_list: input_cost_per_token: 0.00000082 output_cost_per_token: 0.00000292 + # --- Regolo (EU, zero data retention, 100% renewables) --- + # Seeweb S.r.l. (Italy). Added 2026-10-16 following member suggestion (#22). + # apertus-70b: same open-weights model as PublicAI's apertus-v1.5-70b, ~45% cheaper + # input. Wired as fallback pair with PublicAI (see router_settings.fallbacks). + # qwen3.5-122b: large vision+reasoning MoE (262K ctx). REQUIRES + # chat_template_kwargs: {enable_thinking: false} — otherwise the reasoning + # phase consumes the entire token budget and content comes back empty. + # Qwen-Image: image generation via /v1/images/generations, billed per pixel. + - model_name: regolo/apertus-70b + litellm_params: + model: openai/apertus-70b + api_base: https://api.regolo.ai/v1 + api_key: os.environ/REGOLO_API_KEY + model_info: + mode: chat + input_cost_per_token: 4.6e-7 + output_cost_per_token: 2.44e-6 + + - model_name: regolo/qwen3.5-122b + litellm_params: + model: openai/qwen3.5-122b + api_base: https://api.regolo.ai/v1 + api_key: os.environ/REGOLO_API_KEY + chat_template_kwargs: {"enable_thinking": false} + model_info: + mode: chat + input_cost_per_token: 1.16e-6 + output_cost_per_token: 4.87e-6 + + - model_name: regolo/qwen-image + litellm_params: + model: openai/Qwen-Image + api_base: https://api.regolo.ai/v1 + api_key: os.environ/REGOLO_API_KEY + model_info: + mode: image_generation + input_cost_per_pixel: 1.5e-8 + # --- Audio models (Tinfoil, in-TEE) --- # Used for chat dictation (STT) and voice mode (TTS). These are NOT chat # models: the member portal's /v1/models filters them out of the chat model @@ -193,6 +231,10 @@ router_settings: - tinfoil/deepseek-v4-1-flash - tinfoil/deepseek-v4-1-flash: - tinfoil/gpt-oss-120b + - publicai/apertus-v1.5-70b: + - regolo/apertus-70b + - regolo/apertus-70b: + - publicai/apertus-v1.5-70b general_settings: master_key: os.environ/LITELLM_MASTER_KEY diff --git a/start.sh b/start.sh index e792afd..cf64ed3 100644 --- a/start.sh +++ b/start.sh @@ -37,6 +37,11 @@ if [ ! -f "$MASTER_KEY_FILE" ]; then python3 -c "import secrets; print('sk-' + secrets.token_urlsafe(32))" > "$MASTER_KEY_FILE" fi export LITELLM_MASTER_KEY=$(cat "$MASTER_KEY_FILE") +# Regolo API key (member-suggested provider, 2026-10-16): stored in /app/data by the operator +# via the Cloudron file manager — kept out of app env config and git. +if [ -f "/app/data/regolo_key.txt" ]; then + export REGOLO_API_KEY=$(cat /app/data/regolo_key.txt | tr -d '[:space:]') +fi # Generate a salt key if not already in /app/data SALT_KEY_FILE="/app/data/.salt_key"