Zum Hauptinhalt springen

Error Handling and Retries

Use Built-In Retries

from openai import OpenAI

client = OpenAI(
api_key="your-api-key",
base_url="https://aisupermarket.work/v1",
max_retries=3,
timeout=60.0,
)

Handle Errors Manually

import time
from openai import OpenAI, RateLimitError, APITimeoutError, APIConnectionError

client = OpenAI(api_key="your-api-key", base_url="https://aisupermarket.work/v1")

def chat_stream(messages, max_retries=3):
for attempt in range(max_retries):
try:
stream = client.chat.completions.create(
model="gpt-5.4",
messages=messages,
stream=True,
)
result = ""
for chunk in stream:
if chunk.choices[0].delta.content:
result += chunk.choices[0].delta.content
return result
except RateLimitError:
wait = 2 ** attempt
print(f"Rate limited, retrying in {wait} seconds...")
time.sleep(wait)
except APITimeoutError:
print("Request timed out, retrying...")
except APIConnectionError as e:
print(f"Connection error: {e}")
break
raise Exception("Request failed after the maximum number of retries")

Common Error Codes

Error TypeStatus CodeCauseFix
AuthenticationError401Invalid API KeyCheck the Key
PermissionDeniedError403No access permissionCheck the account
NotFoundError404Model does not existCheck the model name
RateLimitError429Rate or quota exceededRetry with exponential backoff
InternalServerError500Server-side errorRetry later