Kom igångKom igång gratis

Undvika rate limits med retry

Du har skapat en funktion för att köra Chat Completions med ett eget meddelande, men har märkt att den ibland misslyckas på grund av rate limits. Du bestämmer dig för att använda dekoratorn @retry från biblioteket tenacity för att undvika fel så långt det är möjligt.

Den här övningen är en del av kursen

Utveckla AI-system med OpenAI API

Visa kurs

Övningsinstruktioner

  • Importera biblioteket tenacity med de funktioner som krävs: retry, wait_random_exponential och stop_after_attempt.
  • Skapa en OpenAI API-klient.
  • Fyll i retry-dekoratörerna med de parametrar som krävs för att starta om med ett intervall på 5 sekunder, upp till maximalt 40 sekunder, och för att avbryta efter 4 försök.

Om övningen tar för lång tid, kontrollera att intervall- och försöksvärdena stämmer exakt med vad som anges ovan.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Import the tenacity library
from ____ import ____

client = OpenAI(api_key="")

# Add the appropriate parameters to the decorator
@retry(____, ____)
def get_response(model, message):
    response = client.chat.completions.create(
      model=model,
      messages=[message]
    )
    return response.choices[0].message.content
print(get_response("gpt-4o-mini", {"role": "user", "content": "List ten holiday destinations."}))
Redigera och kör kod