RAG एप्लीकेशंस के लिए टेक्स्ट स्प्लिटिंग तकनीकें और कोडिंग

Convert to note

परिचय

  • वीडियो में RAG (Retrieval-Augmented Generation) आधारित एप्लीकेशंस के लिए टेक्स्ट स्प्लिटिंग के महत्व को समझाया गया है।
  • पिछले वीडियो में डॉक्यूमेंट लोडर्स पर चर्चा हुई थी , अब टेक्स्ट स्प्लिटिंग के विभिन्न तरीकों को सीखेंगे।

टेक्स्ट स्प्लिटिंग क्या है?

  • बड़े टेक्स्ट या PDF को छोटे-छोटे चंक्स में विभाजित करने की प्रक्रिया।
  • LLM (Large Language Models) की इनपुट लिमिटेशन को ध्यान में रखते हुए टेक्स्ट को छोटे हिस्सों में बांटना जरूरी होता है।
  • इससे मॉडल की आउटपुट क्वालिटी बेहतर होती है।

टेक्स्ट स्प्लिटिंग के कारण

  1. मॉडल की Context Length लिमिटेशन:
    • LLMs की एक इनपुट साइज लिमिट होती है, जैसे 50,000 टोकन्स।
    • बड़े डॉक्यूमेंट को सीधे इनपुट में देना संभव नहीं होता।
  2. बेहतर डाउनस्ट्रीम टास्क परफॉर्मेंस:
    • एंबेडिंग, सिमटिक सर्च, समरी जैसे टास्क में छोटे चंक्स बेहतर रिजल्ट देते हैं।
  3. कंप्यूटेशनल रिसोर्स ऑप्टिमाइजेशन:
    • छोटे चंक्स प्रोसेस करने से मेमोरी कम लगती है और पैरेलल प्रोसेसिंग संभव होती है।

टेक्स्ट स्प्लिटिंग की प्रमुख तकनीकें

1. लेंथ बेस्ड टेक्स्ट स्प्लिटिंग

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

2. टेक्स्ट स्ट्रक्चर बेस्ड टेक्स्ट स्प्लिटिंग (Recursive Character Text Splitter)

  • टेक्स्ट के संरचनात्मक लेवल (पैराग्राफ, सेंटेंस, वर्ड, कैरेक्टर) के आधार पर स्प्लिटिंग।
  • पैराग्राफ से शुरू कर छोटे यूनिट्स में ब्रेक करता है।
  • कंटेक्स्ट को बेहतर बनाए रखता है।
  • Markdown, कोड, HTML जैसे विशेष डॉक्यूमेंट के लिए भी उपयुक्त।
  • LangChain में RecursiveCharacterTextSplitter क्लास का उपयोग

3. डॉक्यूमेंट बेस्ड टेक्स्ट स्प्लिटिंग

  • कोड, मार्कडाउन, HTML जैसे संरचित डॉक्यूमेंट के लिए विशेष सेपरेटर का उपयोग।
  • डॉक्यूमेंट के कंस्ट्रक्ट्स (जैसे क्लास, फंक्शन) के आधार पर स्प्लिटिंग।
  • LangChain में भाषा विशेष पैरामीटर के साथ RecursiveCharacterTextSplitter का उपयोग।

4. सिमटिक मीनिंग बेस्ड टेक्स्ट स्प्लिटिंग (Experimental)

  • टेक्स्ट के अर्थ और विषय के आधार पर स्प्लिटिंग।
  • एंबेडिंग मॉडल से सेंटेंस के वेक्टर बनाकर सिमिलैरिटी मापना।
  • सिमिलैरिटी में अचानक गिरावट पर स्प्लिटिंग पॉइंट निर्धारित करना।
  • अभी प्रयोगात्मक स्तर पर, भविष्य में अधिक उपयोगी।

LangChain में टेक्स्ट स्प्लिटिंग का कोड उदाहरण

  • CharacterTextSplitter और RecursiveCharacterTextSplitter क्लासेस का उपयोग।
  • PDF डॉक्यूमेंट लोड करके टेक्स्ट स्प्लिटिंग करना।
  • चंक साइज और चंक ओवरलैप पैरामीटर सेट करना।
  • Markdown और कोड फाइल्स के लिए विशेष स्प्लिटिंग।
  • सिमटिक मीनिंग बेस्ड स्प्लिटिंग के लिए OpenAI एंबेडिंग मॉडल का उपयोग।

