Tìm hiểu về Rate limits trong OpenAI

Admin / October 5, 2023

Rate limits là giới hạn tốc độ truy cập mà OpenAI áp dụng cho các ứng dụng và người dùng sử dụng API của họ. Đây là một cơ chế được sử dụng phổ biến trong các API để ngăn chặn việc lạm dụng hoặc sử dụng quá mức.
Để xem Rate limit của tài khoản OpenAI của bạn. Truy cập link này: https://platform.openai.com/account/rate-limits

Có một số lý do chính khiến OpenAI sử dụng rate limits:
  • Bảo vệ API khỏi bị tấn công từ chối dịch vụ hoặc lạm dụng. Ví dụ, một actor độc hại có thể gửi quá nhiều request để làm quá tải API. Rate limits ngăn chặn loại hành vi này.
  • Đảm bảo mọi người đều có quyền truy cập công bằng vào API. Nếu một tổ chức gửi quá nhiều request, API có thể bị chậm lại cho tất cả mọi người. Rate limits giúp API hoạt động trơn tru.
  • Giúp OpenAI quản lý tải trên cơ sở hạ tầng. Nếu request tăng đột biến, có thể gây quá tải cho máy chủ. Rate limits giữ cho trải nghiệm sử dụng API ổn định.

Các giới hạn tốc độ được áp dụng ở cấp tổ chức chứ không phải cấp người dùng. Các giới hạn được tính theo 3 cách:
  • RPM (Requests per minute): Số request tối đa mỗi phút
  • RPD (Requests per day): Số request tối đa mỗi ngày
  • TPM (Tokens per minute): Số token tối đa mỗi phút

Bạn có thể vượt quá giới hạn bằng bất kỳ trường hợp nào xảy ra trước. Ví dụ, bạn có thể gửi 20 request với 100 token nhưng đã vượt RPM 20 request/phút.
Khi gọi API, bạn sẽ thấy các thông tin về rate limit trong response header:
  • X-RateLimit-Limit: Giới hạn tối đa
  • X-RateLimit-Remaining: Số lượng còn lại
  • X-RateLimit-Reset: Thời gian reset giới hạn
Nếu vượt quá giới hạn, API sẽ trả về lỗi và từ chối phục vụ các request tiếp theo cho đến khi hết thời gian chờ.

Để tránh vượt quá rate limit, bạn có thể:
  • Thiết lập chức năng retry tự động với thuật toán backoff expponential ngẫu nhiên. Điều này cho phép tự động thử lại khi gặp lỗi mà không bị dừng chương trình.
  • Giảm max_tokens xuống gần với kích thước response mong muốn. Điều này giúp tiết kiệm token.
  • Gộp nhiều request vào một lần gọi API để tăng hiệu quả. Thay vì gửi từng request riêng lẻ, hãy gộp chúng lại để tăng tốc độ xử lý.
  • thuê API trả phí có Rate limit cao tại vMix Shop: https://vmixgpt.com/product/cho-thue-api-openai/

Nếu vẫn gặp lỗi rate limit sau khi áp dụng các giải pháp trên, bạn có thể yêu cầu tăng giới hạn tốc độ. Hãy chuẩn bị các thông tin sau khi gửi yêu cầu:
  • Chứng minh nhu cầu cần tăng giới hạn: số liệu sử dụng hiện tại, dự báo tăng trưởng người dùng, tăng lưu lượng truy cập
  • Mô tả chi tiết trường hợp sử dụng API và lý do cần tăng giới hạn
  • Cam kết tuân thủ chính sách an toàn của OpenAI, không lạm dụng API sau khi được nâng giới hạn

Nếu yêu cầu đủ cơ sở và hợp lý, OpenAI sẽ xem xét và phê duyệt trong vòng 7-10 ngày làm việc.
Tóm lại, rate limits là cơ chế quan trọng giúp OpenAI bảo vệ API, đảm bảo trải nghiệm ổn định cho người dùng. Tuân thủ giới hạn và có kế hoạch sử dụng hợp lý là điều cần thiết. Trong trường hợp đặc biệt, bạn có thể yêu cầu tăng giới hạn với đầy đủ thông tin và bằng chứng.