पायथन में लैंगचेन एलएलएमसीचेन फ़ंक्शन का उपयोग कैसे करें

Payathana Mem Laingacena Ela Ela Emasicena Fanksana Ka Upayoga Kaise Karem



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

चेन केवल एक एलएलएम कॉल के लिए काम नहीं करती हैं; वे या तो एलएलएम या किसी अन्य उपयोगिता के लिए कॉल का संग्रह हैं। व्यापक रूप से उपयोग किए जाने वाले अनुप्रयोगों के लिए एंड-टू-एंड चेन एक मानक श्रृंखला एपीआई और कई टूल एकीकरण के साथ लैंगचेन द्वारा प्रदान की जाती हैं।

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







यह आलेख आपको पायथन में लैंगचेन एलएलएमचेन फ़ंक्शन के उपयोग को समझने में मदद करता है।



उदाहरण: लैंगचेन में एलएलएमचेन फ़क्शन का उपयोग कैसे करें

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



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





लैंगचेन लाइब्रेरी स्थापित करने के लिए, टर्मिनल पर निम्नलिखित कमांड चलाएँ:

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

निम्न आदेश के साथ OpenAI लाइब्रेरी स्थापित करें:



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

एक बार इंस्टॉलेशन पूरा हो जाने पर, हम मुख्य प्रोजेक्ट पर काम करना शुरू कर सकते हैं।

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

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

आयात आप

आप . लगभग [ 'OPENAI_API_KEY' ] = 'स्क-आपकी एपीआई कुंजी'

मुख्य परियोजना आवश्यक मॉड्यूल आयात करके शुरू होती है। इसलिए, हम सबसे पहले 'langchan.prompts' लाइब्रेरी से PromptTemplate आयात करते हैं। फिर, हम OpenAI को 'langchan.llms' लाइब्रेरी से आयात करते हैं। इसके बाद, हम पर्यावरण चर सेट करने के लिए 'ओएस' आयात करते हैं।

प्रारंभ में, हमने OpenAI API कुंजी को पर्यावरण चर के रूप में सेट किया है। पर्यावरण चर एक ऐसा चर है जिसमें एक नाम और एक मान होता है और यह हमारे ऑपरेटिंग सिस्टम पर सेट होता है। 'os.environ' एक ऑब्जेक्ट है जिसका उपयोग पर्यावरण चर को मैप करने के लिए किया जाता है। इसलिए, हम 'os.environ' कहते हैं। एपीआई कुंजी के लिए हमने जो नाम निर्धारित किया है वह OPENAI_API_KEY है। फिर हम एपीआई कुंजी को उसके मान के रूप में निर्दिष्ट करते हैं। एपीआई कुंजी प्रत्येक उपयोगकर्ता के लिए अद्वितीय है। इसलिए, जब आप इस कोड स्क्रिप्ट का अभ्यास कर रहे हों, तो अपनी गुप्त एपीआई कुंजी लिखें।

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

तत्पर = संकेत टेम्पलेट (

इनपुट_चर = [ 'उत्पाद' ] ,

खाका = 'उस ब्रांड का नाम क्या होगा जो {उत्पाद} बेचता है?' ,

)

अब जब कुंजी पर्यावरण चर के रूप में सेट हो गई है, तो हम एक रैपर प्रारंभ करते हैं। OpenAI GPT मॉडल के लिए तापमान सेट करें। तापमान एक विशेषता है जो हमें यह निर्धारित करने में मदद करती है कि प्रतिक्रिया कितनी अप्रत्याशित होगी। तापमान मान जितना अधिक होगा, प्रतिक्रियाएँ उतनी ही अधिक अनियमित होंगी। हमने यहां तापमान मान 0.9 निर्धारित किया है। इस प्रकार, हमें सबसे यादृच्छिक परिणाम मिलते हैं।

