Yeniden deneme ile hız limitlerinden kaçınma
Özel bir mesajla Chat Completions çalıştıran bir fonksiyon yazdın, ancak bunun bazen hız limitleri yüzünden başarısız olduğunu fark ettin. Mümkün olduğunda hatalardan kaçınmak için tenacity kütüphanesindeki @retry dekoratörünü kullanmaya karar verdin.
Bu egzersiz
OpenAI API ile AI Sistemleri Geliştirme
kursunun bir parçasıdırEgzersiz talimatları
- Gerekli fonksiyonlarla birlikte
tenacitykütüphanesini içe aktar:retry,wait_random_exponentialvestop_after_attempt. - Bir OpenAI API istemcisi oluştur.
- Yeniden deneme dekoratörlerini, 5 saniyeden başlayıp 40 saniyeye kadar artan aralıklarla yeniden denemeyi başlatacak ve 4 denemeden sonra duracak şekilde gerekli parametrelerle tamamla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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."}))