import time
import requests
def call_api_with_retry(max_retries=5):
for attempt in range(max_retries):
response = requests.post("https://infistar.ai/v1/chat/completions", headers=headers, json=data)
if response.status_code == 200:
return response.json()
elif response.status_code == 429:
sleep_time = (2 ** attempt) # 依次等待 1s, 2s, 4s, 8s...
print(f"触发限流,系统繁忙,将在 {sleep_time} 秒后自动重试...")
time.sleep(sleep_time)
else:
raise Exception(f"API Error: {response.status_code}")
raise Exception("已达到最大重试次数,请稍后再试")