ÎncepețiÎncepe gratuit

Evitarea limitelor de rată cu retry

Ai creat o funcție pentru a rula Chat Completions cu un mesaj personalizat, dar ai observat că uneori eșuează din cauza limitelor de rată. Decizi să folosești decoratorul @retry din biblioteca tenacity pentru a evita aceste erori pe cât posibil.

Acest exercițiu face parte din cursul

Dezvoltarea sistemelor AI cu OpenAI API

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă biblioteca tenacity cu funcțiile necesare: retry, wait_random_exponential și stop_after_attempt.
  • Creează un client pentru API-ul OpenAI.
  • Completează decoratorii de retry cu parametrii necesari pentru a începe reîncercările la un interval de 5 secunde, până la maximum 40 de secunde, și pentru a te opri după 4 încercări.

Dacă exercițiul expiră, asigură-te că valorile pentru interval și numărul de încercări corespund exact cu cele specificate mai sus.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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."}))
Editează și rulează codul