Reference · Snippet · python

Retry OpenAI on 429

Last updated

openairetryrate-limit

import time
from openai import OpenAI, RateLimitError

client = OpenAI()

def chat_with_retry(messages, max_attempts=5):
    wait = 1.0
    for attempt in range(max_attempts):
        try:
            return client.chat.completions.create(
                model="gpt-4o-mini",
                messages=messages,
            )
        except RateLimitError:
            if attempt == max_attempts - 1:
                raise
            time.sleep(wait)
            wait *= 2