Zacznij terazZacznij za darmo

Unikanie limitów żądań za pomocą mechanizmu ponownych prób

Utworzyłeś funkcję do uruchamiania uzupełnień czatu z niestandardową wiadomością, ale zauważyłeś, że czasem kończy się ona błędem z powodu przekroczenia limitu żądań. Postanawiasz użyć dekoratora @retry z biblioteki tenacity, aby w miarę możliwości unikać takich błędów.

To ćwiczenie jest częścią kursu

Tworzenie systemów AI z OpenAI API

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj bibliotekę tenacity wraz z wymaganymi funkcjami: retry, wait_random_exponential i stop_after_attempt.
  • Utwórz klienta API OpenAI.
  • Uzupełnij dekoratory ponownych prób o parametry ustawiające interwał od 5 do 40 sekund oraz maksymalną liczbę prób równą 4.

Jeśli ćwiczenie przekroczy limit czasu, upewnij się, że wartości interwału i liczby prób są dokładnie takie, jak podano powyżej.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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."}))
Edytuj i uruchom kod