निष्कर्ष

  • टेक्स्ट स्प्लिटिंग RAG एप्लीकेशंस में आवश्यक है ताकि LLM की लिमिटेशन को पार किया जा सके।
  • Recursive Character Text Splitter सबसे प्रभावी और व्यापक रूप से उपयोग किया जाने वाला तरीका है।
  • सिमटिक मीनिंग बेस्ड स्प्लिटिंग भविष्य में और बेहतर परिणाम दे सकती है।
  • LangChain लाइब्रेरी में ये सभी तकनीकें उपलब्ध हैं और आसानी से इम्प्लीमेंट की जा सकती हैं।

सुझाव

अगर आपको वीडियो पसंद आया हो तो लाइक और सब्सक्राइब जरूर करें।

Heads up!

This summary and transcript were automatically generated using AI with the Free YouTube Transcript Summary Tool by LunaNotes.

Generate a summary for free

Related Summaries

Complete Image Processing Unit 5: Data Compression to OCR Techniques

Complete Image Processing Unit 5: Data Compression to OCR Techniques

इस वीडियो में हमने यूनिट 5 के सभी प्रमुख टॉपिक्स जैसे डेटा कंप्रेशन, हाफमैन कोडिंग, रन लेंथ कोडिंग, शिफ्ट कोड, अर्थमैटिक कोडिंग, JPEG & MPEG स्टैंडर्ड, बाउंड्री रिप्रेजेंटेशन, डिस्क्रिप्टर्स, और ऑब्जेक्ट रिकॉग्निशन को विस्तार से समझा। गणितीय एल्गोरिद्म और प्रैक्टिकल उदाहरणों के साथ ये वीडियो आपके ईमेज प्रोसेसिंग कॉन्सेप्ट्स को मजबूत करेगा।

मल्टीडायमेंशनल और 2D अर्रे: कोडिंग, इनपुट और मैट्रिक्स मल्टिप्लिकेशन

मल्टीडायमेंशनल और 2D अर्रे: कोडिंग, इनपुट और मैट्रिक्स मल्टिप्लिकेशन

इस वीडियो में मल्टीडायमेंशनल अर्रे, विशेषकर 2D अर्रे की परिभाषा, कोडिंग, इनपुट लेना और मैट्रिक्स मल्टिप्लिकेशन की प्रक्रिया विस्तार से समझाई गई है। साथ ही, ट्रांसपोज़ मैट्रिक्स और इंडेक्सिंग के महत्वपूर्ण कॉन्सेप्ट्स को भी उदाहरणों के साथ समझाया गया है।

HTML बेसिक्स से प्रोफेशनल तक: पूरी वेब डेवलपमेंट गाइड

HTML बेसिक्स से प्रोफेशनल तक: पूरी वेब डेवलपमेंट गाइड

यह विस्तृत वीडियो ट्यूटोरियल HTML की पूरी समझ देता है, जो शुरुआत से लेकर एडवांस लेवल तक आपकी वेब डेवलपमेंट स्किल्स को मजबूत करता है। इसमें HTML टैग्स, एट्रिब्यूट्स, लेआउट, फॉर्म्स, टेबल्स, और SEO फ्रेंडली सिमेंटिक टैग्स सहित महत्वपूर्ण कॉन्सेप्ट्स को आसान भाषा में समझाया गया है।

एंकर C200 2K वेबकैम: विस्तृत समीक्षा और तुलना

एंकर C200 2K वेबकैम: विस्तृत समीक्षा और तुलना

जानें एंकर C200 2K वेबकैम की विशेषताएँ, तुलना और उपयोग के टिप्स।

C++ प्रोग्रामिंग बेसिक्स: कंपाइलर, वेरिएबल्स और डेटा टाइप्स समझें

C++ प्रोग्रामिंग बेसिक्स: कंपाइलर, वेरिएबल्स और डेटा टाइप्स समझें

इस वीडियो में हमने C++ प्रोग्रामिंग की शुरुआत से लेकर कंपाइलर, वेरिएबल डिक्लेरेशन, डेटा टाइप्स, और मेमोरी स्टोरेज तक के महत्वपूर्ण कॉन्सेप्ट्स को विस्तार से समझा। साथ ही, हमने कोड लिखने, रन करने और सिंटैक्स के बेसिक्स को भी सीखा।

Buy us a coffee

If you found this summary useful, consider buying us a coffee. It would help us a lot!

Let's Try!

Start Taking Better Notes Today with LunaNotes!