paint-brush
एआई के 100 दिन, दिन 8: जीपीटी-4 का उपयोग करके माइक्रोसॉफ्ट के सिमेंटिक कर्नेल के साथ प्रयोगद्वारा@sindamnataraj
880 रीडिंग
880 रीडिंग

एआई के 100 दिन, दिन 8: जीपीटी-4 का उपयोग करके माइक्रोसॉफ्ट के सिमेंटिक कर्नेल के साथ प्रयोग

द्वारा Nataraj6m2024/01/31
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

सिमेंटिक कर्नेल माइक्रोसॉफ्ट का एक खुला स्रोत एसडीके है जो डेवलपर्स को चैटबॉट, आरएजी, कोपायलट और एजेंटों सहित एआई एप्लिकेशन बनाने में मदद करता है।
featured image - एआई के 100 दिन, दिन 8: जीपीटी-4 का उपयोग करके माइक्रोसॉफ्ट के सिमेंटिक कर्नेल के साथ प्रयोग
Nataraj HackerNoon profile picture
0-item
1-item


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


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


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

सिमेंटिक कर्नेल


यद्यपि स्थान बहुत तेजी से विकसित हो रहा है, यहाँ कुछ परिभाषाएँ हैं जिन्हें हम सिमेंटिक कर्नेल का अन्वेषण करते समय ध्यान में रखना चाहते हैं।

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

सिमेंटिक कर्नेल कैसे काम करता है?

यह समझाने के लिए कि सिमेंटिक कर्नेल कैसे काम करता है, आइए टेक्स्ट का एक टुकड़ा लेने और उसे 140 अक्षरों के ट्वीट में बदलने का एक उदाहरण लें। लेकिन हम सिमेंटिक कर्नेल का उपयोग करके ऐसा करेंगे। हमने यहां पिछली पोस्टों में इसी तरह का सारांश दिया है


मैं सिमेंटिक कर्नेल की पायथन लाइब्रेरी का उपयोग करूंगा, लेकिन चूंकि सिमेंटिक कर्नेल माइक्रोसॉफ्ट द्वारा बनाया गया है, आप इसे C# में भी कर सकते हैं। ऐसा करने के तरीके के बारे में Microsoft से सार्वजनिक दस्तावेज़ देखें।

चरण 1: सिमेंटिक कर्नेल आरंभ करें

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

 import semantic_kernel as sk from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, OpenAIChatCompletion import os from IPython.display import display, Markdown import asyncio from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) # read local .env file api_key = os.environ['OPENAI_API_KEY'] kernel = sk.Kernel() kernel.add_text_completion_service("openai", OpenAIChatCompletion("gpt-4",api_key)) print("Kernel Initiated")

चरण 2: सिमेंटिक फ़ंक्शन को समझना:

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


मूल और अर्थ संबंधी कार्य


चरण 3: एक सिमेंटिक फ़ंक्शन बनाएं

यहां हम एक प्रॉम्प्ट sk_prompt बनाते हैं जो 140 अक्षरों से कम में कनेक्ट को सारांशित करता है (इस अभ्यास के साथ यही हमारा लक्ष्य है)। फिर हम कर्नेल और स्टोर के साथ एक सिमेंटिक फ़ंक्शन बनाने के लिए इनपुट के रूप में प्रॉम्प्ट पास करते हैं जो हमें बदले में ऑब्जेक्ट सारांश_फ़ंक्शन देता है जो हमारे द्वारा बनाए गए सिमेंटिक फ़ंक्शन का प्रतिनिधित्व करता है और जिसे कर्नेल के माध्यम से बार-बार एक्सेस किया जा सकता है। ध्यान दें कि जब हमने एक सिमेंटिक फ़ंक्शन बनाया है तो हम एक ग्राहक प्रॉम्प्ट का उपयोग कर रहे हैं और एलएलएम कॉन्फ़िगरेशन जानकारी जैसे कि max_tokens, तापमान इत्यादि भी दे रहे हैं, अब मूल बनाम सिमेंटिक फ़ंक्शंस की पिछली छवि पर वापस जाएं और यह अधिक समझ में आएगा।


 sk_prompt = """ {{$input}} Summarize the content above in less than 140 characters. """ summary_function = kernel.create_semantic_function(prompt_template = sk_prompt, description="Summarizes the input to length of an old tweet.", max_tokens=200, temperature=0.1, top_p=0.5) print("A semantic function for summarization has been registered.")

चरण 4: पाठ को 140 अक्षरों के ट्वीट में सारांशित करने के लिए सिमेंटिक फ़ंक्शन का उपयोग करना

अब हम वह टेक्स्ट बनाते हैं जिसे हम वेरिएबल sk_input का उपयोग करके सारांशित करना चाहते हैं और कर्नेल के माध्यम से सिमेटिक फ़ंक्शन को कॉल करते हैं और फिर परिणाम प्रदर्शित करते हैं।

 sk_input = """ Let me illustrate an example. Many weekends, I drive a few minutes from my house to a local pizza store to buy a slice of Hawaiian pizza from the gentleman that owns this pizza store. And his pizza is great, but he always has a lot of cold pizzas sitting around, and every weekend some different flavor of pizza is out of stock. But when I watch him operate his store, I get excited, because by selling pizza, he is generating data. And this is data that he can take advantage of if he had access to AI. AI systems are good at spotting patterns when given access to the right data, and perhaps an AI system could spot if Mediterranean pizzas sell really well on a Friday night, maybe it could suggest to him to make more of it on a Friday afternoon. Now you might say to me, "Hey, Andrew, this is a small pizza store. What's the big deal?" And I say, to the gentleman that owns this pizza store, something that could help him improve his revenues by a few thousand dollars a year, that will be a huge deal to him. """ # using async to run the semantic function async def run_summary_async(): summary_result = await kernel.run_async(summary_function, input_str=sk_input) display(summary_result) asyncio.run(run_summary_async())


यह वह आउटपुट है जो मुझे मिला:


एआई एक छोटे पिज्जा स्टोर के मालिक को अपने स्टॉक को अनुकूलित करने में मदद करने के लिए बिक्री डेटा का विश्लेषण कर सकता है, जिससे संभावित रूप से उसका वार्षिक राजस्व बढ़ सकता है।


सिमेंटिक कर्नेल में सिमेंटिक फ़ंक्शंस और नेटिव फ़ंक्शंस को एक साथ उपयोग करने जैसी अधिक क्षमताएं हैं और इसे एआई एप्लिकेशन बनाने के लिए डिज़ाइन किया गया है जो शक्तिशाली हैं। मैं भविष्य की पोस्टों में उनके बारे में और अधिक लिखूंगा।


एआई के 100 दिनों के 8वें दिन के लिए बस इतना ही।


मैं एबव एवरेज नाम से एक समाचार पत्र लिखता हूं जहां मैं बड़ी तकनीक में होने वाली हर चीज के पीछे दूसरे क्रम की अंतर्दृष्टि के बारे में बात करता हूं। यदि आप टेक में हैं और औसत नहीं बनना चाहते हैं, तो इसकी सदस्यता लें


एआई के 100 दिनों पर नवीनतम अपडेट के लिए मुझे ट्विटर , लिंक्डइन या ** हैकरनून ** पर फॉलो करें। यदि आप तकनीक में हैं तो आपको यहां तकनीकी पेशेवरों के मेरे समुदाय में शामिल होने में रुचि हो सकती है।


पिछला दिन 7: लैंगचैन का उपयोग करके अपने डेटा के लिए चैट-जीपीटी कैसे बनाएं?