hermes - 💡(How to fix) Fix fix(vision): _resolve_single_provider kwargs regression — fallback_chain silently fails on Gemini quota errors

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  • User sees raw Gemini error, no fallback to MiMo/Ollama

Root Cause

Root cause: _resolve_single_provider calls resolve_provider_client(provider=..., model=..., explicit_base_url=base_url, explicit_api_key=api_key). The explicit_base_url/explicit_api_key parameters are ~14 lines after def — any refactoring that shifts the function body can silently break the fallback chain.

Fix Action

Workaround

Re-apply kwargs fix after every hermes update.

RAW_BUFFERClick to expand / collapse

Problem

When Gemini returns HTTP 429 (quota/resource exhausted), the vision fallback chain (_try_configured_fallback_chain) attempts to create clients for fallback providers (xiaomi-tp, ollama) via _resolve_single_provider. However, this function does not correctly forward explicit_base_url/explicit_api_key kwargs to resolve_provider_client after certain updates.

Root cause: _resolve_single_provider calls resolve_provider_client(provider=..., model=..., explicit_base_url=base_url, explicit_api_key=api_key). The explicit_base_url/explicit_api_key parameters are ~14 lines after def — any refactoring that shifts the function body can silently break the fallback chain.

Impact

  • Users on Gemini free tier get quota exhausted → 429
  • Fallback chain silently returns None for all providers
  • User sees raw Gemini error, no fallback to MiMo/Ollama
  • Verify check (grep -A3) was insufficient; explicit_base_url is on line ~14

Expected

_resolve_single_provider should robustly forward all kwargs to resolve_provider_client. Options: make resolve_provider_client accept base_url/api_key as positional params; add a unit test; document the contract.

Workaround

Re-apply kwargs fix after every hermes update.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix fix(vision): _resolve_single_provider kwargs regression — fallback_chain silently fails on Gemini quota errors