OpenAI
Trang này được dịch bằng máy học. Xem bài viết gốc bằng tiếng Anh.

Khắc phục sự cố giới hạn tốc độ API và lỗi 429

Xác định nguyên nhân gây lỗi API 429, giảm các đợt yêu cầu dồn dập và chọn bước tiếp theo phù hợp cho giới hạn tốc độ, credit hoặc mức sử dụng.

Đã cập nhật: 12 days ago

Tổng quan

Việc sử dụng API phải tuân theo các giới hạn tốc độ. Các giới hạn này hạn chế số yêu cầu, token hoặc mức sử dụng khác trong một khoảng thời gian nhất định.

Phản hồi 429 có thể cho biết giới hạn tốc độ tạm thời, số dư trả trước đã cạn hoặc đã đạt giới hạn chi tiêu hay mức sử dụng. Hãy kiểm tra chi tiết lỗi trước khi thử lại hoặc thay đổi cài đặt thanh toán.

Xác định nguyên nhân

Đọc thông báo lỗi và error.code nếu có. Các lỗi liên quan đến thanh toán vẫn có thể dùng giá trị error.type chung là insufficient_quota.

Lỗi hoặc mã lỗiÝ nghĩaCách xử lý
Đã đạt giới hạn tốc độ đối với yêu cầu hoặc tokenCác yêu cầu đang vượt quá giới hạn tốc độ áp dụng.Điều tiết yêu cầu và làm theo hướng dẫn thử lại bên dưới.
credit_balance_exhaustedTổ chức không còn credit trả trước.Thêm credit trong phần cài đặt thanh toán API.
organization_usage_limit_exceededTổ chức đã đạt giới hạn sử dụng do OpenAI chỉ định.Yêu cầu phê duyệt giới hạn sử dụng cao hơn.
organization_spend_limit_exceededTổ chức đã đạt giới hạn chi tiêu bắt buộc.Tăng hoặc xóa giới hạn, hoặc chờ giới hạn được đặt lại hằng tháng.
project_spend_limit_exceededDự án đã đạt giới hạn chi tiêu bắt buộc.Tăng hoặc xóa giới hạn của dự án, hoặc chờ giới hạn được đặt lại hằng tháng.

Việc thử lại khi gặp lỗi thanh toán, chi tiêu hoặc hạn ngạch sẽ không khôi phục quyền truy cập. Trước tiên, hãy xử lý số dư hoặc giới hạn được báo cáo. Các thay đổi đối với giới hạn chi tiêu bắt buộc có thể mất một thời gian mới có hiệu lực.

Việc thay đổi giới hạn chi tiêu đòi hỏi quyền quản lý cài đặt của tổ chức hoặc dự án liên quan. Nếu không có quyền truy cập, hãy nhờ người quản lý các cài đặt đó.

Để tìm hiểu về việc mua credit trả trước, hãy xem: Thiết lập và quản lý thanh toán API trả trước.

Để tìm hiểu về các biện pháp kiểm soát chi tiêu khác nhau, hãy xem hướng dẫn về giới hạn chi tiêu API.

Kiểm tra các giới hạn tốc độ áp dụng

Truy cập trang Giới hạn của tổ chức để xem cấp độ sử dụng và các giới hạn hiện tại.

Giới hạn tốc độ có thể áp dụng ở cấp tổ chức và cấp dự án. Đây không phải là hạn mức dành riêng cho từng người dùng. Giới hạn cũng khác nhau tùy theo mô hình và một số dòng mô hình dùng chung một giới hạn.

Kiểm tra xem lỗi chỉ ra giới hạn nào. Ví dụ: số yêu cầu mỗi phút và số token mỗi phút là hai giới hạn riêng biệt. Bạn có thể đạt một giới hạn trong khi vẫn chưa đạt giới hạn còn lại.

Xác nhận tổ chức mà yêu cầu của bạn sử dụng

Nếu thuộc nhiều tổ chức, hãy xác nhận rằng các yêu cầu của bạn sử dụng đúng tổ chức và dự án mong muốn.

Nếu khóa API của bạn sử dụng một tổ chức mặc định, hãy kiểm tra cài đặt tổ chức mặc định. Mỗi tổ chức có thể có phương thức thanh toán và cấp độ sử dụng khác nhau.

Giảm lỗi giới hạn tốc độ tạm thời

Điều tiết yêu cầu và tránh gửi dồn dập

