सुनिये सब लोग! मैं नटराज हूं , और आपकी तरह, मैं कृत्रिम बुद्धिमत्ता की हालिया प्रगति से रोमांचित हूं। यह महसूस करते हुए कि मुझे हो रहे सभी विकासों से अवगत रहने की आवश्यकता है, मैंने सीखने की व्यक्तिगत यात्रा शुरू करने का फैसला किया, और इस प्रकार 100 दिनों के एआई का जन्म हुआ! इस श्रृंखला के साथ, मैं एलएलएम के बारे में सीखूंगा और अपने ब्लॉग पोस्ट के माध्यम से विचार, प्रयोग, राय, रुझान और सीख साझा करूंगा। आप यहां HackerNoon या मेरी निजी वेबसाइट पर यात्रा का अनुसरण कर सकते हैं । आज के लेख में, हम GPT-4 की सहायता से एक सिमेंटिक कर्नेल बनाने पर विचार करेंगे।
यदि आप एआई श्रृंखला के 100 दिन पढ़ रहे हैं तो मैं एक सामान्य विषय लिख रहा हूं जिस पर आप ध्यान देंगे कि अधिकांश पोस्ट में किसी न किसी प्रकार का प्रयोग या डेमो होता है। पोस्ट के अंत में मैं उन विचारों को भी सूचीबद्ध करता हूं जो मेरे द्वारा खोजी गई तकनीकों से संभव हैं। तो स्पष्ट अगला प्रश्न यह है कि क्या इन प्रयोगों को आसानी से डेमो-सक्षम उत्पादों में लपेटने और उन्हें लोगों के साथ साझा करने और प्रतिक्रिया प्राप्त करने का कोई तरीका है?
इस पोस्ट में हम यह पता लगाएंगे कि एआई प्रयोग को आसानी से डेमो में कैसे बदला जा सकता है और फीडबैक प्राप्त किया जा सकता है।
मान लीजिए कि आप एक एआई ऐप बनाना चाहते हैं जो टेक्स्ट लेता है और सारांश देता है। और आप इसे लोगों के साथ साझा करना चाहते हैं और प्रतिक्रिया प्राप्त करना चाहते हैं। यदि आपको इस ऐप के लिए एक वेब ऐप बनाना है, तो आपको यूआई को कोड करना होगा, सुनिश्चित करें कि आपको एक होस्टिंग समाधान मिल जाए और यह पता लगाएं कि संपूर्ण स्टैक क्या होने वाला है। बेशक, वेबएप स्टैक शुरू हो गए हैं जो इसे और अधिक तेजी से करने की अनुमति देंगे लेकिन आपको अपने उपयोग के मामले में उस जटिलता की आवश्यकता नहीं है। इसके बजाय हम ग्रैडियो का उपयोग करेंगे जो इस ऐप के लिए कोई कोड लिखे बिना एक वेब ऐप जैसा इंटरफ़ेस बनाता है।
ग्रैडियो एक पायथन लाइब्रेरी है जो आपको आसानी से अपने एआई ऐप्स का डेमो बनाने और इसे वेब ऐप के रूप में दर्शकों के साथ साझा करने की अनुमति देती है।
यह समझने के लिए कि ग्रेडियो के साथ जेन एआई प्रयोग को आसानी से कैसे प्रदर्शित किया जाए, हम एक सारांश वेब ऐप बनाएंगे जहां आप ऐप को एक लंबा टेक्स्ट दे सकते हैं और ऐप उस लंबे टेक्स्ट का सारांश आउटपुट करेगा।
ग्रैडियो के साथ, हम हगिंग फेस ऐप का उपयोग करेंगे, इसलिए सुनिश्चित करें कि आप अपना हगिंग फेस एपीआई कुंजी अपने पास रखें। आरंभ करने के लिए आइए .env फ़ाइल से एपीआई कुंजी लोड करें और आवश्यक पायथन मॉड्यूल जोड़ें।
import os import io from IPython.display import Image, display, HTML #from PIL import Image import base64 import openai env_path = '../.env' from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv(env_path)) # read local .env file hf_api_key = os.environ['HF_API_KEY']
हम जो हासिल करना चाहते हैं उसका मुख्य तर्क एक मॉडल को एक लंबा टेक्स्ट भेजना और टेक्स्ट का सारांश प्राप्त करना है। हम एक फ़ंक्शन को परिभाषित करेंगे जो इनपुट के रूप में लंबे टेक्स्ट को लेता है और डिस्टिलबार्ट नामक गले लगाने वाले चेहरे पर एक मॉडल को कॉल करता है। ऐसा करने का कार्य यहां दिया गया है।
def get_completion(inputs, parameters=None, ENDPOINT_URL=os.environ['HF_API_SUMMARY_BASE']): headers = { "Authorization": f"Bearer {hf_api_key}", "Content-Type": "application/json" } data = { "inputs": inputs } if parameters is not None: data.update({"parameters": parameters}) response = requests.request("POST", ENDPOINT_URL, headers=headers, data=json.dumps(data) ) return json.loads(response.content.decode("utf-8"))
ग्रैडियो के साथ बातचीत करने का मुख्य तरीका इंटरफ़ेस फ़ंक्शन के माध्यम से है। हमें एक फ़ंक्शन और उसके संबंधित इनपुट और आउटपुट को पास करने की आवश्यकता है। ध्यान दें कि हमने इस उद्देश्य के लिए सारांश नामक एक नया फ़ंक्शन परिभाषित किया है। यह फ़ंक्शन एक इनपुट लेता है, जो लंबा टेक्स्ट होगा जिसे संक्षेप में प्रस्तुत किया जाना है और फ़ंक्शन इनपुट टेक्स्ट का सारांश प्राप्त करने के लिए चरण 2 से get_completion फ़ंक्शन को कॉल करेगा और उसे आउटपुट के रूप में लौटाएगा। अंतिम पंक्ति में हम ग्रेडियो से इस ऐप का डेमो लॉन्च करने के लिए कह रहे हैं। शेयर=ट्रू प्रदान करके हम ग्रेडियो को एक सार्वजनिक लिंक बनाने के लिए कह रहे हैं जिसे दूसरों के साथ साझा किया जा सकता है और सर्वर_पोर्ट भी दे रहे हैं जिस पर स्थानीय वेबहोस्ट चलना चाहिए। नीचे दिए गए कोड में हम इनपुट और आउटपुट फ़ील्ड के शीर्षक, विवरण और लेबल को भी कस्टमाइज़ करते हैं जिन्हें आप आउटपुट में देखेंगे।
import gradio as gr def summarize(input): output = get_completion(input) return output[0]['summary_text'] gr.close_all() demo = gr.Interface(fn=summarize, inputs=[gr.Textbox(label="Text to summarize", lines=6)], outputs=[gr.Textbox(label="Result", lines=3)], title="Text summarization with distilbart-cnn", description="Summarize any text using the `shleifer/distilbart-cnn-12-6` model under the hood!" ) demo.launch(share=True, server_port=int(os.environ['PORT1']))
एक बार जब आप इसे चला लेते हैं, तो आपके ब्राउज़र में http://127.0.0.1:<आपका पोर्ट नंबर> पर आउटपुट इस तरह दिखता है।
ग्रैडियो के साथ किसी प्रोजेक्ट का डेमो करना बहुत आसान है। यहाँ ख़ूबसूरती यह है कि एक डेवलपर के रूप में आपको यूआई स्टैक के साथ आने और उस स्टैक को सीखने और उसे उत्पादन में ले जाने की जटिलता से गुज़रने की ज़रूरत नहीं है। ग्रैडियो यह आपके लिए करता है।
ग्रैडियो विभिन्न इनपुट और आउटपुट प्रकार प्रदान करता है जिसका उपयोग करके आप अधिक जटिल और दिलचस्प डेमो बना सकते हैं जिन्हें आसानी से साझा किया जा सकता है। हम आने वाली पोस्ट में ग्रैडियो और अन्य टूल के साथ और अधिक डेमो का पता लगाएंगे।
एआई के 100 दिनों के 12वें दिन के लिए बस इतना ही।
मैं एबव एवरेज नाम से एक समाचार पत्र लिखता हूं जहां मैं बड़ी तकनीक में होने वाली हर चीज के पीछे दूसरे क्रम की अंतर्दृष्टि के बारे में बात करता हूं। यदि आप टेक में हैं और औसत नहीं बनना चाहते हैं, तो इसकी सदस्यता लें ।
एआई के 100 दिनों पर नवीनतम अपडेट के लिए मुझे ट्विटर , लिंक्डइन या हैकरनून पर फॉलो करें। यदि आप तकनीक में हैं तो आपको यहां तकनीकी पेशेवरों के मेरे समुदाय में शामिल होने में रुचि हो सकती है।