RAG कार्यप्रवाह में कैशिंग का एकीकरण
पहले से उत्पन्न प्रतिक्रियाओं या प्राप्त संदर्भों को संग्रहीत करने और पुनः प्राप्त करने के लिए अपने RAG ऐप्लिकेशन में कैशिंग परतें लागू कीजिए।
RAG कार्यप्रवाह में कैशिंग का एकीकरण, CoddyKit पर उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
RAG कैशिंग का परिचय
कैशिंग पर अंतिम पाठ में आपका स्वागत है! हमने सीखा है कि कैशिंग क्यों महत्वपूर्ण है और विभिन्न रणनीतियों को समझा है।
अब व्यावहारिक रूप से सीखते हैं। यह पाठ प्रदर्शन बढ़ाने और लागत घटाने के लिए कैशिंग को सीधे आपके RAG पाइपलाइन में एकीकृत करने पर केंद्रित है।
RAG में कैश कहाँ करें
RAG पाइपलाइन में दो प्रमुख स्थान हैं जहाँ कैशिंग से महत्वपूर्ण लाभ मिलते हैं:
- पुनर्प्राप्ति चरण: आपके वेक्टर डेटाबेस द्वारा पुनर्प्राप्त किए गए दस्तावेज़ों को कैश करना।
- निर्माण चरण: बड़े भाषा मॉडल (LLM) द्वारा बनाई गई अंतिम प्रतिक्रिया को कैश करना।
दोनों स्थान अलग-अलग अड़चनों को दूर करते हैं।
पुनर्प्राप्त संदर्भ को कैश करना
जब कोई उपयोगकर्ता प्रश्न पूछता है, तो आपका RAG सिस्टम पहले प्रासंगिक दस्तावेज़ (अर्थात 'संदर्भ') खोजने के लिए वेक्टर डेटाबेस से प्रश्न करता है।
यदि वही प्रश्न (या उससे बहुत मिलता-जुलता प्रश्न) फिर पूछा जाए, तो वेक्टर डेटाबेस से दोबारा प्रश्न क्यों करें? पुनर्प्राप्त दस्तावेज़ों को कैश करने से काफी समय और संसाधन बच सकते हैं।
- कुंजी: उपयोगकर्ता का प्रश्न (या उसकी एंबेडिंग)।
- मान: पुनर्प्राप्त दस्तावेज़ों/खंडों की सूची।
LLM प्रतिक्रियाओं को कैश करना
संदर्भ प्राप्त करने के बाद, आपका RAG सिस्टम अंतिम उत्तर बनाने के लिए उपयोगकर्ता का प्रश्न और संदर्भ LLM को भेजता है।
LLM कॉल अक्सर सबसे महँगा और सबसे धीमा चरण होती हैं। किसी दिए गए प्रश्न और संदर्भ की जोड़ी के लिए अंतिम निर्मित प्रतिक्रिया को कैश करना अत्यंत प्रभावी है।
- कुंजी: (उपयोगकर्ता का प्रश्न, पुनर्प्राप्त संदर्भ) का युग्म।
- मान: LLM द्वारा बनाया गया उत्तर।
सरल मेमोरी कैश
प्रदर्शन के लिए, हम मेमोरी कैश के रूप में एक मूल पायथन dict का उपयोग करेंगे। वास्तविक परिस्थितियों में, आप Redis जैसी समर्पित कैशिंग लाइब्रेरी या बाहरी सेवाओं का उपयोग करेंगे।
मुख्य विचार यह है:
- जाँचें कि वर्तमान इनपुट का परिणाम कैश में मौजूद है या नहीं।
- यदि हाँ (कैश हिट), तो कैश किया गया परिणाम तुरंत लौटाएँ।
- यदि नहीं (कैश मिस), तो परिणाम की गणना करें, उसे कैश में सहेजें और फिर लौटाएँ।
पायथन: LLM कॉल की कैशिंग
यहाँ एक सरल पायथन उदाहरण है, जो नकली LLM कॉल से प्राप्त परिणामों को कैश करने का तरीका दिखाता है। ध्यान दें कि समान इनपुट के लिए 'वास्तविक LLM कॉल' केवल एक बार होती है।
import time
# Simulate an expensive LLM call
def mock_llm_call(prompt, context):
print(f"DEBUG: Making actual LLM call for: '{prompt}'")
time.sleep(1) # Simulate network delay
return f"Response to '{prompt}' with context: {context}"
# Simple in-memory cache
llm_cache = {}
def get_llm_response_cached(prompt, context):
cache_key = (prompt, context) # Use a tuple as the key
if cache_key in llm_cache:
print("DEBUG: Cache hit!")
return llm_cache[cache_key]
else:
print("DEBUG: Cache miss. Calling LLM...")
response = mock_llm_call(prompt, context)
llm_cache[cache_key] = response
return response
# Main execution
if __name__ == "__main__":
print("--- First call ---")
response1 = get_llm_response_cached(
"What is RAG?",
"RAG combines retrieval with generation."
)
print(f"Result 1: {response1}\n")
print("--- Second call (same query/context) ---")
response2 = get_llm_response_cached(
"What is RAG?",
"RAG combines retrieval with generation."
)
print(f"Result 2: {response2}\n")
print("--- Third call (different query) ---")
response3 = get_llm_response_cached(
"How does RAG work?",
"RAG uses a retriever and a generator."
)
print(f"Result 3: {response3}\n")कैश आउटपुट को समझना
कोड चलाएँ और आउटपुट देखें:
- पहली कॉल के लिए आपको "DEBUG: Making actual LLM call..." दिखाई देगा।
- समान इनपुट वाली दूसरी कॉल के लिए आपको "DEBUG: Cache hit!" दिखाई देगा और वास्तविक LLM कॉल नहीं होगी। इससे समय और लागत बचती है!
- अलग इनपुट वाली तीसरी कॉल के लिए कैश मिस होगा, इसलिए एक और LLM कॉल की जाएगी।
यह LLM प्रतिक्रियाओं की कैशिंग की मूल कार्यप्रणाली को दिखाता है।
कैश को पुनर्प्राप्ति में एकीकृत करना
आप पुनर्प्राप्ति चरण पर भी इसी तरह का कैशिंग पैटर्न लागू कर सकते हैं। अपने वेक्टर डेटाबेस से पूछताछ करने से पहले जाँच लें कि उपयोगकर्ता की क्वेरी (या उसका एम्बेडिंग) पहले देखी जा चुकी है या नहीं।
यदि कैश किया हुआ परिणाम (प्रासंगिक दस्तावेज़ों की सूची) मौजूद है, तो वेक्टर डेटाबेस में खोज करना छोड़ दें और कैश किए गए संदर्भ के साथ सीधे LLM कॉल करें।
इससे आपके वेक्टर डेटाबेस पर भार कम होता है और पुनर्प्राप्ति तेज़ हो जाती है।
कैश अमान्यकरण और TTL
हालाँकि कैशिंग बहुत शक्तिशाली है, कैश किया हुआ डेटा पुराना हो सकता है। गतिशील जानकारी के लिए, कैश को साफ़ करने या अपडेट करने की रणनीति आवश्यक है।
- Time-To-Live (TTL): निर्धारित अवधि के बाद प्रविष्टियों को अपने-आप हटा देता है।
- Least Recently Used (LRU): कैश भर जाने पर सबसे पुरानी प्रविष्टियों को हटा देता है।
- घटना-आधारित: स्रोत डेटा में बदलाव होने पर कैश प्रविष्टियों को अमान्य कर देता है।
सही रणनीति का चुनाव आपके डेटा की ताज़गी संबंधी आवश्यकताओं पर निर्भर करता है।
कैश एकीकरण जाँच
आपने RAG पाइपलाइन के अलग-अलग बिंदुओं पर कैशिंग को एकीकृत करना सीखा है। आइए, अपनी समझ जाँचते हैं!
पुनरावलोकन: RAG में कैशिंग
बहुत अच्छा! इस पाठ में हमने सिद्धांत को व्यवहार में लागू किया।
- हमने RAG पाइपलाइन में कैशिंग के प्रमुख एकीकरण बिंदुओं की पहचान की: पुनर्प्राप्ति और जनरेशन।
- हमने देखा कि पुनर्प्राप्त किए गए संदर्भों और LLM प्रतिक्रियाओं को कैश करने से प्रदर्शन में काफ़ी सुधार हो सकता है और संचालन लागत कम हो सकती है।
- आपने LLM कॉल के लिए बुनियादी मेमोरी-आधारित कैश लागू करने का व्यावहारिक Python उदाहरण देखा।
- हमने TTL जैसी कैश अमान्यकरण रणनीतियों पर संक्षेप में चर्चा की।
अब आप अपने RAG अनुप्रयोगों में कैशिंग एकीकृत करना शुरू करने के लिए तैयार हैं!
एआई शिक्षक के साथ उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “RAG कार्यप्रवाह में कैशिंग का एकीकरण” पाठ निःशुल्क है?
हाँ—“RAG कार्यप्रवाह में कैशिंग का एकीकरण” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“RAG कार्यप्रवाह में कैशिंग का एकीकरण” में मैं क्या सीखूँगा?
पहले से उत्पन्न प्रतिक्रियाओं या प्राप्त संदर्भों को संग्रहीत करने और पुनः प्राप्त करने के लिए अपने RAG ऐप्लिकेशन में कैशिंग परतें लागू कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“RAG कार्यप्रवाह में कैशिंग का एकीकरण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- LLM कॉल को कैश करने का महत्व
- मेमोरी और बाहरी कैशिंग रणनीतियाँ
- RAG कार्यप्रवाह में कैशिंग का एकीकरण
- LLM ऐप्स के लिए अर्थ-आधारित कैशिंग