लैंगचेन में कस्टम मेमोरी प्रकार कैसे जोड़ें?

Laingacena Mem Kastama Memori Prakara Kaise Jorem



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

त्वरित रूपरेखा

यह पोस्ट दिखाएगी:







लैंगचेन में कस्टम मेमोरी प्रकार कैसे जोड़ें



निष्कर्ष



लैंगचेन में कस्टम मेमोरी प्रकार कैसे जोड़ें?

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





चरण 1: फ्रेमवर्क स्थापित करना

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

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

पायथन नोटबुक में उपरोक्त कमांड चलाने से लैंगचेन के लिए निर्भरता स्थापित हो जाएगी जैसा कि निम्नलिखित स्निपेट में दिखाया गया है:



इसके पुस्तकालय प्राप्त करने के लिए ओपनएआई मॉड्यूल स्थापित करें जिसका उपयोग एलएलएम को कॉन्फ़िगर करने के लिए किया जा सकता है:

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

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

पिप इंस्टाल स्पेसी

स्पासी मॉडल पिछले चैट संदेशों की तरह जानकारी को अवलोकन के रूप में संग्रहीत करने के लिए हैश तालिका का उपयोग करता है। उन्नत एनएलपी मॉडल बनाने के लिए स्पासी लाइब्रेरी से लार्ज लैंग्वेज मॉडल या एलएलएम डाउनलोड करने के लिए निम्नलिखित कोड का उपयोग किया जाता है:

! पायथन -एम स्पेसी डाउनलोड en_core_web_lg

आयात ' आप ' और ' पास ले लो लाइब्रेरीज़ OpenAI के खाते से API कुंजी दर्ज करने के लिए हैं इसका वातावरण स्थापित करें :

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

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

चरण 2: पुस्तकालय आयात करना

अगला कदम चैट मॉडल के अनुसार मेमोरी प्रकार को अनुकूलित करने के लिए आवश्यक लाइब्रेरी आयात करना है:

से लैंगचैन. योजना आयात बेसमेमोरी

से लैंगचैन. चेन आयात वार्तालाप शृंखला

से pydantic आयात बेसमॉडल

से लैंगचैन. एलएमएस आयात ओपनएआई

से टाइपिंग आयात सूची , हुक्म , कोई

'आयात करना' स्पेसी 'लाइब्रेरी लोड करने के लिए' en_core_web_lg 'मॉडल बनाएं और इसे' असाइन करें एनएलपी 'परिवर्तनीय क्योंकि यह प्राकृतिक भाषा प्रसंस्करण मॉडल है:

आयात स्पेसी

एनएलपी = स्पेसी. भार ( 'en_core_web_lg' )

चरण 3: कस्टम मेमोरी का निर्माण

उसके बाद, बस मेमोरी क्लास में बेसमेमोरी और बेसमॉडल तर्कों का उपयोग करके कस्टम मेमोरी बनाएं। फिर, इकाइयों को कॉन्फ़िगर करें (डेटा से एकत्रित/संग्रहीत) जिन्हें मेमोरी में पूरी जानकारी या एक इकाई के रूप में संग्रहीत किया जा सकता है। मेमोरी और मॉडल के प्रदर्शन को अनुकूलित करने के लिए दस्तावेज़ से सभी इकाइयों को शामिल करने के लिए मेमोरी को कॉन्फ़िगर किया गया है:

