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
Instrucțiuni pentru exercițiu
- Importă biblioteca
tenacitycu funcțiile necesare:retry,wait_random_exponentialșistop_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."}))