Cách dùng
Đặt một danh sách model ID có thứ tự trongextra_body.models và đặt
extra_body.route thành "fallback". Trường chính model vẫn quan
trọng — nó là lần thử đầu tiên — nhưng OrcaRouter sẽ bỏ qua nó để ưu
tiên chuỗi nếu chuỗi có mặt.
Quy tắc
- Tối đa 5 mô hình trong chuỗi. Phần thừa bị cắt bỏ âm thầm.
- Khuyến nghị: tất cả mô hình trong một chuỗi nên có cùng loại
endpoint (tất cả chat, hoặc tất cả image). Trộn mô hình chat với
mô hình image sẽ không làm gateway sập, nhưng dự phòng thực sự phục
vụ yêu cầu phải khớp endpoint bạn đã gọi (ví dụ nếu bạn gọi
/v1/chat/completions, chỉ các mô hình chat trong chuỗi mới dùng được). - Hành vi dự phòng:
- Các mục
orcarouter/{name}không giải được (tên sai, router bị tắt) sẽ bị bỏ qua âm thầm. - Các mô hình mà khóa gọi không thể truy cập (không khớp danh sách trắng mô hình) sẽ bị bỏ qua âm thầm.
- Khi mô hình chính thất bại tại upstream (5xx / 429 / lỗi mạng), mục tiếp theo trong chuỗi sẽ được thử.
- Yêu cầu chỉ thất bại khi mọi mục trong chuỗi đã dùng hết.
- Lưu ý streaming: một khi đã gửi bất kỳ byte phản hồi nào đến client, dự phòng không còn có thể kích hoạt — nếu upstream rớt giữa luồng, client sẽ thấy một luồng bị cắt cụt, không phải retry minh bạch trên mô hình tiếp theo.
- Các mục
- Việc tính phí được thực hiện cho mô hình thực sự phục vụ phản hồi, theo giá của mô hình đó — không phải giá của mô hình chính.
extra_body.routephải đúng là"fallback"để chuỗi được kích hoạt. Bất kỳ giá trị nào khác (hoặc bị thiếu) → chuỗi bị bỏ qua và chỉ dùngmodelở cấp cao nhất.
Làm sao biết mô hình nào đã phục vụ phản hồi
Kiểm tra các header phản hồiX-Orca-Fallback-Level và
X-Orca-Fallback-Model. Xem
Header phản hồi.
Khi nào không nên dùng
Nếu bạn muốn OrcaRouter tự động chọn mô hình rẻ nhất có sẵn mà không cần viết chuỗi, dùngorcarouter/auto thay thế. Chuỗi dự phòng
dành cho trường hợp bạn muốn kiểm soát thứ tự một cách rõ ràng.