लैंगचेन में पेरेंट डॉक्यूमेंट रिट्रीवर का उपयोग कैसे करें?

Laingacena Mem Perenta Dokyumenta Ritrivara Ka Upayoga Kaise Karem



लैंगचेन फ्रेमवर्क डेवलपर्स को बड़े भाषा मॉडल बनाने में सक्षम बनाता है जो प्राकृतिक भाषा में टेक्स्ट को समझ और उत्पन्न कर सकते हैं। लैंगचेन मॉडल को भारी मात्रा में डेटा पर प्रशिक्षित किया जाता है ताकि मॉडल वेक्टर स्टोर में डेटा संग्रहीत करके भाषा को समझ सके। यह उपयोगकर्ता को रिट्रीवर्स बनाने में भी सक्षम बनाता है जो मॉडल के लिए संग्रहीत सभी डेटा के साथ डेटाबेस या वेक्टर स्टोर से डेटा निकाल सकता है।

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

लैंगचेन में पेरेंट डॉक्यूमेंट रिट्रीवर का उपयोग कैसे करें?

लैंगचेन में मूल दस्तावेज़ पुनर्प्राप्ति का उपयोग दस्तावेज़ों को छोटे टुकड़ों में विभाजित करके किया जा सकता है ताकि वे एम्बेडिंग के क्षणों में अपना अर्थ न खोएं। मूल दस्तावेज़ को संपूर्ण दस्तावेज़ या बड़ा हिस्सा कहा जा सकता है जिसमें से छोटे हिस्से निकाले जाते हैं।







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



चरण 1: मॉड्यूल स्थापित करें



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





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

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



पाइप क्रोमैडबी स्थापित करें

टिकटोकन स्थापित करने के लिए जो एक टोकननाइज़र है जो छोटे टुकड़े बनाकर दस्तावेज़ के टोकन प्राप्त करता है:

पिप टिकटोकन इंस्टॉल करें

इसकी निर्भरता और लाइब्रेरी प्राप्त करने के लिए पायथन नोटबुक पर निम्नलिखित कमांड निष्पादित करके ओपनएआई मॉड्यूल प्राप्त करें:

पिप इंस्टाल ओपनाई

चरण 2: पर्यावरण सेटअप करें और डेटा अपलोड करें

अगला कदम है पर्यावरण स्थापित करें OpenAI खाते से API कुंजी का उपयोग करना:

आयात आप
आयात पास ले लो

आप . लगभग [ 'OPENAI_API_KEY' ] = पास ले लो . पास ले लो ( 'ओपनएआई एपीआई कुंजी:' )

अब, फ़ाइल लाइब्रेरी आयात करने के बाद स्थानीय सिस्टम से दस्तावेज़ अपलोड करें और फिर अपलोड() विधि को कॉल करें:

से गूगल। और अन्य आयात फ़ाइलें
अपलोड किए गए = फ़ाइलें. डालना ( )

चरण 3: पुस्तकालय आयात करें

अगले चरण में लैंगचेन फ्रेमवर्क का उपयोग करके मूल दस्तावेज़ पुनर्प्राप्तिकर्ताओं का उपयोग करने के लिए आवश्यक पुस्तकालयों को आयात करने के लिए कोड शामिल है:

से लैंगचैन. retrievers आयात ParentDocumentRetriever
से लैंगचैन. वेक्टरस्टोर्स आयात क्रोमा
से लैंगचैन. एम्बेडिंग आयात ओपनएआईएम्बेडिंग्स
से लैंगचैन. टेक्स्ट_स्प्लिटर आयात रिकर्सिव कैरेक्टरटेक्स्टस्प्लिटर
से लैंगचैन. भंडारण आयात इनमेमोरीस्टोर
से लैंगचैन. दस्तावेज़_लोडर आयात टेक्स्ट लोडर

फ़ाइलों के पथ के साथ TextLoader() विधियों का उपयोग करके रिट्रीवर बनाने के लिए दस्तावेज़ को लोड करें:

लोडर = [
टेक्स्ट लोडर ( 'डेटा.txt' ) ,
टेक्स्ट लोडर ( 'state_of_the_union.txt' ) ,
]
डॉक्स = [ ]
के लिए एल में लोडर:

चरण 4: संपूर्ण दस्तावेज़ पुनर्प्राप्त करना

एक बार दस्तावेज़/फ़ाइलें मॉडल में लोड हो जाने के बाद, बस दस्तावेज़ों की एम्बेडिंग बनाएं, और उन्हें वेक्टर स्टोर में संग्रहीत करें:

child_splitter = रिकर्सिव कैरेक्टरटेक्स्टस्प्लिटर ( खंड आकार = 400 )

वेक्टरस्टोर = क्रोमा (
संग्रह_नाम = 'पूर्ण_दस्तावेज़' ,
एम्बेडिंग_फ़ंक्शन = ओपनएआईएम्बेडिंग्स ( )
)

इकट्ठा करना = इनमेमोरीस्टोर ( )
कुत्ता = ParentDocumentRetriever (
वेक्टरस्टोर = वेक्टरस्टोर ,
डॉक्टर की दुकान = इकट्ठा करना ,
child_splitter = child_splitter ,
)

अब, दस्तावेज़ों तक पुनर्प्राप्ति प्राप्त करने के लिए पुनर्प्राप्तिकर्ता का उपयोग करके add_documents() विधि को कॉल करें:

