LiteLLM یا Portkey؛ بودجهٔ متن‌باز در برابر حاکمیت میزبانی‌شده

|نویسنده: تیم تحریریه QUASA|6 دقیقه مطالعه
LiteLLM یا Portkey؛ بودجهٔ متن‌باز در برابر حاکمیت میزبانی‌شده

برای تیم Python که می‌خواهد بودجه و کلیدهای مجازی را در زیرساخت خودش اداره کند، LiteLLM معمولاً انتخاب مناسب‌تری است؛ برای چند تیم که مدیریت متمرکز و مشاهده‌پذیری میزبانی‌شده می‌خواهند، Portkey جذاب‌تر است. مقایسهٔ API7 تفاوت را در ترکیب SDK و پراکسی متن‌باز LiteLLM با دروازهٔ متن‌باز و لایهٔ مدیریت میزبانی‌شدهٔ Portkey نشان می‌دهد. انتخاب نهایی به این بستگی دارد که سازمان کدام بخش را خودش اداره می‌کند.

هر دو محصول دسترسی به ارائه‌دهندگان مختلف را از یک مسیر فراهم می‌کنند، اما این شباهت هزینه و مسئولیت یکسانی ایجاد نمی‌کند. صفحهٔ دروازهٔ Portkey کلید مجازی، نگهداری کلید ارائه‌دهندگان، مسیریابی شرطی، جایگزینی هنگام خطا، کش و ثبت درخواست را شرح می‌دهد. برای تصمیم زیرساختی، محل اجرای سیاست بودجه، دسترسی به رد درخواست‌ها و کاری که پس از استقرار بر عهدهٔ تیم می‌ماند، از شمار مدل‌های قابل اتصال مهم‌تر است.

بودجه در کدام جزء اجرا می‌شود؟

در LiteLLM، بودجه را می‌توان به کلید، کاربر یا تیم در پراکسی نسبت داد. این ویژگی برای پلتفرمی که می‌خواهد مصرف چند برنامه را زیر کنترل خودش نگه دارد ارزش دارد، زیرا درخواست از همان مسیر مشترکی می‌گذرد که کلید مجازی را می‌شناسد. اما داشتن تنظیم بودجه به‌تنهایی کافی نیست: پراکسی باید دادهٔ مصرف را برای اعمال محدودیت در اختیار داشته باشد.

مستندات بودجهٔ LiteLLM تصریح می‌کند که این محدودیت‌ها به PostgreSQL نیاز دارند؛ در استقرار بدون پایگاه داده، حتی سقف کلی پراکسی می‌تواند بدون مسدودکردن درخواست‌های بعدی از مقدار تعیین‌شده عبور کند. بنابراین تیمی که LiteLLM را برای کنترل هزینه انتخاب می‌کند، باید پایگاه داده و سلامت ارتباط آن با پراکسی را جزئی از خود راه‌حل حساب کند. این وابستگی، تفاوت میان یک پراکسی ساده برای مسیریابی و یک سرویس مشترک برای اجرای سیاست هزینه است.

در Portkey نیز باید میان قابلیت دروازه و امکانات لایهٔ مدیریت تمایز گذاشت. دروازهٔ متن‌باز می‌تواند خودمیزبان باشد، در حالی که مشاهده‌پذیری و کنترل سازمانی میزبانی‌شده به سرویس و شرایط طرح انتخابی وابسته‌اند. اگر الزام اصلی، سهمیهٔ دقیق برای هر تیم است، صرف دیدن واژهٔ «بودجه» در فهرست قابلیت‌ها کافی نیست؛ باید روشن باشد محدودیت در چه سطحی تعریف و هنگام درخواست در کجا اعمال می‌شود.

کلید مجازی، دسترسی را چگونه تغییر می‌دهد؟

کلید مجازی اجازه می‌دهد برنامه به‌جای نگهداری مستقیم کلید هر ارائه‌دهنده، با اعتباری که دروازه صادر کرده است درخواست بفرستد. برای تیمی با چند برنامه، نتیجهٔ عملی آن جداسازی دسترسی و نسبت‌دادن مصرف به صاحب کلید است. اگر یک برنامه کنار گذاشته شود، می‌توان دسترسی همان برنامه را تغییر داد، بی‌آنکه کلید اصلی ارائه‌دهنده در همهٔ برنامه‌ها توزیع شده باشد.

این سازوکار در دو معماری مسئولیت متفاوتی ایجاد می‌کند. در LiteLLM خودمیزبان، تیم اداره‌کنندهٔ پراکسی مسئول کلید مدیریتی، پایگاه داده، صدور و لغو کلیدهای مجازی و دسترس‌پذیری این مسیر است. در استفاده از مدیریت میزبانی‌شدهٔ Portkey، بخشی از ادارهٔ لایهٔ مشترک به سرویس منتقل می‌شود، ولی تعیین اینکه چه کسی مجاز به صدور کلید است و هر کلید به کدام مدل دسترسی دارد همچنان تصمیم سازمان است. کلید مجازی همچنین جای نقش‌های سازمانی، ثبت تغییرات مدیریتی یا سیاست نگهداری گزارش را نمی‌گیرد؛ دسترسی به این امکانات به محصول و طرح استقرار بستگی دارد.

هنگام خطا و پس از پاسخ چه اتفاقی می‌افتد؟

