vn6295337 Claude Opus 4.5 commited on
Commit
8d5bad3
·
1 Parent(s): 87e16be

Increase LLM retry delays and add fallback delay for all errors

Browse files

- Exponential backoff: 10s, 20s, 40s (was 5s, 10s, 20s)
- Provider fallback: 10s delay on ANY error (was only on 429)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

Files changed (1) hide show
  1. src/llm_client.py +5 -7
src/llm_client.py CHANGED
@@ -11,7 +11,7 @@ from typing import Optional, Tuple
11
 
12
  # Retry configuration for rate limits
13
  MAX_RETRIES = 3
14
- INITIAL_BACKOFF = 5 # seconds (backoffs: 5s, 10s, 20s)
15
 
16
 
17
  class LLMClient:
@@ -98,17 +98,15 @@ class LLMClient:
98
  errors.append(f"{provider['name']}: {error}")
99
  providers_failed.append({"name": provider['name'], "error": error})
100
  print(f"Provider {provider['name']} failed: {error}")
101
- # Check if this was a rate limit error
102
- if error and "429" in str(error):
103
- last_was_rate_limited = True
104
 
105
  except Exception as e:
106
  errors.append(f"{provider['name']}: {str(e)}")
107
  providers_failed.append({"name": provider['name'], "error": str(e)})
108
  print(f"Provider {provider['name']} exception: {e}")
109
- # Check if this was a rate limit error
110
- if "429" in str(e):
111
- last_was_rate_limited = True
112
 
113
  return None, None, f"All LLM providers failed: {'; '.join(errors)}", providers_failed
114
 
 
11
 
12
  # Retry configuration for rate limits
13
  MAX_RETRIES = 3
14
+ INITIAL_BACKOFF = 10 # seconds (backoffs: 10s, 20s, 40s)
15
 
16
 
17
  class LLMClient:
 
98
  errors.append(f"{provider['name']}: {error}")
99
  providers_failed.append({"name": provider['name'], "error": error})
100
  print(f"Provider {provider['name']} failed: {error}")
101
+ # Always delay before next provider fallback
102
+ last_was_rate_limited = True
 
103
 
104
  except Exception as e:
105
  errors.append(f"{provider['name']}: {str(e)}")
106
  providers_failed.append({"name": provider['name'], "error": str(e)})
107
  print(f"Provider {provider['name']} exception: {e}")
108
+ # Always delay before next provider fallback
109
+ last_was_rate_limited = True
 
110
 
111
  return None, None, f"All LLM providers failed: {'; '.join(errors)}", providers_failed
112