From 6cbb39a72c3d15e21609be03251fd93198c8feea Mon Sep 17 00:00:00 2001 From: sakhiy Date: Wed, 27 May 2026 01:09:21 +0000 Subject: [PATCH] =?UTF-8?q?3=20akun=20per=20provider=20=E2=80=94=20load=20?= =?UTF-8?q?balanced=20+=20fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 12 +++++++++--- README.md | 6 +++--- config.yaml | 32 ++++++++++++++++++++++++++++---- 3 files changed, 40 insertions(+), 10 deletions(-) diff --git a/.env.example b/.env.example index 01075b1..4c49555 100644 --- a/.env.example +++ b/.env.example @@ -1,14 +1,20 @@ # AI PROXY CONFIG # Copy file ini ke .env dan isi API key masing-masing -# OpenRouter (Tier 1) +# OpenRouter (Tier 1 - 3 akun) OPENROUTER_API_KEY_1= +OPENROUTER_API_KEY_2= +OPENROUTER_API_KEY_3= -# Groq (Tier 2) +# Groq (Tier 2 - 3 akun) GROQ_API_KEY_1= +GROQ_API_KEY_2= +GROQ_API_KEY_3= -# GitHub Models (Tier 3) +# GitHub Models (Tier 3 - 3 token) GITHUB_TOKEN_1= +GITHUB_TOKEN_2= +GITHUB_TOKEN_3= # LiteLLM Admin LITELLM_MASTER_KEY= diff --git a/README.md b/README.md index f6e0dca..318ba5a 100644 --- a/README.md +++ b/README.md @@ -60,9 +60,9 @@ curl http://localhost:4000/v1/chat/completions \ | Tier | Model Name | Provider | Akun | Fungsi | |------|-----------|----------|------|--------| -| 1 | `primary` | GPT-4o Mini (OpenRouter) | 1 | Main | -| 2 | `secondary` | Llama 3.3 70B (Groq) | 1 | Fallback pertama | -| 3 | `tertiary` | GPT-4o Mini (GitHub) | 1 | Fallback terakhir | +| 1 | `primary` | GPT-4o Mini (OpenRouter) | 3 | Main — load balanced | +| 2 | `secondary` | Llama 3.3 70B (Groq) | 3 | Fallback — load balanced | +| 3 | `tertiary` | GPT-4o Mini (GitHub) | 3 | Fallback terakhir — load balanced | ## Port diff --git a/config.yaml b/config.yaml index 10e685c..083690f 100644 --- a/config.yaml +++ b/config.yaml @@ -1,21 +1,45 @@ model_list: - # --- TIER 1: OPENROUTER (Free) --- + # --- TIER 1: OPENROUTER (3 Akun Load Balancing) --- - model_name: primary litellm_params: model: openrouter/openai/gpt-4o-mini api_key: os.environ/OPENROUTER_API_KEY_1 + - model_name: primary + litellm_params: + model: openrouter/openai/gpt-4o-mini + api_key: os.environ/OPENROUTER_API_KEY_2 + - model_name: primary + litellm_params: + model: openrouter/openai/gpt-4o-mini + api_key: os.environ/OPENROUTER_API_KEY_3 - # --- TIER 2: GROQ (Free) --- + # --- TIER 2: GROQ (3 Akun Load Balancing) --- - model_name: secondary litellm_params: model: groq/llama-3.3-70b-versatile api_key: os.environ/GROQ_API_KEY_1 + - model_name: secondary + litellm_params: + model: groq/llama-3.3-70b-versatile + api_key: os.environ/GROQ_API_KEY_2 + - model_name: secondary + litellm_params: + model: groq/llama-3.3-70b-versatile + api_key: os.environ/GROQ_API_KEY_3 - # --- TIER 3: GITHUB MODELS (via token) --- + # --- TIER 3: GITHUB MODELS (3 Akun) --- - model_name: tertiary litellm_params: model: github/gpt-4o-mini api_key: os.environ/GITHUB_TOKEN_1 + - model_name: tertiary + litellm_params: + model: github/gpt-4o-mini + api_key: os.environ/GITHUB_TOKEN_2 + - model_name: tertiary + litellm_params: + model: github/gpt-4o-mini + api_key: os.environ/GITHUB_TOKEN_3 router_settings: routing_strategy: simple-shuffle @@ -26,5 +50,5 @@ router_settings: retry_after: 0 num_retries: 2 timeout: 60 - allowed_fails: 2 + allowed_fails: 3 # per akun — jadi tiap akun boleh fail 3x sebelum cooldown cooldown_time: 60