पुनर्प्राप्तिकर्ता। add_documents ( डॉक्स , आईडी = कोई नहीं )

निम्नलिखित कोड अपलोड की गई फ़ाइलों के लिए डेटाबेस में संग्रहीत दस्तावेज़ों के एम्बेडिंग को निकालता है:

सूची ( इकट्ठा करना। उपज_कुंजियाँ ( ) )

दस्तावेज़ों की एम्बेडिंग प्राप्त करने के बाद, दस्तावेज़ से छोटे हिस्से प्राप्त करने के लिए क्वेरी के साथ समानता_खोज() विधि को कॉल करें:

उप_दस्तावेज़ = वेक्टरस्टोर. समानता_खोज ( 'जस्टिस ब्रेयर' )

क्वेरी के आधार पर पिछले कोड में बुलाए गए हिस्सों को प्रदर्शित करने के लिए प्रिंट() विधि को कॉल करें:

छपाई ( उप_दस्तावेज़ [ 0 ] . पृष्ठ सामग्री )

निम्नलिखित कोड का उपयोग करके डेटाबेस में संग्रहीत सभी टोकन प्राप्त करने के लिए रिट्रीवर() फ़ंक्शन को पूरा करें:

पुनर्प्राप्त_दस्तावेज़ = पुनर्प्राप्तिकर्ता। प्रासंगिक_दस्तावेज़ प्राप्त करें ( 'जस्टिस ब्रेयर' )

सभी दस्तावेज़ों को प्रिंट करने में बहुत अधिक समय और प्रसंस्करण शक्ति लगेगी, इसलिए पहले प्राप्त किए गए दस्तावेज़ों की लंबाई प्राप्त करें:

केवल ( पुनर्प्राप्त_दस्तावेज़ [ 0 ] . पृष्ठ सामग्री )

चरण 5: बड़े टुकड़े पुनः प्राप्त करना

इस चरण में संपूर्ण दस्तावेज़ नहीं लगेगा; हालाँकि, यह दस्तावेज़ से एक बड़ा चिपमंक लेगा और उसमें से एक छोटा हिस्सा पुनः प्राप्त करेगा:

पेरेंट_स्प्लिटर = रिकर्सिव कैरेक्टरटेक्स्टस्प्लिटर ( खंड आकार = 2000 )
child_splitter = रिकर्सिव कैरेक्टरटेक्स्टस्प्लिटर ( खंड आकार = 400 )
वेक्टरस्टोर = क्रोमा ( संग्रह_नाम = 'विभाजित माता-पिता' , एम्बेडिंग_फ़ंक्शन = ओपनएआईएम्बेडिंग्स ( ) )
इकट्ठा करना = इनमेमोरीस्टोर ( )

में संग्रहीत डेटा के विशाल पूल से छोटे टोकन प्राप्त करने के लिए रिट्रीवर को कॉन्फ़िगर करें वेक्टरस्टोर ' चर:

कुत्ता = ParentDocumentRetriever (
वेक्टरस्टोर = वेक्टरस्टोर ,
डॉक्टर की दुकान = इकट्ठा करना ,
child_splitter = child_splitter ,
पेरेंट_स्प्लिटर = पेरेंट_स्प्लिटर ,
)

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

पुनर्प्राप्तिकर्ता। add_documents ( डॉक्स )

इन दस्तावेजों की लंबाई यहां से प्राप्त करें डॉक्स नीचे दिए गए आदेश के माध्यम से परिवर्तनीय:

केवल ( सूची ( इकट्ठा करना। उपज_कुंजियाँ ( ) ) )

बस एक बड़े से एक छोटा हिस्सा प्राप्त करें क्योंकि पिछले स्क्रीनशॉट से पता चलता है कि वेक्टर स्टोर में 23 दस्तावेज़ संग्रहीत हैं। क्वेरी का उपयोग प्रासंगिक डेटा प्राप्त करने के लिए किया जाता है समानता_खोज() वेक्टर स्टोर से डेटा पुनर्प्राप्त करने की विधि:

उप_दस्तावेज़ = वेक्टरस्टोर। समानता_खोज ( 'जस्टिस ब्रेयर' )

पिछले कोड में उल्लिखित क्वेरी का उपयोग करके छोटे टुकड़ों को स्क्रीन पर प्रदर्शित करने के लिए प्रिंट करें:

छपाई ( उप_दस्तावेज़ [ 0 ] . पृष्ठ सामग्री )

अब, फ़ंक्शन के तर्क के रूप में क्वेरी का उपयोग करके डेटाबेस में संग्रहीत संपूर्ण डेटासेट पर रिट्रीवर का उपयोग करें:

पुनर्प्राप्त_दस्तावेज़ = पुनर्प्राप्तिकर्ता। प्रासंगिक_दस्तावेज़ प्राप्त करें ( 'जस्टिस ब्रेयर' )

डेटाबेस में निर्मित और संग्रहीत पूर्ण खंडों की लंबाई प्राप्त करें:

केवल ( पुनर्प्राप्त_दस्तावेज़ [ 0 ] . पृष्ठ सामग्री )

हम सभी खंडों को प्रदर्शित नहीं कर सकते, लेकिन सूचकांक संख्या 0 वाला पहला खंड निम्नलिखित कोड का उपयोग करके प्रदर्शित किया जाता है:

छपाई ( पुनर्प्राप्त_दस्तावेज़ [ 0 ] . पृष्ठ सामग्री

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

निष्कर्ष

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