مستندات
کنترلهای مسیریابی
درخواست نام مدل را مشخص میکند، نه نام ارائهدهنده را. مسیریاب فهرستی رتبهبندیشده از اندپوینتهای مناسب میسازد و درخواست را با اولین گزینهٔ موفق اجرا میکند. میتوانید گزینهها را برای هر درخواست محدودتر کنید، اما نمیتوانید از سیاست سازمان فراتر بروید.
نامهای مستعار و راهبردها
یک نام مستعار، هم مدل و هم راهبرد رتبهبندی را انتخاب میکند. اگر مستقیماً نام مدلی را ببرید، راهبرد متعادل باقی میماند مگر آنکه آن را بازنویسی کنید.
| نام مستعار | راهبرد | رفتار |
|---|---|---|
| router/auto | balanced | بین قابلیت، قیمت و تعداد مسیرهای جایگزین تعادل برقرار میکند. این گزینهٔ پیشفرض و برای بیشتر درخواستها مناسب است. |
| router/fast | fastest | اندپوینت سالمی را انتخاب میکند که زودتر نخستین توکن را میفرستد و قیمت را در نظر نمیگیرد. |
| router/cheap | cheapest | کمترین هزینهٔ کل که همچنان نیازهای قابلیتی درخواست را برآورده کند. تأخیر را نادیده میگیرد. |
| router/reliable | reliable | اندپوینتی را ترجیح میدهد که اخیراً پایدارتر بوده و مسیرهای جایگزین بیشتری دارد. |
فیلترهای قطعی
فیلترها پیش از رتبهبندی اعمال میشوند. اندپوینتی که حتی با یکی از آنها سازگار نباشد، هرقدر هم ارزان یا سریع باشد در نظر گرفته نمیشود.
- قابلیت
- اندپوینت باید از قابلیتهای مورد نیاز درخواست مانند ابزار، شِمای JSON، ورودی تصویری و استریم پشتیبانی کند.
- کانتکست
- پرامپت باید در پنجرهٔ کانتکست همان اندپوینت جا شود، نه فقط در ظرفیت اسمی مدل.
- منطقه
- اگر منطقهای مشخص شده باشد، فقط اندپوینتهای همان منطقه قابل استفادهاند و مقدار global پذیرفته نمیشود.
- نگهداری داده
- وقتی «بدون نگهداری» الزامی باشد، ارائهدهندگان بدون تضمین عدم آموزش کنار گذاشته میشوند.
- سیاست
- فهرستهای مجاز و ممنوع سازمان برای ارائهدهندگان و مدلها.
- سلامت
- اندپوینتهایی که قطعکنندهٔ مدارشان باز است، تا زمان آزمایش دوباره کنار گذاشته میشوند.
محدود کردن یک درخواست
شیء routing افزونهٔ فلاکسسیدیان برای ساختار درخواست OpenAI است. تنظیمات آن همراه با سیاست سازمان اعمال میشوند و همیشه گزینهٔ محدودکنندهتر اولویت دارد.
{
"model": "router/auto",
"messages": [{"role": "user", "content": "…"}],
"routing": {
"strategy": "cheapest",
"region": "eu",
"require_zero_retention": true,
"providers": ["anthropic", "fluxcdn vllm"],
"max_cost_micros": 50000
}
}وقتی هیچ گزینهای واجد شرایط نیست
اگر فیلترها همهٔ اندپوینتها را کنار بگذارند، درخواست با خطای upstream_unavailable متوقف میشود. درخواست هیچوقت بدون اطلاع شما خارج از محدودیتها اجرا نمیشود؛ چون رفتن پنهانی به منطقهای دیگر از یک خطای روشن بدتر است.
جایگزینی و تلاش دوباره
اگر درخواست پیش از دریافت نخستین توکن شکست بخورد، مسیریاب همان درخواست را با اندپوینت بعدی دوباره امتحان میکند. پس از شروع استریم، تلاش دوباره انجام نمیشود؛ چون بخشی از پاسخ قبلاً به کاربر رسیده است.
هر تلاش ثبت میشود. پاسخ، شمار تلاشها را در routing.attempts و هدر x-fluxcdn-attempts گزارش میدهد و زنجیرهٔ کامل در بخش فعالیت روی همان درخواست دیده میشود.