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
Övningsinstruktioner
- Importera biblioteket
tenacitymed de funktioner som krävs:retry,wait_random_exponentialochstop_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."}))