-
Notifications
You must be signed in to change notification settings - Fork 0
Fix: Postgres password, BLAKE2b hash upgrade, and PR review comments #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
0f8c84a
b3ae575
8338b23
528eb8d
e14a543
78f922d
214c637
12753bd
bda8325
be67870
38e080c
dcccf7f
caef8f9
c34bd9e
03b96f5
a7a5588
d22047a
296b957
3466563
43b1987
07b035e
eafa0fc
5424cda
1619e25
d8f0e5d
738d45e
f6d3ec1
fd36f21
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| general_settings: | ||
| master_key: sk-lit...33bf | ||
| master_key: os.environ/LITELLM_MASTER_KEY | ||
| litellm_settings: | ||
| # ------------------------------------------------------------------------- | ||
| # FALLBACK CHAINS (cascading, in order of escalation) | ||
|
|
@@ -20,41 +20,76 @@ litellm_settings: | |
| - langfuse | ||
| detailed_debug: false | ||
| drop_params: true | ||
| public_model_groups: | ||
| - openrouter-auto | ||
| - llm-routing-ollama | ||
| - ollama-deepseek-v4-pro | ||
| - ollama-deepseek-v4-flash | ||
| - agent-advanced-core | ||
| - agent-reasoning-core | ||
| - agent-complex-core | ||
| - agent-medium-core | ||
| - agent-simple-core | ||
| fallbacks: | ||
| - agent-simple-core: | ||
| - agent-medium-core | ||
| - agent-complex-core | ||
| - agent-reasoning-core | ||
| - agent-advanced-core | ||
| - llm-routing-ollama | ||
| - openrouter-auto | ||
| # - local-qwen-3.6 # DISABLED: 35B model unloaded (23GB GTT saved) | ||
| - agent-medium-core: | ||
| - agent-complex-core | ||
| - agent-reasoning-core | ||
| - agent-advanced-core | ||
| - llm-routing-ollama | ||
| - openrouter-auto | ||
| # - local-qwen-3.6 # DISABLED | ||
| - agent-complex-core: | ||
| - agent-reasoning-core | ||
| - agent-advanced-core | ||
| - llm-routing-ollama | ||
| - openrouter-auto | ||
| # - local-qwen-3.6 # DISABLED | ||
| - agent-reasoning-core: | ||
| - agent-advanced-core | ||
| - llm-routing-ollama | ||
| - openrouter-auto | ||
| # - local-qwen-3.6 # DISABLED | ||
| - agent-advanced-core: | ||
| - llm-routing-ollama | ||
| - openrouter-auto | ||
| # - local-qwen-3.6 # DISABLED | ||
| - ollama-deepseek-v4-pro: | ||
| - agent-advanced-core | ||
| - ollama-deepseek-v4-flash: | ||
| - agent-reasoning-core | ||
|
|
||
| model_list: | ||
| - litellm_params: | ||
| model: openrouter/openrouter/auto | ||
| request_timeout: 120 | ||
| model_name: openrouter-auto | ||
| model_info: | ||
| supports_vision: true | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 2000000 | ||
| max_input_tokens: 2000000 | ||
| is_public_model_group: true | ||
| - litellm_params: | ||
| model: openai/llm-routing-ollama | ||
| api_base: http://127.0.0.1:5000/v1 | ||
| api_key: os.environ/LITELLM_MASTER_KEY | ||
| request_timeout: 120 | ||
| model_name: llm-routing-ollama | ||
| model_info: | ||
| supports_vision: true | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 524288 | ||
| max_input_tokens: 524288 | ||
| is_public_model_group: true | ||
|
|
||
| # DISABLED 2026-06-08 — 20GB on disk, 23GB GTT (system RAM as GPU buffer). | ||
| # Uncomment to re-enable once a lighter model replaces it. | ||
| #- litellm_params: | ||
|
|
@@ -73,25 +108,48 @@ model_list: | |
| # ================================================================================ | ||
| # OLLAMA PAID TIER — ollama.com via LiteLLM's native ollama_chat provider. | ||
| # LiteLLM calls https://api.ollama.com/api/chat with Bearer auth (OLLAMA_API_KEY). | ||
| # Fallback: ollama-deepseek-v4-pro → agent-advanced-core → openrouter-auto. | ||
| # No LiteLLM-level fallbacks: failures propagate back to the triage router | ||
| # (router/main.py) which manages Ollama cooldowns internally. When Ollama fails, | ||
| # the router activates a 5-minute cooldown and skips Ollama on subsequent | ||
| # requests, returning 429 so LiteLLM falls through to openrouter-auto. | ||
| # ================================================================================ | ||
| - model_name: ollama-deepseek-v4-pro | ||
| litellm_params: | ||
| model: ollama_chat/deepseek-v4-pro | ||
| api_base: https://api.ollama.com | ||
| api_key: os.environ/OLLAMA_API_KEY | ||
| request_timeout: 120 | ||
| model_info: | ||
| supports_vision: true | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 524288 | ||
| max_input_tokens: 524288 | ||
| input_cost_per_token: 0.00000174 | ||
| output_cost_per_token: 0.00000348 | ||
| is_public_model_group: true | ||
|
|
||
| # ================================================================================ | ||
| # OLLAMA FLASH TIER — lighter/faster model for reasoning-tier requests. | ||
| # Fallback: ollama-deepseek-v4-flash → agent-reasoning-core → openrouter-auto. | ||
| # Same cooldown architecture as the pro tier above. | ||
| # ================================================================================ | ||
| - model_name: ollama-deepseek-v4-flash | ||
| litellm_params: | ||
| model: ollama_chat/deepseek-v4-flash | ||
| api_base: https://api.ollama.com | ||
| api_key: os.environ/OLLAMA_API_KEY | ||
| request_timeout: 120 | ||
| model_info: | ||
| supports_vision: true | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 524288 | ||
| max_input_tokens: 524288 | ||
| input_cost_per_token: 0.00000014 | ||
| output_cost_per_token: 0.00000028 | ||
| is_public_model_group: true | ||
|
|
||
| # ================================================================================ | ||
| # AGENT TIER DEPLOYMENTS — safety-net entries (one per tier) | ||
|
|
@@ -119,45 +177,80 @@ model_list: | |
|
|
||
| - model_name: agent-advanced-core | ||
| litellm_params: | ||
| model: openrouter/minimax/minimax-m2.5:free | ||
| request_timeout: 120 | ||
| model: openrouter/google/gemma-4-31b-it:free | ||
| request_timeout: 20 | ||
| model_info: | ||
| supports_vision: false | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 262144 | ||
| max_input_tokens: 262144 | ||
| is_public_model_group: true | ||
| - model_name: agent-reasoning-core | ||
| litellm_params: | ||
| model: openrouter/moonshotai/kimi-k2.6:free | ||
| request_timeout: 120 | ||
| model: openrouter/google/gemma-4-26b-a4b-it:free | ||
| request_timeout: 20 | ||
| model_info: | ||
| supports_vision: false | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 262144 | ||
| max_input_tokens: 262144 | ||
| is_public_model_group: true | ||
| - model_name: agent-complex-core | ||
| litellm_params: | ||
| model: openrouter/nvidia/nemotron-3-ultra-550b-a55b:free | ||
| request_timeout: 120 | ||
| request_timeout: 20 | ||
| model_info: | ||
| supports_vision: false | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 262144 | ||
| max_input_tokens: 262144 | ||
| is_public_model_group: true | ||
| - model_name: agent-medium-core | ||
| litellm_params: | ||
| model: openrouter/google/gemma-4-26b-a4b-it:free | ||
| request_timeout: 120 | ||
| request_timeout: 20 | ||
| model_info: | ||
| supports_vision: false | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 262144 | ||
| max_input_tokens: 262144 | ||
| is_public_model_group: true | ||
| - model_name: agent-simple-core | ||
| litellm_params: | ||
| model: openrouter/nvidia/nemotron-3-nano-30b-a3b:free | ||
| request_timeout: 120 | ||
| request_timeout: 20 | ||
| model_info: | ||
| supports_vision: false | ||
| supports_reasoning: true | ||
| supports_function_calling: true | ||
| mode: chat | ||
| max_tokens: 256000 | ||
| max_input_tokens: 256000 | ||
| is_public_model_group: true | ||
|
|
||
| redis_settings: | ||
| redis_host: 127.0.0.1 | ||
| redis_port: 6379 | ||
| router_settings: | ||
| allowed_fails: 2 | ||
| allowed_fails: 0 | ||
| cooldown_time: 300 | ||
| enable_pre_call_checks: false | ||
| num_retries: 1 | ||
| routing_strategy: latency-based-routing | ||
| # Per-error-type cooldown thresholds (overrides allowed_fails for specific errors). | ||
| # Upstream rate limits ("temporarily rate-limited upstream") can last minutes — | ||
| # a 30s cooldown just wastes retries. 300s gives providers time to clear the limit. | ||
| # RateLimitError: cooldown on FIRST 429 (upstream rate limits persist for minutes — | ||
| # allowing even 1 retry wastes a request against a provider that's still throttling) | ||
| allowed_fails_policy: | ||
| RateLimitErrorAllowedFails: 0 | ||
| TimeoutErrorAllowedFails: 3 | ||
| BadRequestErrorAllowedFails: 1 | ||
| enable_health_check_routing: false | ||
| # NOTE: allowed_fails_policy is an enterprise-only feature in LiteLLM. | ||
| # Ollama cooldowns are handled by the triage router itself (router/main.py), | ||
| # not by LiteLLM's deployment cooldown mechanism. | ||
|
Comment on lines
242
to
+251
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: In LiteLLM, setting Citations:
Reconsider
🤖 Prompt for AI Agents |
||
| vector_store_settings: | ||
| collection_name: litellm_semantic_cache | ||
| connection_string: postgresql://postgres:***@127.0.0.1:5432/postgres | ||
| connection_string: os.environ/DATABASE_URL | ||
| embedding_model: local-nomic-embed | ||
| store_type: postgres | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -42,7 +42,7 @@ spec: | |||||||||||||
| - name: STORE_MODEL_IN_DB | ||||||||||||||
| value: 'True' | ||||||||||||||
| - name: LITELLM_LOG | ||||||||||||||
| value: WARNING | ||||||||||||||
| value: INFO | ||||||||||||||
| - name: LANGFUSE_HOST | ||||||||||||||
| value: http://127.0.0.1:3001 | ||||||||||||||
| - name: LITELLM_MASTER_KEY | ||||||||||||||
|
|
@@ -90,6 +90,10 @@ spec: | |||||||||||||
| env: | ||||||||||||||
| - name: CONFIG_PATH | ||||||||||||||
| value: /config/router_dir/config.yaml | ||||||||||||||
| - name: LITELLM_CONFIG_PATH | ||||||||||||||
| value: /config/litellm_dir/config.yaml | ||||||||||||||
| - name: DATABASE_URL | ||||||||||||||
| value: postgresql://postgres:***@127.0.0.1:5432/postgres | ||||||||||||||
|
Comment on lines
+93
to
+96
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Avoid committing the router database credential in the pod spec. Line 96 adds a credential-bearing Proposed direction - name: LITELLM_CONFIG_PATH
value: /config/litellm_dir/config.yaml
- - name: DATABASE_URL
- value: postgresql://postgres:***`@127.0.0.1`:5432/postgres📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||
| - name: DBUS_SESSION_BUS_ADDRESS | ||||||||||||||
| value: unix:path=/run/user/1000/bus | ||||||||||||||
| - name: LITELLM_MASTER_KEY | ||||||||||||||
|
|
@@ -127,6 +131,8 @@ spec: | |||||||||||||
| volumeMounts: | ||||||||||||||
| - mountPath: /config/router_dir | ||||||||||||||
| name: router-config | ||||||||||||||
| - mountPath: /config/litellm_dir | ||||||||||||||
| name: litellm-config | ||||||||||||||
| - mountPath: /app/data | ||||||||||||||
| name: dataset-data | ||||||||||||||
| - mountPath: /config/gemini_auth | ||||||||||||||
|
|
||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep raw Ollama groups private so cooldowns cannot be bypassed.
ollama-deepseek-v4-proandollama-deepseek-v4-flashare listed as public groups, but their cooldown protection lives inrouter/main.py. A client that calls these LiteLLM model groups directly bypassesllm-routing-ollamaand can keep hitting Ollama during a router-side cooldown.Proposed config adjustment
public_model_groups: - openrouter-auto - llm-routing-ollama - - ollama-deepseek-v4-pro - - ollama-deepseek-v4-flash - agent-advanced-core - agent-reasoning-core - agent-complex-coreAlso applies to: 111-114
🤖 Prompt for AI Agents