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
Instrukcje do ćwiczenia
- Zaimportuj bibliotekę
tenacitywraz z wymaganymi funkcjami:retry,wait_random_exponentialistop_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."}))