Chuyển đến nội dung chính
OrcaRouter giới hạn tốc độ ở cấp workspace, không phải theo từng khóa API. Mọi khóa thuộc cùng một workspace đều rút từ cùng một bucket. Khi giới hạn bị vượt, bạn nhận phản hồi HTTP 429 Too Many Requests với header Retry-After.

Vì sao theo phạm vi workspace

Workspace là cách OrcaRouter nhóm các khóa, thành viên và thanh toán thuộc về một nhóm hoặc cá nhân. Giới hạn chia sẻ bên trong một workspace giúp lưu lượng dự đoán được khi nhóm của bạn phát triển: thêm một khóa mới (hoặc một thành viên mới) không nhân ngân sách chia sẻ của bạn. Nếu bạn cần trần cao hơn, hãy nâng cấp gói của workspace. OrcaRouter không cung cấp giới hạn tốc độ theo từng mô hình cho người gọi — gateway hoạt động như một nhà cung cấp logic duy nhất theo góc nhìn ứng dụng của bạn, nhất quán với độ mờ về nhà cung cấp. Throttle nội bộ về phía nhà cung cấp upstream diễn ra trong suốt và không phải là một phần của hợp đồng công khai.

Phản hồi

Một yêu cầu bị giới hạn tốc độ luôn trả về:
HTTP/1.1 429 Too Many Requests
Retry-After: <seconds>
Một số đường giới hạn tốc độ cũng bao gồm thân JSON giải thích giới hạn nào đã bị vượt; những đường khác (bucket workspace đường nhanh nhất) chỉ trả về status code và header. Đừng phụ thuộc vào hình dạng thân — hãy kiểm tra status code 429 và đọc Retry-After. Khi thân có mặt, nó tuân theo envelope tương thích OpenAI với error.type đặt thành orcarouter_api_error. error.message có thể được bản địa hóa (hiện tại là tiếng Trung) — xem Lỗi để biết cấu trúc envelope. Retry-After tính bằng giây. Đó là thời gian của cửa sổ giới hạn tốc độ (thận trọng — an toàn để chờ đúng khoảng đó); cửa sổ tiếp theo sẽ có đủ ngân sách. Thử lại ngay mà không chờ sẽ thất bại tiếp.

Hành vi client được khuyến nghị

  1. Khi gặp 429, đọc Retry-After.
  2. Chờ số giây đó.
  3. Thử lại cùng yêu cầu.
  4. Nếu lại bị 429 lần thứ hai, tăng thời gian chờ gấp 2× (lùi mũ) lên đến 60 giây.
  5. Nếu bạn liên tục thấy 429, cân nhắc tách lưu lượng qua nhiều mô hình với extra_body.models — xem Dự phòng mô hình.
OpenAI Python và TypeScript SDK xử lý Retry-After tự động theo mặc định. Bạn không cần mã tùy chỉnh trừ khi đã tắt retry.

Phản ứng, không dự đoán

OrcaRouter không trả về các header X-RateLimit-Remaining / X-RateLimit-Reset, nên bạn không thể kiểm tra ngân sách còn lại trước. Hãy coi 429 là tín hiệu — lùi lại khi bạn thấy nó, rồi tiếp tục.