Skip to content

Latest commit

 

History

History
168 lines (103 loc) · 25.7 KB

File metadata and controls

168 lines (103 loc) · 25.7 KB

सर्च एप्लिकेशन बनाना

जेनरेटिव AI और बड़े भाषा मॉडल्स का परिचय

ऊपर दी गई छवि पर क्लिक करें और इस पाठ का वीडियो देखें

LLMs केवल चैटबॉट्स और टेक्स्ट जनरेशन तक सीमित नहीं हैं। एम्बेडिंग्स का उपयोग करके सर्च एप्लिकेशन बनाना भी संभव है। एम्बेडिंग्स डेटा के संख्यात्मक प्रतिनिधित्व होते हैं, जिन्हें वेक्टर भी कहा जाता है, और इन्हें डेटा के लिए सेमांटिक सर्च में उपयोग किया जा सकता है।

इस पाठ में, आप हमारे शिक्षा स्टार्टअप के लिए एक सर्च एप्लिकेशन बनाएंगे। हमारा स्टार्टअप एक गैर-लाभकारी संगठन है जो विकासशील देशों के छात्रों को मुफ्त शिक्षा प्रदान करता है। हमारे स्टार्टअप के पास बड़ी संख्या में YouTube वीडियो हैं, जिनका उपयोग छात्र AI के बारे में सीखने के लिए कर सकते हैं। हमारा स्टार्टअप एक सर्च एप्लिकेशन बनाना चाहता है जो छात्रों को एक प्रश्न टाइप करके YouTube वीडियो खोजने की अनुमति देता है।

उदाहरण के लिए, एक छात्र 'जुपिटर नोटबुक्स क्या हैं?' या 'Azure ML क्या है?' टाइप कर सकता है और सर्च एप्लिकेशन उस प्रश्न से संबंधित YouTube वीडियो की सूची लौटाएगा। और इससे भी बेहतर, सर्च एप्लिकेशन वीडियो में उस स्थान का लिंक लौटाएगा जहां प्रश्न का उत्तर दिया गया है।

परिचय

इस पाठ में, हम निम्नलिखित विषयों को कवर करेंगे:

  • सेमांटिक बनाम कीवर्ड सर्च।
  • टेक्स्ट एम्बेडिंग्स क्या हैं।
  • टेक्स्ट एम्बेडिंग्स इंडेक्स बनाना।
  • टेक्स्ट एम्बेडिंग्स इंडेक्स में सर्च करना।

सीखने के लक्ष्य

इस पाठ को पूरा करने के बाद, आप निम्नलिखित करने में सक्षम होंगे:

  • सेमांटिक और कीवर्ड सर्च के बीच का अंतर बताएं।
  • टेक्स्ट एम्बेडिंग्स क्या हैं, समझाएं।
  • डेटा सर्च करने के लिए एम्बेडिंग्स का उपयोग करके एक एप्लिकेशन बनाएं।

सर्च एप्लिकेशन क्यों बनाएं?

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

इस पाठ में Microsoft AI शो YouTube चैनल के YouTube ट्रांसक्रिप्ट्स का एक एम्बेडिंग इंडेक्स शामिल है। AI शो एक YouTube चैनल है जो आपको AI और मशीन लर्निंग के बारे में सिखाता है। एम्बेडिंग इंडेक्स में अक्टूबर 2023 तक के सभी YouTube ट्रांसक्रिप्ट्स के एम्बेडिंग्स शामिल हैं। आप हमारे स्टार्टअप के लिए सर्च एप्लिकेशन बनाने के लिए एम्बेडिंग इंडेक्स का उपयोग करेंगे। सर्च एप्लिकेशन वीडियो में उस स्थान का लिंक लौटाएगा जहां प्रश्न का उत्तर दिया गया है। यह छात्रों के लिए जल्दी से जानकारी खोजने का एक शानदार तरीका है।

नीचे 'क्या आप Azure ML के साथ rstudio का उपयोग कर सकते हैं?' प्रश्न के लिए एक सेमांटिक क्वेरी का उदाहरण दिया गया है। YouTube URL देखें, आप देखेंगे कि URL में एक टाइमस्टैम्प है जो आपको वीडियो में उस स्थान पर ले जाता है जहां प्रश्न का उत्तर दिया गया है।

प्रश्न "क्या आप Azure ML के साथ rstudio का उपयोग कर सकते हैं?" के लिए सेमांटिक क्वेरी

सेमांटिक सर्च क्या है?

अब आप सोच रहे होंगे, सेमांटिक सर्च क्या है? सेमांटिक सर्च एक सर्च तकनीक है जो क्वेरी में शब्दों के अर्थ का उपयोग करके प्रासंगिक परिणाम लौटाती है।

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

टेक्स्ट एम्बेडिंग्स क्या हैं?

