تصویر: نمایشی از مجموعه‌های برداری و LangCache در Redis
تصویر: نمایشی از مجموعه‌های برداری و LangCache در Redis

Redis مجموعه‌های برداری و ابزار جدیدی برای کش کردن معنایی پاسخ‌های LLM عرضه می‌کند

Redis، شرکتی که در پس پایگاه داده کلید-مقدار در حافظه همنام قرار دارد، در ماه‌های اخیر بیشتر به دلیل تغییر مجوز خود خبرساز شده است که منجر به راه‌اندازی پروژه Valkey شد. اکنون، Redis امیدوار است با عرضه دو محصول جدید متمرکز بر هوش مصنوعی پیش از عرضه Redis 8 در 1 مه، کمی گفتگوها را تغییر دهد. اولین مورد از این موارد، ابزار کشینگ جدیدی به نام LangCache است که به توسعه‌دهندگان اجازه می‌دهد کشینگ پاسخ مدل زبانی بزرگ (LLM) را به برنامه‌های خود بیاورند. دومین مورد، راه‌اندازی یک نوع داده جدید، یعنی مجموعه‌های برداری، برای ذخیره و پرس و جو از جاسازی‌های برداری است.

روان ترولوپ، مدیرعامل Redis، در مصاحبه‌ای پیش از این اطلاعیه به من گفت: «Redis می‌تواند لایه حافظه کوتاه مدت برای پشته عامل‌محور باشد. این استراتژی جدید شرکت است و این همان کاری است که ما سعی می‌کنیم انجام دهیم.»

کشینگ یک زاویه آشکار برای Redis است، که در حال حاضر یک راه حل کشینگ محبوب برای بسیاری از توسعه دهندگان است. دلایل کش کردن پاسخ‌های LLM تفاوت چندانی با سایر برنامه‌ها ندارد (کاهش هزینه و تأخیر)، اما با توجه به ماهیت احتمالی این مدل‌ها، فرآیند در اینجا کاملاً متفاوت از کش کردن یک پرس و جو SQL است.

ترولوپ گفت که LangCache از Redis "در زیر پوشش" استفاده می‌کند، اما تأکید کرد که این یک پایگاه داده Redis نیست. این ابزار از یک مدل جاسازی دقیق برای درک زمینه پرس و جو و سپس ایجاد یک جاسازی برای انعکاس آن استفاده می‌کند.

ترولوپ انتظار دارد که مورد اصلی استفاده از LangCache، عوامل هوش مصنوعی باشند و نه چندان مکالمات انسان با چت‌بات، که تمایل دارند آزادانه‌تر باشند و از این رو کش کردن آنها سخت‌تر است.

ترولوپ گفت: «دلیل منحصر به فرد ما برای وجود، واقعاً در مورد عملکرد و یک API واقعاً آسان برای توسعه دهندگان است. اگر می‌خواهید یک تریلیون بردار را در یک پایگاه داده ذخیره کنید و اهمیتی نمی‌دهید که سرعت آن چقدر است، ما بهترین پاسخ برای آن نیستیم. اما اگر در یک محیط بلادرنگ هستید و می‌خواهید سریع حرکت کنید و تأخیر مهم است - فکر می‌کنم موارد بیشتری وجود خواهد داشت که در این دنیای عامل‌محور مهم باشند.»

مجموعه‌های برداری بخش دیگر معادله در اینجا برای Redis هستند. هنگامی که سالواتوره "antirez" سانفیلیپو، بنیانگذار پروژه متن باز Redis، اواخر سال گذشته به شرکت بازگشت، کمی در مورد علاقه خود به مجموعه‌های برداری صحبت کرد و اینکه چرا معتقد است نیاز به روشی متفاوت برای فکر کردن در مورد ذخیره داده‌های برداری وجود دارد.