هر دو دروازه امکان تلاش دوباره و فرستادن درخواست به مسیر جایگزین را دارند. ارزش این قابلیت زمانی آشکار می‌شود که ارائه‌دهندهٔ اصلی خطا می‌دهد یا پاسخ نمی‌دهد، اما جایگزینی مدل همیشه برای برنامه بی‌اثر نیست. مدل دوم ممکن است خروجی را با قالب دیگری بسازد، دیرتر پاسخ دهد یا هزینهٔ متفاوتی داشته باشد. برای درخواستی که قالب پاسخ آن بخشی از قرارداد برنامه است، قاعدهٔ جایگزینی باید به همان قرارداد وابسته باشد، نه فقط به در دسترس بودن مدل بعدی.

مشاهده‌پذیری مسئلهٔ جداگانه‌ای است: پس از یک پاسخ کند یا ناموفق، تیم باید بتواند مسیر درخواست، خطا و هزینهٔ آن را پیدا کند. LiteLLM امکان ثبت مصرف و اتصال به ابزارهای پایش را در استقرار خودمیزبان می‌دهد؛ نگهداری داده، دسترسی به گزارش و رسیدگی به اختلال این ابزارها با تیم اداره‌کننده است. Portkey ثبت و تحلیل درخواست را در کنار لایهٔ مدیریت عرضه می‌کند. در نتیجه، تفاوت فقط وجود گزارش نیست، بلکه محل نگهداری آن و کسی است که دسترسی و دورهٔ نگهداری‌اش را اداره می‌کند.

کش نیز می‌تواند تعداد فراخوانی‌های تکراری به ارائه‌دهنده را کاهش دهد، ولی اثر اقتصادی آن به نوع درخواست بستگی دارد. پاسخ به پرسشی که متن و شرایطش مدام عوض می‌شود، فرصت کمتری برای استفادهٔ دوباره از پاسخ ذخیره‌شده دارد. پس کش را نباید به‌صورت صرفه‌جویی ثابت در محاسبهٔ هزینه وارد کرد؛ برای انتخاب دروازه، مهم‌تر است که سیاست نگهداری پاسخ با حساسیت داده و رفتار برنامه سازگار باشد.

هزینهٔ مجوز و هزینهٔ اداره را جدا حساب کنید

هستهٔ متن‌باز LiteLLM هزینهٔ مجوز همان بخش را حذف می‌کند، اما هزینهٔ اجرای سرویس مشترک را حذف نمی‌کند. پراکسی و PostgreSQL به استقرار، پشتیبان‌گیری، پایش، به‌روزرسانی، مدیریت اسرار و رسیدگی به قطعی نیاز دارند. اگر تیم پلتفرم این کارها را از پیش برای سرویس‌های دیگر انجام می‌دهد، افزودن LiteLLM می‌تواند با شیوهٔ ادارهٔ موجود هماهنگ باشد. برای تیم کوچکی که مسئول زیرساخت جداگانه ندارد، همین کارهای دوره‌ای بخشی مهم از قیمت واقعی انتخاب‌اند.

در Portkey، هزینهٔ سرویس یا طرح تجاری را باید همراه با زمان تعریف سیاست، رسیدگی به خطا و محدودیت‌های دسترسی و نگهداری گزارش سنجید. مدیریت میزبانی‌شده کار ادارهٔ بخشی از زیرساخت را کم می‌کند، اما نیاز به تصمیم دربارهٔ مدل‌های مجاز، کلیدها و داده‌های ثبت‌شده را از بین نمی‌برد. مقایسهٔ قابل‌استفاده، هزینهٔ سرویس یا مجوز را با زیرساخت خودمیزبان، زمان نیروی فنی و پیامد اختلال جمع می‌کند؛ بدون حجم مصرف و توان عملیاتی تیم، هیچ‌کدام را نمی‌توان به‌طور کلی ارزان‌تر نامید.

کدام انتخاب با اندازهٔ تیم سازگارتر است؟

  • تیم کوچک Python: اگر نیاز فعلی فراخوانی چند ارائه‌دهنده از داخل برنامه است، SDK LiteLLM راه ساده‌ای برای آغاز کار در همان پشتهٔ توسعه است. تا وقتی صدور کلید برای چند برنامه و بودجهٔ مشترک لازم نشده، پراکسی دائمی مزیت ضروری ندارد. وقتی این نیاز شکل بگیرد، هزینهٔ PostgreSQL و نگهداری پراکسی باید همراه با مزیت کنترل هزینه دیده شود.
  • پلتفرم چندتیمی: اگر تیم پلتفرم مالک سرویس مشترک است و می‌خواهد کلید، مصرف و سیاست بودجه در زیرساخت خودش بماند، LiteLLM انتخاب منسجم‌تری است. اگر تیم‌ها بیشتر به دید مشترک از درخواست‌ها و کاهش کار ادارهٔ لایهٔ مدیریت نیاز دارند، Portkey گزینهٔ قوی‌تری برای ارزیابی است. در این سناریو، محل صدور کلید و دسترسی هر تیم به گزارش مصرف از فهرست مدل‌ها تعیین‌کننده‌تر است.
  • سازمان نیازمند حاکمیت رسمی: انتخاب به نقش‌های مدیریتی، ثبت تغییرات، محل پردازش داده و دورهٔ نگهداری گزارش گره می‌خورد. لایهٔ میزبانی‌شدهٔ Portkey می‌تواند ادارهٔ این قابلیت‌ها را متمرکز کند، اما دسترسی به کنترل‌های سازمانی تابع طرح و قرارداد است. LiteLLM برای سازمانی مناسب می‌ماند که می‌خواهد اجرای پراکسی را نزد خود نگه دارد و توان ادارهٔ زیرساخت و کنترل‌های تکمیلی آن را دارد.

بیشتر بخوانید:

اشتراک‌گذاری:

عضویت در خبرنامه

تازه‌ترین اخبار Web3، هوش مصنوعی و رمزارز را مستقیم در صندوق ایمیل خود دریافت کنید.

0