Yeniden deneme ile oran sınırlarından kaçınma
Siz, özel bir mesajla Chat Completions çalıştırmak için bir fonksiyon oluşturdunuz ancak bunun bazen oran sınırlamaları nedeniyle başarısız olduğunu fark ettiniz. Hatalardan kaçınmak için tenacity kütüphanesinden @retry dekoratörünü kullanmaya karar verdiniz.
Bu egzersiz
OpenAI API ile AI Sistemleri Geliştirme
kursunun bir parçasıdırEgzersiz talimatları
"- Gerekli fonksiyonlarla birlikte tenacity kütüphanesini içe aktarın: retry, wait_random_exponential ve stop_after_attempt.
- Bir OpenAI API istemcisi oluşturun.
- Yeniden deneme dekoratörlerini, yeniden denemeye 5 saniyelik bir aralıkla başlayacak, 40 saniyeye kadar çıkacak ve 4 denemeden sonra duracak şekilde gerekli parametrelerle tamamlayın.
Eğer egzersiz zaman aşımına uğrarsa, aralık ve deneme değerlerinin yukarıda belirtilenlerle tam olarak eşleştiğinden emin olun."
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."}))