टेक्स्ट एम्बेडिंग्स एक टेक्स्ट प्रतिनिधित्व तकनीक है जो प्राकृतिक भाषा प्रसंस्करण में उपयोग की जाती है। टेक्स्ट एम्बेडिंग्स टेक्स्ट के सेमांटिक संख्यात्मक प्रतिनिधित्व हैं। एम्बेडिंग्स का उपयोग डेटा को इस तरह से प्रस्तुत करने के लिए किया जाता है जो मशीन के लिए समझने में आसान हो। टेक्स्ट एम्बेडिंग्स बनाने के लिए कई मॉडल हैं, इस पाठ में, हम OpenAI एम्बेडिंग मॉडल का उपयोग करके एम्बेडिंग्स उत्पन्न करने पर ध्यान केंद्रित करेंगे।

यहां एक उदाहरण है, मान लें कि निम्नलिखित टेक्स्ट AI शो YouTube चैनल के एक एपिसोड के ट्रांसक्रिप्ट में है:

Today we are going to learn about Azure Machine Learning.

हम इस टेक्स्ट को OpenAI एम्बेडिंग API को पास करेंगे और यह 1536 संख्याओं का निम्नलिखित एम्बेडिंग लौटाएगा जिसे वेक्टर कहा जाता है। वेक्टर में प्रत्येक संख्या टेक्स्ट के विभिन्न पहलुओं का प्रतिनिधित्व करती है। संक्षेप में, यहां वेक्टर में पहले 10 संख्याएं दी गई हैं।

[-0.006655829958617687, 0.0026128944009542465, 0.008792596869170666, -0.02446001023054123, -0.008540431968867779, 0.022071078419685364, -0.010703742504119873, 0.003311325330287218, -0.011632772162556648, -0.02187200076878071, ...]

एम्बेडिंग इंडेक्स कैसे बनाया जाता है?

इस पाठ के लिए एम्बेडिंग इंडेक्स Python स्क्रिप्ट्स की एक श्रृंखला के साथ बनाया गया था। आपको इस पाठ के 'scripts' फ़ोल्डर में README में स्क्रिप्ट्स और निर्देश मिलेंगे। इस पाठ को पूरा करने के लिए आपको इन स्क्रिप्ट्स को चलाने की आवश्यकता नहीं है क्योंकि एम्बेडिंग इंडेक्स पहले से ही प्रदान किया गया है।

स्क्रिप्ट्स निम्नलिखित कार्य करती हैं:

  1. AI शो प्लेलिस्ट में प्रत्येक YouTube वीडियो के ट्रांसक्रिप्ट को डाउनलोड किया जाता है।
  2. OpenAI Functions का उपयोग करके, YouTube ट्रांसक्रिप्ट के पहले 3 मिनट से स्पीकर का नाम निकालने का प्रयास किया जाता है। प्रत्येक वीडियो के लिए स्पीकर का नाम एम्बेडिंग इंडेक्स embedding_index_3m.json में संग्रहीत किया जाता है।
  3. ट्रांसक्रिप्ट टेक्स्ट को 3 मिनट के टेक्स्ट सेगमेंट्स में विभाजित किया जाता है। प्रत्येक सेगमेंट में अगले सेगमेंट से लगभग 20 शब्द ओवरलैप होते हैं ताकि सेगमेंट के एम्बेडिंग को काटा न जाए और बेहतर सर्च संदर्भ प्रदान किया जा सके।
  4. प्रत्येक टेक्स्ट सेगमेंट को OpenAI चैट API को पास किया जाता है ताकि टेक्स्ट को 60 शब्दों में संक्षेपित किया जा सके। यह सारांश भी एम्बेडिंग इंडेक्स embedding_index_3m.json में संग्रहीत किया जाता है।
  5. अंत में, सेगमेंट टेक्स्ट को OpenAI एम्बेडिंग API को पास किया जाता है। एम्बेडिंग API 1536 संख्याओं का एक वेक्टर लौटाता है जो सेगमेंट के सेमांटिक अर्थ का प्रतिनिधित्व करता है। सेगमेंट के साथ OpenAI एम्बेडिंग वेक्टर को एम्बेडिंग इंडेक्स embedding_index_3m.json में संग्रहीत किया जाता है।

वेक्टर डेटाबेस

पाठ की सादगी के लिए, एम्बेडिंग इंडेक्स को embedding_index_3m.json नामक JSON फ़ाइल में संग्रहीत किया गया है और Pandas DataFrame में लोड किया गया है। हालांकि, उत्पादन में, एम्बेडिंग इंडेक्स को Azure Cognitive Search, Redis, Pinecone, Weaviate जैसे वेक्टर डेटाबेस में संग्रहीत किया जाएगा।

कोसाइन समानता को समझना

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

कोसाइन समानता क्या है?

