MulaiMulai sekarang secara gratis

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

Lihat Kursus

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."}))
Edit dan Jalankan Kode