Menghindari batasan tingkat dengan percobaan ulang
Anda telah membuat sebuah fungsi untuk menjalankan Chat Completions dengan pesan khusus, tetapi Anda menyadari bahwa fungsi tersebut terkadang gagal karena batasan tingkat permintaan. Anda memutuskan untuk menggunakan dekorator @retry dari pustaka tenacity untuk menghindari kesalahan jika memungkinkan.
Latihan ini adalah bagian dari kursus
Mengembangkan Sistem AI dengan OpenAI API
Petunjuk latihan
"- Impor pustaka tenacity beserta fungsi yang diperlukan: retry, wait_random_exponential, dan stop_after_attempt.
- Buat klien API OpenAI.
- Lengkapi dekorator retry dengan parameter yang diperlukan untuk memulai percobaan ulang pada interval 5 detik, hingga 40 detik, dan berhenti setelah 4 percobaan.
Jika latihan mengalami time out, pastikan nilai interval dan jumlah percobaan sesuai persis seperti yang disebutkan di atas."
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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."}))