Bắt đầu ngayBắt đầu miễn phí

Tránh giới hạn tốc độ với thử lại

Bạn đã tạo một hàm để chạy Chat Completions với một tin nhắn tùy chỉnh nhưng đã nhận thấy nó đôi khi thất bại do giới hạn tốc độ. Bạn quyết định sử dụng decorator @retry từ thư viện tenacity để tránh lỗi khi có thể.

Bài tập này là một phần của khóa học

Phát triển hệ thống AI với OpenAI API

Xem khóa học

Hướng dẫn bài tập

"- Nhập thư viện tenacity với các hàm cần thiết: retry, wait_random_exponentialstop_after_attempt.

  • Tạo một client API OpenAI.
  • Hoàn thiện các decorator retry với các tham số yêu cầu để bắt đầu thử lại với khoảng thời gian 5 giây, tối đa 40 giây, và dừng sau 4 lần thử.

Nếu bài tập bị hết thời gian, hãy đảm bảo rằng giá trị khoảng thời gian và số lần thử khớp chính xác với những gì đã nêu ở trên."

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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."}))
Chỉnh sửa và Chạy Mã