ترولوپ همیشه صریح‌اللهجه گفت: «سانفیلیپو به آنچه در موج پایگاه داده برداری اتفاق افتاد نگاه کرد و گفت: "این احمقانه است." او گفت: "همه در جهت اشتباه حرکت می‌کنند." بنابراین Pinecone، Milvus، Weaviate، و غیره - همه تقریباً یک کار را انجام می‌دهند، که ساختن یک پایگاه داده برای بردارها است. روشی که معمولاً به نظر می‌رسد این است که شما داده‌های خود را اضافه می‌کنید و سپس یک موتور جاسازی برداری به آن متصل می‌شود [...] و بردار داده را به هم متصل می‌کند و سپس یک فهرست ایجاد می‌کند و می‌توانید در برابر آن جستجو کنید.»

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

ترولوپ گفت: سانفیلیپو استدلال کرد که Redis به این دلیل موفق شد که سعی نکرد کار زیادی برای توسعه دهندگان انجام دهد و شرکت باید همین رویکرد را با این کار در پیش بگیرد و مجموعه‌های برداری را به عنوان یک بلوک ساختمانی جدید برای توسعه دهندگان در دسترس قرار دهد تا آنها تصمیم بگیرند چگونه از آنها استفاده کنند.

ترولوپ در مورد جنبه تجاری خاطرنشان کرد که Redis هنوز امیدوار است در مقطعی عرضه اولیه سهام (IPO) کند. او گفت که این شرکت تقریباً به نقطه سربه‌سر رسیده است و می‌تواند از نظر مالی برای فرآیند IPO آماده باشد. با این حال، کاری که او می‌خواهد انجام دهد، سرمایه‌گذاری عمیق برای تبدیل شدن به حافظه کوتاه مدت بالفعل برای برنامه‌های هوش مصنوعی است (در حالی که LLM بیشتر شبیه حافظه بلند مدت است).

ترولوپ گفت: «من با بانکدارانی صحبت کرده‌ام که همه از ما می‌خواهند که IPO کنیم. آنها می‌گویند: "IPO، برو، IPO." من در حال حاضر خیلی به آن علاقه‌مند نیستم. منظورم این است که فکر می‌کنم در نهایت به آنجا خواهیم رسید. من فکر می‌کنم با فرصت هوش مصنوعی، بیشتر در تجارت سرمایه‌گذاری می‌کنم. جایی که می‌توانستم خط بالا و پایین شرکت را برای IPO تنظیم کنم، این کار را نمی‌کنم زیرا فرصت هوش مصنوعی خیلی بزرگ است. [...] برای موج قبلی برنامه‌های تلفن همراه ابری، Redis یک استاندارد بالفعل بود، مانند هر توسعه‌دهنده‌ای که یک برنامه تلفن همراه ابری می‌سازد، احتمالاً Redis را در 95٪ موارد وارد می‌کند - و سپس ما کسری کوچک از آن را کسب درآمد می‌کردیم. اکنون دوره جدیدی دارید که همه می‌خواهند تمام برنامه‌ها را به سبک عامل‌محور بازنویسی کنند و همه چیز هنوز در هوا است.»

ترولوپ معتقد است که با ایجاد این موارد استفاده و برنامه‌های جدید توسط توسعه دهندگان، آنها از ابزارهایی استفاده می‌کنند که با آنها آشنا هستند. او استدلال می‌کند که یک معماری عامل‌محور اساساً از ریزسرویس‌هایی استفاده می‌کند که به جای داشتن قوانین سخت‌کدگذاری‌شده و منطق تجاری در هسته خود، از LLM استفاده می‌کنند. برای این کار، شما به یک لایه ارکستراسیون و یک فروشگاه جلسه نیاز دارید، زیرا این ریزسرویس‌ها/عوامل باید بدون حالت باشند. او معتقد است که Redis به طور ایده‌آل برای توسعه‌دهندگانی مناسب است که می‌خواهند وضعیت این عوامل را ذخیره کنند، زیرا سریع و بادوام است.