[GH-ISSUE #2022] [FEAT]: Load-Balancing LLM Options #1319

Closed
opened 2026-02-22 18:24:15 -05:00 by yindo · 1 comment
Owner

Originally created by @ericthomas1 on GitHub (Aug 1, 2024).
Original GitHub issue: https://github.com/Mintplex-Labs/anything-llm/issues/2022

What would you like to see?

We'd like to see an option where multiple Azure OpenAI URLs (and API keys) could be used for load-balancing scenarios.

Example:

  • Enter 3 different Azure OpenAI URLs / API keys in the Anything LLM UI
  • User enters a query into the Anything LLM chat window
  • If service responds with Status 429, another of the 3 services is queried.
  • Maybe the option to set a Primary/Secondary/etc. option?
Originally created by @ericthomas1 on GitHub (Aug 1, 2024). Original GitHub issue: https://github.com/Mintplex-Labs/anything-llm/issues/2022 ### What would you like to see? We'd like to see an option where multiple Azure OpenAI URLs (and API keys) could be used for load-balancing scenarios. **Example**: - Enter 3 different Azure OpenAI URLs / API keys in the Anything LLM UI - User enters a query into the Anything LLM chat window - If service responds with Status 429, another of the 3 services is queried. - Maybe the option to set a Primary/Secondary/etc. option?
yindo added the enhancementfeature request labels 2026-02-22 18:24:15 -05:00
yindo changed title from [FEAT]: Load-Balancing LLM Options to [GH-ISSUE #2022] [FEAT]: Load-Balancing LLM Options 2026-06-05 14:40:08 -04:00
yindo closed this issue 2026-06-05 14:40:08 -04:00
Author
Owner

@SirBrenton commented on GitHub (Apr 4, 2026):

The load balancing approach makes sense for transient 429s, but there's an upstream classification problem worth
considering first.

Not all 429s should trigger failover:

  • Transient pressure (retry-after: 30s) → wait and retry
    same provider
  • Quota exhaustion (retry-after: 3h+) → failover makes sense
  • Billing gate → failover won't help, account action required

Without distinguishing these, a load balancer routes quota exhaustion cases to the next key — which may hit the same account-level limit immediately.

The classification needs to happen before the routing decision.

Happy to share what this looks like in practice if useful.

<!-- gh-comment-id:4187668611 --> @SirBrenton commented on GitHub (Apr 4, 2026): The load balancing approach makes sense for transient 429s, but there's an upstream classification problem worth considering first. Not all 429s should trigger failover: - Transient pressure (retry-after: 30s) → wait and retry same provider - Quota exhaustion (retry-after: 3h+) → failover makes sense - Billing gate → failover won't help, account action required Without distinguishing these, a load balancer routes quota exhaustion cases to the next key — which may hit the same account-level limit immediately. The classification needs to happen before the routing decision. Happy to share what this looks like in practice if useful.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Mintplex-Labs/anything-llm#1319