Spaces:
Sleeping
Sleeping
Commit ·
83e9fb0
1
Parent(s): 56a0fa6
Fix: record_api_call once per query, not per key rotation
Browse files
app.py
CHANGED
|
@@ -203,6 +203,9 @@ def call_gemini_api(prompt: str) -> str:
|
|
| 203 |
logger.warning("RATE LIMIT EXCEEDED - returning fallback signal")
|
| 204 |
return "RATE_LIMITED"
|
| 205 |
|
|
|
|
|
|
|
|
|
|
| 206 |
if not GEMINI_API_KEYS:
|
| 207 |
return "Please configure GEMINI_API_KEY for real responses."
|
| 208 |
|
|
@@ -215,9 +218,6 @@ def call_gemini_api(prompt: str) -> str:
|
|
| 215 |
|
| 216 |
for attempt in range(max_retries_per_key):
|
| 217 |
try:
|
| 218 |
-
# Record the call BEFORE making it (counts against limit)
|
| 219 |
-
record_api_call()
|
| 220 |
-
|
| 221 |
response = requests.post(
|
| 222 |
url,
|
| 223 |
headers={"Content-Type": "application/json"},
|
|
@@ -238,7 +238,7 @@ def call_gemini_api(prompt: str) -> str:
|
|
| 238 |
return "No response generated."
|
| 239 |
|
| 240 |
elif response.status_code in [400, 429, 403, 500, 502, 503]:
|
| 241 |
-
#
|
| 242 |
logger.warning(f"API key {current_key_index + 1} got {response.status_code}, rotating...")
|
| 243 |
get_next_api_key()
|
| 244 |
keys_tried += 1
|
|
|
|
| 203 |
logger.warning("RATE LIMIT EXCEEDED - returning fallback signal")
|
| 204 |
return "RATE_LIMITED"
|
| 205 |
|
| 206 |
+
# Record ONE API call at the start (not per retry/rotation)
|
| 207 |
+
record_api_call()
|
| 208 |
+
|
| 209 |
if not GEMINI_API_KEYS:
|
| 210 |
return "Please configure GEMINI_API_KEY for real responses."
|
| 211 |
|
|
|
|
| 218 |
|
| 219 |
for attempt in range(max_retries_per_key):
|
| 220 |
try:
|
|
|
|
|
|
|
|
|
|
| 221 |
response = requests.post(
|
| 222 |
url,
|
| 223 |
headers={"Content-Type": "application/json"},
|
|
|
|
| 238 |
return "No response generated."
|
| 239 |
|
| 240 |
elif response.status_code in [400, 429, 403, 500, 502, 503]:
|
| 241 |
+
# Rate limit, quota exceeded, or server error - try next key
|
| 242 |
logger.warning(f"API key {current_key_index + 1} got {response.status_code}, rotating...")
|
| 243 |
get_next_api_key()
|
| 244 |
keys_tried += 1
|