फिर, हम एक PromptTemplate क्लास आरंभ करते हैं। जब हम एलएलएम का उपयोग करते हैं, तो हम उपयोगकर्ता से लिए गए इनपुट से एक प्रॉम्प्ट उत्पन्न करते हैं और फिर इनपुट को सीधे एलएलएम में भेजने के बजाय इसे एलएलएम में भेज देते हैं, जिसके लिए हार्ड कोडिंग की आवश्यकता होती है (प्रॉम्प्ट एक इनपुट है जिसे हमने लिया है) उपयोगकर्ता और जिस पर परिभाषित एआई मॉडल को प्रतिक्रिया बनानी चाहिए)। तो, हम PromptTemplate आरंभ करते हैं। फिर, इसके घुंघराले ब्रेसिज़ के भीतर, हम इनपुट_वेरिएबल को 'उत्पाद' के रूप में परिभाषित करते हैं और टेम्पलेट टेक्स्ट है 'उस ब्रांड का नाम क्या होगा जो {उत्पाद} बेचता है?' उपयोगकर्ता इनपुट बताता है कि ब्रांड क्या करता है। फिर, यह इस जानकारी के आधार पर प्रॉम्प्ट को प्रारूपित करता है।

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

ज़ंजीर = एलएलएमचेन ( एलएलएम = एलएलएम , तत्पर = तत्पर )

अब जब हमारा PromptTemplate फ़ॉर्मेट हो गया है, तो अगला कदम LLMचेन बनाना है। सबसे पहले, एलएलएमचेन मॉड्यूल को 'langचेन.चेन' लाइब्रेरी से आयात करें। फिर, हम एलएलएमचेन() फ़ंक्शन को कॉल करके एक श्रृंखला बनाते हैं जो उपयोगकर्ता इनपुट लेता है और इसके साथ प्रॉम्प्ट को प्रारूपित करता है। अंत में, यह एलएलएम को प्रतिक्रिया भेजता है। तो, यह PromptTemplate और LLM को जोड़ता है।

छपाई ( ज़ंजीर। दौड़ना ( 'कला की आपूर्ति' ) )

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

एआई मॉडल संकेत को पढ़ता है और उसके आधार पर प्रतिक्रिया देता है।

चूंकि हमने कला आपूर्ति बेचने वाले ब्रांड का नाम पूछा था, एआई मॉडल द्वारा अनुमानित नाम निम्नलिखित स्नैपशॉट में देखा जा सकता है:

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

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

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

आयात आप

आप . लगभग [ 'OPENAI_API_KEY' ] = 'sk- आपकी-एपीआई-कुंजी'

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

प्रॉम्प्ट = प्रॉम्प्टटेम्पलेट(

इनपुट_वेरिएबल्स=['
ब्रैंड ', ' उत्पाद '],

टेम्पलेट=''
का नाम क्या होगा { ब्रैंड } जो बिकता है { उत्पाद } ? ',

)

langchain.चेन से LLMChain आयात करें

श्रृंखला = LLMChain(llm=llm, प्रॉम्प्ट=प्रॉम्प्ट)

प्रिंट(चेन.रन({

'ब्रैंड': '
कला की आपूर्ति ',

'उत्पाद': '
रंग की '

}))

कोड पिछले उदाहरण के समान ही है, सिवाय इसके कि हमें प्रॉम्प्ट टेम्पलेट क्लास में दो वेरिएबल पास करने होंगे। तो, इनपुट_वेरिएबल्स का एक शब्दकोश बनाएं। लंबे कोष्ठक एक शब्दकोश का प्रतिनिधित्व करते हैं। यहां, हमारे पास दो चर हैं - 'ब्रांड' और 'उत्पाद' - जो अल्पविराम से अलग किए गए हैं। अब, जो टेम्प्लेट टेक्स्ट हम प्रदान करते हैं वह है '{उत्पाद} बेचने वाले {ब्रांड} का नाम क्या होगा?' इस प्रकार, एआई मॉडल एक ऐसे नाम की भविष्यवाणी करता है जो इन दो इनपुट चर पर केंद्रित है।

फिर, हम एक एलएलएमचेन बनाते हैं जो एलएलएम को प्रतिक्रिया भेजने के संकेत के साथ उपयोगकर्ता इनपुट को प्रारूपित करता है। इस श्रृंखला को चलाने के लिए, हम चेन.रन() विधि का उपयोग करते हैं और उपयोगकर्ता इनपुट के साथ वेरिएबल्स के शब्दकोश को 'ब्रांड' के रूप में पास करते हैं: 'कला आपूर्ति' और 'उत्पाद' को 'रंग' के रूप में पास करते हैं। फिर, हम प्राप्त प्रतिक्रिया को प्रदर्शित करने के लिए इस विधि को पायथन प्रिंट() फ़ंक्शन में पास करते हैं।

आउटपुट छवि अनुमानित परिणाम दिखाती है:

निष्कर्ष

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