چیت‌شیت

مقایسه‌ی مسیریابی LLM و گیت‌وی‌های هوش مصنوعی

LLM Routing and AI Gateways Compared

انتخاب گیت‌وی، تنظیم نام‌های مستعار و زنجیره‌های جایگزین، مسیریابی بین مدل ارزان یا پیشرو، و پوشش ریسک خواندن‌های امن کند.

  • ۱۱ بخش
  • ۳ درس مرتبط
  • کد و دستورها عیناً از دوره‌ی اصلی
فهرست مطالب
  1. مقایسه‌ی گیت‌وی‌های هوش مصنوعی در کنار هم
  2. چه زمانی از کدام استفاده کنیم؟
  3. الگوهای مسیریابی
  4. مسیر درخواست در گیت‌وی
  5. یک درخواست: ()route
  6. کد گیت‌وی مسیریابی بر اساس نام مستعار
  7. وظایف پیاده‌سازی در کد
  8. اجرای آزمایشگاه‌ها
  9. پیش‌فرض‌ها و محدودیت‌ها
  10. عیب‌یابی
  11. ارقام و سوالات پرتکرار

مقایسه‌ی گیت‌وی‌های هوش مصنوعی در کنار هم

مقایسه
فاکتورLiteLLMPortkeyKong AI GatewayCloudflare / Vercel
کدمتن‌باز MIT، پایتونمتن‌باز Apache 2.0 از مارس 2026ساخته‌شده روی Kong Gatewayمدیریت‌شده، بدون نیاز به عملیات (zero-ops)
سربار تاخیر5-15 ms20-40 ms3-8 ms1-3 ms در Edge
مقیاس‌پذیریافت کارایی در حدود 2000 RPS با 8 GBControl plane228% سریع‌تر از 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

مسیر درخواست در گیت‌وی

معماری
handletenantمجازهر ارائه‌دهندهcallکلاینتکلید API ارائه‌شدهAuthServiceخطای 401: کلید API نامعتبرTokenBucketLimiterخطای 429: عبور از محدودیت نرخ درخواستcallWithFallbackزنجیره به ترتیبcallWithRetryعقب‌گرد روی خطاهای قابل تکرارارائه‌دهندگانopenai، anthropic، خودمیزبان

یک درخواست: ()route

گام‌به‌گام
  1. redact_piiالگوهای کد ملی و کارت‌های 16 رقمی به [REDACTED] تبدیل می‌شوند.
  2. routeمتد ROUTES.get(alias, [alias]) زنجیره جایگزین را برمی‌گرداند.
  3. provider_callمدلی که در وضعیت OUTAGE باشد خطای شبیه‌سازی‌شده‌ی 5xx می‌دهد.
  4. routeدر صورت بروز RuntimeError، مدل بعدی در زنجیره را امتحان می‌کند.
  5. هزینهحاصل‌ضرب prompt_tokens در in_rate به‌علاوه completion_tokens در out_rate، تقسیم بر 1_000_000.
  6. 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>ثبت شواهد تکمیل کار

پیش‌فرض‌ها و محدودیت‌ها

پیش‌فرض‌ها
تنظیمپیش‌فرضنکته
hardSetThreshold0.88در این مقدار یا بالاتر، مسیریاب روی مدل پیشرو قفل می‌شود
maxAttempts2سقف مجاز تلاش مجدد دمو برای هر ارائه‌دهنده
Free tier bucketcapacity: 2refillPerSec: 0.5؛ سومین فراخوانی خطای 429 می‌گیرد
--delay-ms10تاخیر پوشش ریسک (Hedge)، مجاز بین 0 تا 1 ثانیه
--samples3تعداد نمونه به ازای هر پالیسی، 1 تا 100
--out/tmp/aiefs-hedge-report.jsonفایل رسید (Receipt)
GET attempts2بدنه 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 تاخیر گیت‌وی.