Spaces:
Sleeping
Sleeping
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>
- 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 =
|
| 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 |
-
#
|
| 102 |
-
|
| 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 |
-
#
|
| 110 |
-
|
| 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 |
|