कोसाइन समानता दो वेक्टरों के बीच समानता का एक माप है, इसे अक्सर नजदीकी पड़ोसी सर्च भी कहा जाता है। कोसाइन समानता सर्च करने के लिए आपको OpenAI एम्बेडिंग API का उपयोग करके क्वेरी टेक्स्ट के लिए वेक्टराइज़ करना होगा। फिर क्वेरी वेक्टर और एम्बेडिंग इंडेक्स में प्रत्येक वेक्टर के बीच कोसाइन समानता की गणना करें। याद रखें, एम्बेडिंग इंडेक्स में प्रत्येक YouTube ट्रांसक्रिप्ट टेक्स्ट सेगमेंट के लिए एक वेक्टर होता है। अंत में, कोसाइन समानता के आधार पर परिणामों को क्रमबद्ध करें और सबसे अधिक कोसाइन समानता वाले टेक्स्ट सेगमेंट्स क्वेरी के लिए सबसे समान होंगे।

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

अपना पहला सर्च एप्लिकेशन बनाना

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

यह समाधान Windows 11, macOS, और Ubuntu 22.04 पर Python 3.10 या बाद के संस्करण का उपयोग करके बनाया और परीक्षण किया गया था। आप python.org से Python डाउनलोड कर सकते हैं।

असाइनमेंट - सर्च एप्लिकेशन बनाना, छात्रों को सक्षम करना

हमने इस पाठ की शुरुआत में अपने स्टार्टअप का परिचय दिया। अब समय है कि छात्रों को उनके मूल्यांकन के लिए सर्च एप्लिकेशन बनाने में सक्षम किया जाए।

इस असाइनमेंट में, आप Azure OpenAI Services बनाएंगे जो सर्च एप्लिकेशन बनाने के लिए उपयोग किए जाएंगे। आप निम्नलिखित Azure OpenAI Services बनाएंगे। इस असाइनमेंट को पूरा करने के लिए आपको Azure सब्सक्रिप्शन की आवश्यकता होगी।

Azure Cloud Shell शुरू करें

  1. Azure पोर्टल में साइन इन करें।
  2. Azure पोर्टल के ऊपरी-दाएं कोने में Cloud Shell आइकन चुनें।
  3. Bash को पर्यावरण प्रकार के रूप में चुनें।

एक रिसोर्स ग्रुप बनाएं

इन निर्देशों के लिए, हम East US में "semantic-video-search" नामक रिसोर्स ग्रुप का उपयोग कर रहे हैं। आप रिसोर्स ग्रुप का नाम बदल सकते हैं, लेकिन संसाधनों के स्थान को बदलते समय, मॉडल उपलब्धता तालिका की जांच करें।

az group create --name semantic-video-search --location eastus

Azure OpenAI Service रिसोर्स बनाएं

Azure Cloud Shell से, Azure OpenAI Service रिसोर्स बनाने के लिए निम्नलिखित कमांड चलाएं।

az cognitiveservices account create --name semantic-video-openai --resource-group semantic-video-search \
    --location eastus --kind OpenAI --sku s0

इस एप्लिकेशन में उपयोग के लिए एंडपॉइंट और कीज प्राप्त करें

Azure Cloud Shell से, Azure OpenAI Service रिसोर्स के लिए एंडपॉइंट और कीज प्राप्त करने के लिए निम्नलिखित कमांड चलाएं।

az cognitiveservices account show --name semantic-video-openai \
   --resource-group  semantic-video-search | jq -r .properties.endpoint
az cognitiveservices account keys list --name semantic-video-openai \
   --resource-group semantic-video-search | jq -r .key1

OpenAI एम्बेडिंग मॉडल को डिप्लॉय करें

Azure Cloud Shell से, OpenAI एम्बेडिंग मॉडल को डिप्लॉय करने के लिए निम्नलिखित कमांड चलाएं।

az cognitiveservices account deployment create \
    --name semantic-video-openai \
    --resource-group  semantic-video-search \
    --deployment-name text-embedding-ada-002 \
    --model-name text-embedding-ada-002 \
    --model-version "2"  \
    --model-format OpenAI \
    --sku-capacity 100 --sku-name "Standard"

समाधान

GitHub Codespaces में solution notebook खोलें और Jupyter Notebook में दिए गए निर्देशों का पालन करें।

जब आप नोटबुक चलाएंगे, तो आपको एक क्वेरी दर्ज करने के लिए कहा जाएगा। इनपुट बॉक्स इस तरह दिखेगा:

उपयोगकर्ता के लिए क्वेरी दर्ज करने का इनपुट बॉक्स

शानदार काम! अपनी सीख जारी रखें

इस पाठ को पूरा करने के बाद, हमारे जेनरेटिव AI लर्निंग संग्रह को देखें और जेनरेटिव AI के अपने ज्ञान को और बढ़ाएं!

पाठ 9 पर जाएं जहां हम देखेंगे कि इमेज जनरेशन एप्लिकेशन कैसे बनाएं!


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