เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

หลีกเลี่ยง Rate Limit ด้วย Retry

คุณสร้างฟังก์ชันสำหรับเรียกใช้ Chat Completions พร้อมข้อความที่กำหนดเอง แต่พบว่าบางครั้งเกิดข้อผิดพลาดเนื่องจาก Rate Limit จึงตัดสินใจใช้ decorator @retry จากไลบรารี tenacity เพื่อลดข้อผิดพลาดที่อาจเกิดขึ้น

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การพัฒนาระบบ AI ด้วย OpenAI API

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้าไลบรารี tenacity พร้อมฟังก์ชันที่จำเป็น ได้แก่ retry, wait_random_exponential และ stop_after_attempt
  • สร้าง OpenAI API client
  • กำหนดพารามิเตอร์ใน retry decorator ให้เริ่มลองใหม่ที่ช่วงเวลา 5 วินาที สูงสุด 40 วินาที และหยุดหลังจากลองครบ 4 ครั้ง

หากแบบฝึกหัดหมดเวลา ให้ตรวจสอบว่าค่าช่วงเวลาและจำนวนครั้งตรงกับที่ระบุไว้ข้างต้นทุกประการ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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."}))
แก้ไขและรันโค้ด