लैंगचेन में कैशिंग के साथ कैसे काम करें?

Laingacena Mem Kaisinga Ke Satha Kaise Kama Karem



कैशिंग मॉडल से सबसे हालिया या अक्सर उपयोग किए गए डेटा को संग्रहीत करने और लाने की प्रक्रिया है, इसलिए इसे हर समय पुन: गणना करने की आवश्यकता नहीं होती है। टेक्स्ट एम्बेडिंग का उपयोग टेक्स्ट डेटा को संख्याओं में बदलने के लिए किया जा सकता है और इसमें कैशिंग तकनीक लागू करने से मॉडल की दक्षता में सुधार हो सकता है। लैंगचेन डेवलपर्स को CacheBackedEmbeddings लाइब्रेरी का उपयोग करके कैशिंग मॉडल बनाने में सक्षम बनाता है।

यह पोस्ट लैंगचेन में कैशिंग के साथ काम करने की प्रक्रिया को प्रदर्शित करेगी।







लैंगचेन में कैशिंग के साथ कैसे काम करें?

टेक्स्ट एम्बेडिंग मॉडल पर लैंगचेन में कैशिंग का उपयोग विभिन्न डेटासेट के माध्यम से किया जा सकता है जैसे वेक्टर स्टोर, इन-मेमोरी डेटा, या फ़ाइल सिस्टम से डेटा का उपयोग करना। कैश विधियों को लागू करने से आउटपुट जल्दी मिल सकता है और मॉडल डेटा पर समानता खोजों को अधिक प्रभावी ढंग से लागू कर सकता है।



लैंगचेन में कैशिंग के साथ काम करने की प्रक्रिया सीखने के लिए, बस सूचीबद्ध चरणों से गुजरें:



चरण 1: मॉड्यूल स्थापित करें
सबसे पहले, आवश्यक मॉडल स्थापित करके कैशिंग के साथ काम करने की प्रक्रिया शुरू करें, यहां पहला मॉडल लैंगचेन है जिसमें प्रक्रिया के लिए सभी आवश्यक लाइब्रेरी शामिल हैं:





रंज स्थापित करना लैंगचैन

FAISS मॉड्यूल को उपयोगकर्ता द्वारा प्रदान किए गए इनपुट के आधार पर आउटपुट निकालने या उत्पन्न करने के लिए समानता खोज करने की आवश्यकता होती है:



रंज स्थापित करना faiss-gpu

इस गाइड के लिए स्थापित करने के लिए आवश्यक अंतिम मॉड्यूल OpenAI है जिसका उपयोग OpenAIEmbeddings() विधि का उपयोग करके डेटा की एम्बेडिंग बनाने के लिए किया जा सकता है:

रंज स्थापित करना openai

सभी मॉड्यूल की स्थापना के बाद, बस OpenAI वातावरण से एपीआई कुंजी का उपयोग करके पर्यावरण को सेट करें। आप ' और ' पास ले लो 'पुस्तकालय:

हमें आयात करें
गेटपास आयात करें

ओएस.पर्यावरण [ 'OPENAI_API_KEY' ] = गेटपास.गेटपास ( 'ओपनएआई एपीआई कुंजी:' )

चरण 2: पुस्तकालय आयात करना
एक बार सेटअप पूरा हो जाने पर, लैंगचेन में कैशिंग तकनीकों के साथ काम करने के लिए बस लाइब्रेरी आयात करें:

langchan.storage से InMemoryStore आयात करें
langchin.embeddings से CacheBackedEmbeddings आयात करें
langchan.storage से LocalFileStore आयात करें
langchin.embeddings से OpenAIEmbeddings आयात करें
langchin.document_loaders से TextLoader आयात करें
langchan.embeddings.openai से OpenAIEmbeddings आयात करें
langचेन.टेक्स्ट_स्प्लिटर से कैरेक्टरटेक्स्टस्प्लिटर आयात करें
langchan.vectorstores से FAISS आयात करें

चरण 3: कैशिंग मॉडल का निर्माण
लाइब्रेरी आयात करने के बाद, मॉडल बनाने और इसे वेरिएबल में संग्रहीत करने के लिए बस OpenAIEmbeddings() विधि को कॉल करें:

अंतर्निहित_एम्बेडिंग = ओपनएआईएमबेडिंग ( )

अब, कई तर्कों के साथ LocalFileStore() विधि और CacheBackedEmbeddings() विधियों का उपयोग करके कैश लागू करें:

एफएस = लोकलफाइलस्टोर ( './कैश/' )

कैश्ड_एम्बेडर = CacheBackedEmbeddings.from_bytes_store (
अंतर्निहित_एम्बेडिंग, एफएस, नाम स्थान =underlying_embeddings.model
)

बस एम्बेडिंग की सूची प्राप्त करें और अभी के लिए, सूची खाली है क्योंकि एम्बेडिंग सूची में संग्रहीत नहीं हैं:

सूची ( fs.यील्ड_कुंजियाँ ( ) )

चरण 4: वेक्टर स्टोर बनाना
फ़ाइल लाइब्रेरी का उपयोग करके स्थानीय सिस्टम से फ़ाइल प्राप्त करें और “पर क्लिक करें” फ़ाइलों का चयन करें कोड निष्पादित करने के बाद:

google.colab से फ़ाइलें आयात करें
अपलोड किया गया = फ़ाइलें.अपलोड ( )

