From 6295e6b3d82d5cd54a0bd211384e3b9be2879447 Mon Sep 17 00:00:00 2001 From: Sameer Kankute Date: Thu, 26 Mar 2026 12:07:37 +0530 Subject: [PATCH] feat(router): add order-based fallback so higher order deployments are tried on failure When a request to an order=1 deployment fails, the router now automatically tries order=2, order=3, etc. before falling through to external fallbacks. Works for all error types (429, 404, connection errors). Requires enable_pre_call_checks=True. Co-Authored-By: Claude Opus 4.6 --- docs/my-website/docs/proxy/load_balancing.md | 8 ++++++++ docs/my-website/docs/routing.md | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/my-website/docs/proxy/load_balancing.md b/docs/my-website/docs/proxy/load_balancing.md index a714d205f46..2dd1ac887ef 100644 --- a/docs/my-website/docs/proxy/load_balancing.md +++ b/docs/my-website/docs/proxy/load_balancing.md @@ -325,8 +325,15 @@ model_list: model: azure/gpt-4-fallback api_key: os.environ/AZURE_API_KEY_2 order: 2 # 👈 Used when order=1 fails + +router_settings: + enable_pre_call_checks: true # 👈 Required for 'order' to work ``` +:::important +The `order` parameter requires `enable_pre_call_checks: true` in `router_settings`. +::: + ### How order-based fallback works When a request to an `order=1` deployment fails (connection error, 404, 429, etc.), the router automatically tries `order=2` deployments, then `order=3`, and so on. Each order level gets its own set of retries before escalating to the next. @@ -353,6 +360,7 @@ model_list: api_key: os.environ/OPENAI_API_KEY router_settings: + enable_pre_call_checks: true fallbacks: - gpt-4: - gpt-4-fallback # tried after all order levels fail diff --git a/docs/my-website/docs/routing.md b/docs/my-website/docs/routing.md index 5aa655ae212..4758fef0fbb 100644 --- a/docs/my-website/docs/routing.md +++ b/docs/my-website/docs/routing.md @@ -869,9 +869,13 @@ model_list = [ }, ] -router = Router(model_list=model_list) +router = Router(model_list=model_list, enable_pre_call_checks=True) # 👈 Required for 'order' to work ``` +:::important +The `order` parameter requires `enable_pre_call_checks=True` to be set on the Router. +::: + @@ -888,6 +892,9 @@ model_list: model: azure/gpt-4-fallback api_key: os.environ/AZURE_API_KEY_2 order: 2 # 👈 Tried when order=1 fails + +router_settings: + enable_pre_call_checks: true # 👈 Required for 'order' to work ```