چیتشیت
مقایسهی مسیریابی LLM و گیتویهای هوش مصنوعی
LLM Routing and AI Gateways Compared
انتخاب گیتوی، تنظیم نامهای مستعار و زنجیرههای جایگزین، مسیریابی بین مدل ارزان یا پیشرو، و پوشش ریسک خواندنهای امن کند.
فهرست مطالب
مقایسهی گیتویهای هوش مصنوعی در کنار هم
مقایسه| فاکتور | LiteLLM | Portkey | Kong AI Gateway | Cloudflare / Vercel |
|---|---|---|---|---|
| کد | متنباز MIT، پایتون | متنباز Apache 2.0 از مارس 2026 | ساختهشده روی Kong Gateway | مدیریتشده، بدون نیاز به عملیات (zero-ops) |
| سربار تاخیر | 5-15 ms | 20-40 ms | 3-8 ms | 1-3 ms در Edge |
| مقیاسپذیری | افت کارایی در حدود 2000 RPS با 8 GB | Control plane | 228% سریعتر از Portkey | مزیت پردازش در لبه (Edge) |
| محدودیت نرخ درخواست | Token-bucket | چندسطحی (Tiered) | پنجرهی لغزان | محدود |
| گاردریلها | اختیاری | گاردریلهای سختگیرانه، پاکسازی دادههای حساس | گاردریلهای سختگیرانه | محدود |
| قیمت | رایگان برای نسخه متنباز | 49 دلار در ماه برای پلن محیط عملیاتی | 100 دلار به ازای هر مدل در ماه، حداکثر 5 در پلن Plus | فقط مدیریتشده |
| بهترین کاربرد | پایتون، کمتر از 500 RPS، محیط توسعه | صنایع دارای رگولاتوری | سازمانهای دارای Kong، بیش از 1000 RPS | برنامههای جاوااسکریپت در Edge |
چه زمانی از کدام استفاده کنیم؟
مفهومها- LiteLLM
- تیم SRE دارید، حاکمیت داده میخواهید و ترافیک زیر 500 RPS است.
- OpenRouter
- سرویس SaaS مدیریتشده، بیش از 300 ارائهدهنده و اعتبار مصرفی؛ بدون درگیر شدن با زیرساخت.
- Portkey
- گاردریلها و انطباق آماده و توکار نیاز دارید.
- Kong AI Gateway
- در حال حاضر از Kong استفاده میکنید و ترافیک بالای 1000 RPS دارید.
- Cloudflare / Vercel
- برنامههای جاوااسکریپت را در Edge اجرا میکنید و zero-ops میخواهید.
- خودمیزبان
- الزامات اقامت داده آن را تحمیل میکند؛ پیشفرض حوزههای سلامت و مالی.
- بدون گیتوی
- پیشنمونه با یک مدل واحد؛ فراخوانی مستقیم API سادهتر است.
الگوهای مسیریابی
مقایسه| فاکتور | پیشمسیریابی (Pre-route) | آبشاری (Cascade) | گروهی (Ensemble) |
|---|---|---|---|
| روش کار | طبقهبند در ابتدا | ابتدا ارزان، سپس ارجاع به بالا | اجرای موازی مدل ارزان و پیشرو |
| تاخیر | افزایش 5-10 میلیثانیه، سریعترین | حدود 1.2 برابر میانه، حدود 2 برابر در ارجاع | اجراهای موازی |
| کیفیت | وابسته به طبقهبند | بهترین کف کیفیت | بالاترین |
| هزینه | ارزان فقط برای درخواستهای ساده | هزینه ارزان بهعلاوه پیشرو هنگام ارجاع | بالاترین هزینه |
| زمان استفاده | طبقهبند دقیق است | کف کیفیت اهمیت حیاتی دارد | فقط تستهای حساس A/B |
مسیر درخواست در گیتوی
معمارییک درخواست: ()route
گامبهگام- redact_piiالگوهای کد ملی و کارتهای 16 رقمی به
[REDACTED]تبدیل میشوند. - routeمتد
ROUTES.get(alias, [alias])زنجیره جایگزین را برمیگرداند. - provider_callمدلی که در وضعیت
OUTAGEباشد خطای شبیهسازیشدهی 5xx میدهد. - routeدر صورت بروز
RuntimeError، مدل بعدی در زنجیره را امتحان میکند. - هزینهحاصلضرب
prompt_tokensدرin_rateبهعلاوهcompletion_tokensدرout_rate، تقسیم بر1_000_000. - routeوقتی تمام مدلها با شکست مواجه شوند،
errorبرابر با "all providers failed" خواهد بود.
کد گیتوی مسیریابی بر اساس نام مستعار
کدpython
ROUTES = {"smart": [...], "fast": [...]} # نام مستعار به زنجیره جایگزین
PRICES = {"openai/gpt-4o": (5.0, 15.0)} # به ازای هر یک میلیون توکن، ورودی و خروجی
inv = route("smart", [{"role": "user", "content": "<prompt>"}])
inv.chosen_model # اولین مدلی که پاسخ داد
inv.attempts # تمام مدلهای بررسیشده، به ترتیب
inv.input_tokens, inv.output_tokens # از مصرف (usage)
inv.cost_usd # توکنها ضربدر PRICES
inv.redacted # مقدار True در صورت تطابق دادههای حساس
inv.error # "all providers failed"
OUTAGE.add("openai/gpt-4o") # شبیهسازی قطعی سرویس اصلی
وظایف پیادهسازی در کد
کار و کد| وظیفه | کد |
|---|---|
| مسیریابی یک نام مستعار | route(alias, messages) |
| پاکسازی دادههای حساس پیش از ارسال | redact_pii(text) |
| مقایسهی الگوهای مسیریابی | simulate("CASCADE", reqs) |
| انتخاب مدل بر اساس پالیسی | router.pick(c.signals, c.policy) |
| شبیهساز طرح پشتیبان گیتوی | simulate_fallback(gateway, n=1000, seed=7) |
| تلاش مجدد برای یک ارائهدهنده | callWithRetry(provider, prompt, cfg) |
| بررسی ارائهدهندگان به ترتیب | callWithFallback(chain, prompt, cfg) |
| پوشش ریسک (Hedge) خواندنهای امن | Hedged(ctx, client, endpoints, delay) |
اجرای آزمایشگاهها
دستورها| دستور | شرح عملکرد |
|---|---|
python code/main.py | گیتوی مسیریابی: سناریوهای عادی، قطعی، دادههای حساس و قطعی کامل |
python3 scripts/project_test.py hedged-request-lab --init <dir> | ایجاد پوشه کاری؛ فایل اولیه تا زمان پیادهسازی شما با خطا متوقف میشود |
python3 scripts/project_test.py hedged-request-lab --stage 1 --path <dir> --strict | ارزیابی یک مرحله |
python3 scripts/project_test.py hedged-request-lab --all --solution --strict | ارزیابی راهحل مرجع |
go run . --samples 3 --delay-ms 10 --out /tmp/hedge-report.json | در solution: مقایسه خط مبنا در برابر درخواست پوششدادهشده روی loopback |
go run . --primary <url> --secondary <url> | پوشش ریسک روی دو اندپوینت خواندن امن خودتان |
python3 scripts/project_test.py hedged-request-lab --all --path <dir> --strict --report <file> | ثبت شواهد تکمیل کار |
پیشفرضها و محدودیتها
پیشفرضها| تنظیم | پیشفرض | نکته |
|---|---|---|
hardSetThreshold | 0.88 | در این مقدار یا بالاتر، مسیریاب روی مدل پیشرو قفل میشود |
maxAttempts | 2 | سقف مجاز تلاش مجدد دمو برای هر ارائهدهنده |
Free tier bucket | capacity: 2 | refillPerSec: 0.5؛ سومین فراخوانی خطای 429 میگیرد |
--delay-ms | 10 | تاخیر پوشش ریسک (Hedge)، مجاز بین 0 تا 1 ثانیه |
--samples | 3 | تعداد نمونه به ازای هر پالیسی، 1 تا 100 |
--out | /tmp/aiefs-hedge-report.json | فایل رسید (Receipt) |
GET attempts | 2 | بدنه 64KiB، سقف زمانی دو ثانیه، 100 میلیثانیه مهلت اضافه |
عیبیابی
عیبیابیخرابیهای آبشاری در حدود 2000 RPS
- علت
- رسیدن LiteLLM به سقف توان پردازشی
- راهحل
- ابتدا به Kong مهاجرت کنید
صدک P99 تاخیر TTFT بیش از SLA صد میلیثانیهای
- علت
- افزودن 20-40 میلیثانیه تاخیر توسط Portkey
- راهحل
- استفاده از Kong یا Cloudflare
نرخ ارجاع به بالا بیش از 30%
- علت
- مسیریابی بیش از حد به مدل ارزان
- راهحل
- ارسال ترافیک کمتر به مدل ارزان
افت کیفیت بدون دریافت هشدار
- علت
- دریفت مدل ارزان
- راهحل
- کنترل مسیرها با گیتهای کیفیت برخط
قطعی سرویس کل نام مستعار را از کار میاندازد
- علت
- وجود تنها یک ارائهدهنده در زنجیره
- راهحل
- افزودن یک حوزه شکست (failure domain) دوم
افزایش هزینهها ناشی از آبشار طرحهای پشتیبان
- علت
- تلاشهای مجدد بدون سقف بودجه
- راهحل
- محاسبه تلاشهای مجدد در چارچوب بودجه مشخص
برنده شدن پاسخ خطای سریع در مکانیزم پوشش ریسک
- علت
- اعتبارسنجی نشدن پاسخ برنده
- راهحل
- الزام به دریافت HTTP 200 و مقدار غیرخالی
value
کنسل شدن بدون صرفهجویی در کار پردازشی
- علت
- ادامه کار پردازش توسط سرور
- راهحل
- بررسی شمارندههای
fixtureWork
ارقام و سوالات پرتکرار
پرسش و پاسخ- طرح پشتیبان چه مزایایی دارد؟
- یک ارائهدهنده با نرخ خطای 3% دسترسپذیری 97% میدهد؛ دو ارائهدهنده 99.94% و سه ارائهدهنده 99.997%.
- مسیریابی چقدر در هزینهها صرفهجویی میکند؟
- بین 20 تا 60 درصد در کیفیت مشابه بر اساس مطالعههای موردی.
- توزیع 70/30 چه تاثیری دارد؟
- کاهش حدود 65 درصدی هزینه با حفظ کیفیت محصول.
- کش معنایی چقدر صرفهجویی دارد؟
- 30 تا 60 درصد در حلقههای تکراری ایجنت.
- کدام گیتهای برخط دریفت را شناسایی میکنند؟
- بازخورد کاربران به هر مسیر، ناقد مبتنی بر مدل روی 5% نمونهها، و نرخ ارجاع و امتناع مدل.
- کدام متریک اولویت اول هشدار است؟
- نرخ استفاده از طرح پشتیبان (Fallback)، سپس صدک P99 تاخیر گیتوی.