প্রোডাকশন এলএলএম অ্যাপ্লিকেশনগুলি খুব কমই এমন একটি প্রশ্ন পায় যা আগে কেউ জিজ্ঞাসা করেনি। সহায়তা সহকারী এবং RAG পাইপলাইনগুলি দিনে হাজার হাজার বার একই অভিপ্রায় আবিষ্কার করে, প্রতিটি শব্দ আলাদাভাবে, এবং বেশিরভাগ স্ট্যাক প্রতিটি শব্দকে একটি নতুন, সম্পূর্ণ ইতিবাচক অনুরোধ হিসাবে বিবেচনা করে। Redis LangCache হল একটি সম্পূর্ণরূপে পরিচালিত শব্দার্থিক ক্যাশে পরিষেবা যা অ্যাপ্লিকেশন এবং মডেলের মধ্যে বসে, সঠিক পাঠ্যের পরিবর্তে অর্থের দ্বারা পূর্বে উত্তর দেওয়া বার্তাগুলির সাথে ইনকামিং প্রম্পটগুলিকে মেলে এবং যখন যথেষ্ট মিল থাকে তখন ক্যাশে করা প্রতিক্রিয়া ফেরত দেয়৷ Redis 90% পর্যন্ত API খরচ সঞ্চয় এবং মডেল পুনরায় অনুসন্ধানের চেয়ে 15x দ্রুত ক্যাশে প্রতিক্রিয়ার প্রতিবেদন করে।
এটা কি স্থাপনযোগ্য? হ্যাঁ LangCache আজ রেডিস ক্লাউডে একটি সর্বজনীন পূর্বরূপ হিসাবে উপলব্ধ, পাইথন এবং জাভাস্ক্রিপ্ট SDK সহ একটি REST API এর মাধ্যমে অ্যাক্সেস করা হয়েছে এবং Redis নোট করে যে পূর্বরূপের সময় বৈশিষ্ট্য এবং আচরণ পরিবর্তন হতে পারে।
সমস্যা: প্যারাফ্রেজগুলি এখনও সম্পূর্ণ এলএলএম কথোপকথন
একজন গ্রাহক সহায়তা সহকারীর জন্য তিনটি অনুরোধ বিবেচনা করুন:
- “আমি কি মাসিক প্ল্যান কেনার পরে টাকা ফেরত পেতে পারি?”
- “মাসিক সাবস্ক্রিপশনের জন্য কি ফেরত আছে?”
- “আমি কি প্ল্যান বাতিল করে আমার টাকা ফেরত পেতে পারি?”
শব্দগুচ্ছ ভিন্ন, কিন্তু প্রশ্ন এবং উত্তর একই। একটি শব্দার্থিক ক্যাশে ছাড়া, প্রতিটি সংস্করণ একটি সম্পূর্ণ প্রজন্ম চালায়: ইনপুট টোকেনগুলি প্রক্রিয়া করা হয়, আউটপুট টোকেনগুলি ডিকোড করা হয়, ব্যবহারকারী অপেক্ষা করে৷
উপসর্গ ক্যাশিং এই খরচের শুধুমাত্র অংশ সরিয়ে দেয়। যখন অনুরোধগুলি একটি প্রম্পট বা সিস্টেম প্রসঙ্গ শেয়ার করে, তখন ইঞ্জিন সেই উপসর্গের জন্য গণনা করা KV রাজ্যগুলিকে পুনরায় ব্যবহার করে, কিন্তু অনুরোধটি এখনও এলএলএম-এ পৌঁছে, নতুন টোকেনগুলি এখনও প্রক্রিয়া করা হয় এবং সম্পূর্ণ প্রতিক্রিয়া এখনও ডিকোড করা হয়। ক্যাশে প্রিফিক্সে আঘাত করা একটি সস্তা প্রজন্মের কল, এড়িয়ে যাওয়া কল নয়।
কিভাবে LangCache কাজ করে
LangCache মডেলের বাইরে ক্যাশে সরিয়ে দেয় এবং উৎপন্ন প্রতিক্রিয়া নিজেই সঞ্চয় করে। আর্কিটেকচার হল দুটি কলের একটি লুপ:
- মডেল চালানোর আগে, অ্যাপ্লিকেশন প্রম্পট পাঠায়
POST /v1/caches/{cacheId}/entries/search. - LangCache নির্দেশের জন্য একটি বাস্তবায়ন তৈরি করে এবং ক্যাশে করা মানগুলিতে একটি ভেক্টর অনুসন্ধান চালায়।
- যদি একটি শব্দার্থগতভাবে অনুরূপ মান সংজ্ঞায়িত মিল থ্রেশহোল্ড সাফ করে, ক্যাশে করা প্রতিক্রিয়া ফেরত দেওয়া হয় এবং কোনো LLM কল ঘটে না।
- একটি মিস হওয়ার ক্ষেত্রে, অ্যাপ্লিকেশনটি তার নির্বাচিত এলএলএমকে যথারীতি কল করে, তারপরে এর মাধ্যমে নতুন, দ্রুত প্রতিক্রিয়া সঞ্চয় করে
POST /v1/caches/{cacheId}/entriesভবিষ্যতের খেলার জন্য।
এম্বেড তৈরি করা পরিষেবা দ্বারা পরিচালিত হয়, ডিফল্ট টেমপ্লেট বা আপনার নিজস্ব। ক্যাশে আচরণ সাদৃশ্য থ্রেশহোল্ড, TTL, এবং উচ্ছেদ নীতির মাধ্যমে নিয়ন্ত্রিত হয়, পাশাপাশি অভিযোজিত নিয়ন্ত্রণগুলি যা টিউন নির্ভুলতা এবং প্রত্যাহার করে। Redis ভেক্টর ডাটাবেসে নির্মিত এবং একটি REST API হিসাবে উন্মুক্ত, এটি প্রতিটি LLM বিক্রেতা এবং ভাষার সাথে কাজ করে। হিট এবং সেভ রেট রেডিস ক্লাউড কনসোল থেকে পর্যবেক্ষণ করা হয়।