Phân bổ các yêu cầu theo thời gian thay vì gửi một lượng lớn cùng lúc.

Giới hạn tốc độ có thể được áp dụng trong khoảng thời gian ngắn hơn khoảng hiển thị. Ví dụ: giới hạn 60 yêu cầu mỗi phút cũng có thể được áp dụng theo từng khoảng 1 giây. Do đó, một đợt yêu cầu dồn dập trong thời gian ngắn có thể gây lỗi ngay cả khi mức sử dụng trung bình có vẻ thấp hơn giới hạn mỗi phút.

Câu lệnh dài và hạn mức token đầu ra lớn không cần thiết cũng có thể góp phần gây ra lỗi tốc độ token.

Thử lại sau một khoảng trễ

Đối với lỗi giới hạn tốc độ tạm thời:

  1. Kiểm tra tiêu đề phản hồi Retry-After.

  2. Nếu tiêu đề chứa khoảng trễ hợp lệ, hãy chờ ít nhất khoảng thời gian đó trước khi thử lại.

  3. Nếu tiêu đề bị thiếu hoặc không hợp lệ, hãy dùng chiến lược thời gian chờ tăng theo cấp số nhân kèm độ trễ ngẫu nhiên: tăng thời gian chờ sau mỗi lần thử không thành công và thêm một khoảng trễ ngẫu nhiên nhỏ.

  4. Giới hạn cả số lần thử lại lẫn tổng thời gian dành cho việc thử lại.

Các SDK chính thức của OpenAI đã tự động thử lại những lỗi giới hạn tốc độ đủ điều kiện và tuân theo Retry-After khi có tiêu đề này. Hãy tính đến các lần thử lại đó trước khi thêm một vòng lặp thử lại khác.

Các yêu cầu không thành công vẫn được tính vào giới hạn mỗi phút. Việc liên tục gửi lại cùng một yêu cầu có thể khiến sự cố kéo dài.

Để xem hướng dẫn triển khai và ví dụ, hãy tham khảo hướng dẫn về giới hạn tốc độ API. Hãy đánh giá mọi thư viện thử lại của bên thứ ba trước khi dùng trong ứng dụng.

Xem lại kích thước câu lệnh và đầu ra

Loại bỏ các chỉ dẫn không cần thiết, ngữ cảnh lặp lại và ví dụ khỏi câu lệnh. Kiểm thử câu lệnh đã chỉnh sửa để xác nhận rằng câu lệnh vẫn tạo ra kết quả bạn cần.

Sử dụng tham số token đầu ra mà điểm cuối và mô hình của bạn hỗ trợ:

  • Chat Completions sử dụng max_completion_tokens.

  • Responses sử dụng max_output_tokens.

Tránh đặt hạn mức lớn hơn nhiều so với nhu cầu của yêu cầu. Các tham số này bao gồm cả token suy luận lẫn đầu ra hiển thị, vì vậy hãy tính đến cả hai khi dùng mô hình suy luận.

Xem lại cấp độ sử dụng

Nếu lỗi vẫn tiếp diễn sau khi bạn giảm các đợt yêu cầu dồn dập và xem lại mức sử dụng token, hãy kiểm tra trang Giới hạn để xem các cách hiện có nhằm tăng giới hạn.

Khi mức chi tiêu cho API tăng, OpenAI có thể tự động nâng tổ chức lên cấp độ sử dụng cao hơn. Điều này thường làm tăng giới hạn tốc độ trên hầu hết các mô hình.

Giới hạn sử dụng hằng tháng đã được phê duyệt tách biệt với giới hạn tốc độ yêu cầu và token. Không nên xem việc tăng một giới hạn là xác nhận rằng giới hạn còn lại cũng đã thay đổi.

Nếu sự cố vẫn tiếp diễn

Trước khi chuyển cấp xử lý

Hãy chuẩn bị sẵn thông báo lỗi chính xác, mã lỗi (nếu có), các ID yêu cầu liên quan, thời điểm xảy ra lỗi kèm múi giờ và giới hạn liên quan hiển thị trong tài khoản. Ghi lại các bước bạn đã thử.

Liên hệ với bộ phận Hỗ trợ OpenAI

Hãy liên hệ với bộ phận Hỗ trợ OpenAI qua Trung tâm Trợ giúp nếu bạn không thể giải quyết sự cố sau khi kiểm tra giới hạn được báo cáo. Không cung cấp khóa API hoặc thông tin xác thực bí mật khác.

Bài viết này có hữu ích không?