अब, बस एक वेक्टर स्टोर बनाएं जिसका उपयोग दस्तावेज़ के नाम के साथ टेक्स्टलोडर() विधि का उपयोग करके एम्बेडिंग को स्टोर करने के लिए किया जा सकता है। उसके बाद, टुकड़ों के आकार के साथ टेक्स्ट स्प्लिटर विधियों को लागू करें और डेटा को छोटे टुकड़ों में विभाजित करें:

raw_documents = TextLoader ( 'state_of_the_union.txt' ) ।भार ( )
टेक्स्ट_स्प्लिटर = कैरेक्टरटेक्स्टस्प्लिटर ( खंड आकार = 1000 , खंड_ओवरलैप = 0 )
दस्तावेज़ = text_splitter.split_documents ( कच्चे_दस्तावेज़ )

टेक्स्ट को विभाजित करने के बाद डेटा को इसमें स्टोर करें डाटाबेस समानता खोज विधि का उपयोग करके आउटपुट प्राप्त करने के लिए FAISS लाइब्रेरी का उपयोग करके चर:

डीबी = FAISS.from_documents ( दस्तावेज़, कैश्ड_एम्बेडर )

अब, डेटाबेस में संग्रहीत करने के बाद एम्बेडिंग की सूची फिर से प्राप्त करें और आउटपुट को केवल 5 इंडेक्स तक सीमित करें:

सूची ( fs.यील्ड_कुंजियाँ ( ) ) [ : 5 ]

चरण 5: इन-मेमोरी कैशिंग का उपयोग करना
स्टोर वैरिएबल को परिभाषित करने के लिए अगली कैशिंग का उपयोग InMemoryStore() विधियों के माध्यम से किया जा सकता है:

स्टोर = इनमेमोरीस्टोर ( )

मॉडल, स्टोर और नेमस्पेस के पैरामीटर के रूप में OpenAIEmbeddings() और CacheBackedEmbeddings() विधियों का उपयोग करके कैशिंग मॉडल बनाएं:

अंतर्निहित_एम्बेडिंग = ओपनएआईएमबेडिंग ( )
एंबेडडर = CacheBackedEmbeddings.from_bytes_store (
अंतर्निहित_एम्बेडिंग, स्टोर, नाम स्थान =underlying_embeddings.model
)

दस्तावेज़ से डेटा प्राप्त करने के लिए कैशे एम्बेडिंग का उपयोग किए बिना संग्रहीत दस्तावेज़ पर एम्बेडिंग लागू करें:

एम्बेडिंग = एम्बेडर.एम्बेड_दस्तावेज़ ( [ 'नमस्ते' , 'अलविदा' ] )

अब, दस्तावेज़ों से डेटा शीघ्रता से प्राप्त करने के लिए एम्बेडिंग पर कैश लागू करें:

एम्बेडिंग_फ्रॉम_कैश = एम्बेडर.एम्बेड_डॉक्यूमेंट्स ( [ 'नमस्ते' , 'अलविदा' ] )

कैश एम्बेडिंग को एम्बेडिंग वेरिएबल में संग्रहीत करें ताकि एम्बेडिंग वेरिएबल में कैश्ड एम्बेडिंग संग्रहीत हो:

एम्बेडिंग == एम्बेडिंग_फ्रॉम_कैश

चरण 6: फ़ाइल सिस्टम कैशिंग का उपयोग करना
फ़ाइल सिस्टम स्टोर का उपयोग करके test_cache दस्तावेज़ से एम्बेडिंग में कैशिंग लागू करने की अंतिम विधि:

एफएस = लोकलफाइलस्टोर ( './test_cache/' )

पैरामीटर के रूप में एम्बेडिंग मॉडल, डेटा स्टोर और नेमस्पेस के साथ CacheBackedEmbeddings() विधि का उपयोग करके एम्बेडिंग लागू करें:

एंबेडडर2 = CacheBackedEmbeddings.from_bytes_store (
अंतर्निहित_एम्बेडिंग, एफएस, नाम स्थान =underlying_embeddings.model
)

एम्बेडर() विधि को कॉल करने के लिए इसमें संग्रहीत कैश्ड डेटा के साथ एम्बेडिंग वैरिएबल का उपयोग करें:

एम्बेडिंग = एम्बेडडर2.एम्बेड_डॉक्यूमेंट्स ( [ 'नमस्ते' , 'अलविदा' ] )

अब पैरामीटर के रूप में उल्लिखित उपरोक्त दो दुनियाओं के लिए एम्बेडिंग प्राप्त करें:

सूची ( fs.यील्ड_कुंजियाँ ( ) )

यह लैंगचेन में कैशिंग के निर्माण और उसके साथ काम करने की प्रक्रिया के बारे में है।

निष्कर्ष

लैंगचेन में एम्बेडिंग के लिए कैशिंग तकनीकों के साथ काम करने के लिए, बस FAISS, OpenAI इत्यादि जैसे पिप कमांड का उपयोग करके आवश्यक मॉड्यूल प्राप्त करें। उसके बाद, लैंगचेन में कैशिंग के साथ निर्माण और काम करने के लिए लाइब्रेरी आयात करें। यह विभिन्न दुकानों में एम्बेडिंग को कुशलतापूर्वक संग्रहीत करता है। डेवलपर्स वेक्टर स्टोर्स, फाइल सिस्टम या इन-मेमोरी स्टोर्स जैसे एम्बेडिंग को स्टोर करने के लिए डेटाबेस के रूप में कई स्टोर्स का उपयोग कर सकते हैं। इस गाइड ने लैंगचेन में कैशिंग के साथ काम करने की प्रक्रिया का प्रदर्शन किया।