कक्षा स्पेसएंटिटीमेमोरी ( बेसमेमोरी , बेसमॉडल ) :
''' इकाइयों के बारे में जानकारी संग्रहीत करने के लिए मेमोरी क्लास''
संस्थाएँ: हुक्म = { }
मेमोरी_कुंजी: एसटीआर = 'इकाइयाँ'
डीईएफ़ स्पष्ट ( खुद ) :
खुद . इकाइयां, = { }
@ संपत्ति
डीईएफ़ मेमोरी_वेरिएबल्स ( खुद ) - > सूची [ एसटीआर ] :
''' क्वेरी को दिए गए वेरिएबल को प्रारंभ करें'''
वापस करना [ खुद . मेमोरी_कुंजी ]
#तर्कों का उपयोग करके मेमोरी वेरिएबल्स को परिभाषित करें
डीईएफ़ लोड_मेमोरी_वेरिएबल्स ( खुद , इनपुट: डिक्ट [ एसटीआर , कोई ] ) - > हुक्म [ एसटीआर , एसटीआर ] :
''' मेमोरी के लिए वेरिएबल्स को कॉल करें यानी एंटिटी कुंजी'''
डॉक्टर = एनएलपी ( आदानों [ सूची ( इनपुट. चांबियाँ ( ) ) [ 0 ] ] )
#व्यक्तिगत इकाई के लिए मेमोरी में संग्रहित की जाने वाली इकाइयों को कॉन्फ़िगर करें
इकाइयां, = [
खुद . इकाइयां, [ एसटीआर ( ईएनटी ) ] के लिए ईएनटी में डॉक्टर. दस्तावेजों अगर एसटीआर ( ईएनटी ) में खुद . इकाइयां,
]
वापस करना { खुद . मेमोरी_कुंजी : ' \एन ' . जोड़ना ( इकाइयां, ) }
#मेमोरी का उपयोग करने के लिए save_context() को परिभाषित करें
डीईएफ़ save_context ( खुद , इनपुट: डिक्ट [ एसटीआर , कोई ] , आउटपुट: डिक्ट [ एसटीआर , एसटीआर ] ) - > कोई नहीं :
'''इस चैट से अवलोकन को मेमोरी में संग्रहीत करें'''
मूलपाठ = आदानों [ सूची ( इनपुट. चांबियाँ ( ) ) [ 0 ] ]
डॉक्टर = एनएलपी ( मूलपाठ )
के लिए ईएनटी में डॉक्टर. दस्तावेजों :
ent_str = एसटीआर ( ईएनटी )
अगर ent_str में खुद . इकाइयां, :
खुद . इकाइयां, [ ent_str ] + = एफ ' \एन {मूलपाठ}'
अन्य :
खुद . इकाइयां, [ ent_str ] = मूलपाठ

चरण 4: प्रॉम्प्ट टेम्पलेट कॉन्फ़िगर करना

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

से लैंगचैन. संकेतों . तत्पर आयात संकेत टेम्पलेट

खाका = '''निम्नलिखित एक मशीन और एक मानव के बीच की बातचीत है। यह कहता है कि उसे नहीं पता। यदि मशीन को उत्तर नहीं पता है तो मशीन (एआई) अपने संदर्भ से विवरण प्रदान करती है और यदि उसे किसी प्रश्न का उत्तर समझ में नहीं आता है। बस सॉरी कहता है

इकाई जानकारी:

{संस्थाएं}

संचार:

मानव: {इनपुट}

ऐ:'''


तत्पर = संकेत टेम्पलेट ( इनपुट_चर = [ 'इकाइयाँ' , 'इनपुट' ] , खाका = खाका )

चरण 5: मॉडल का परीक्षण

मॉडल का परीक्षण करने से पहले, बस OpenAI() विधि का उपयोग करके LLM को कॉन्फ़िगर करें और तर्कों के साथ ConversationChain() फ़ंक्शन सेट करें:

एलएलएम = ओपनएआई ( तापमान = 0 )

बातचीत = वार्तालाप शृंखला (

एलएलएम = एलएलएम , तत्पर = तत्पर , वाचाल = सत्य , याद = स्पेसएंटिटीमेमोरी ( )

)

वार्तालाप चर के साथ पूर्वानुमान() विधि को कॉल करते समय इनपुट तर्क का उपयोग करके मॉडल को जानकारी दें:

बातचीत। भविष्यवाणी करना ( इनपुट = 'हैरिसन को मशीन लर्निंग पसंद है' )

उत्पादन

मॉडल ने जानकारी को अवशोषित कर लिया है और इसे मेमोरी में संग्रहीत कर लिया है और बातचीत जारी रखने के लिए जानकारी से संबंधित प्रश्न भी प्रस्तुत किया है:

उपयोगकर्ता मेमोरी में अधिक जानकारी जोड़ने के लिए मॉडल से प्रश्न का उत्तर दे सकता है या जानकारी के बारे में प्रश्न पूछकर मेमोरी का परीक्षण कर सकता है:

बातचीत। भविष्यवाणी करना (

इनपुट = 'हैरिसन का पसंदीदा विषय क्या है'

)

मॉडल पिछली जानकारी के आधार पर आउटपुट देता है और इसे निम्न स्निपेट के अनुसार स्क्रीन पर प्रदर्शित करता है:

यह सब लैंगचेन में एक कस्टम मेमोरी प्रकार जोड़ने के बारे में है।

निष्कर्ष

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