बहु-क्वेरी पुनर्प्राप्ति रणनीतियाँ
उपयोगकर्ता की क्वेरी के कई दृष्टिकोण बनाकर और विविध खोजों के परिणामों को मिलाकर पुनर्प्राप्ति की पूर्णता बढ़ाइए।
बहु-क्वेरी पुनर्प्राप्ति रणनीतियाँ, CoddyKit पर LangChain / RAG / वेक्टर डेटाबेस का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह LangChain / RAG / वेक्टर डेटाबेस सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। LangChain / RAG / वेक्टर डेटाबेस पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Multi-Query से RAG को बेहतर बनाना
कभी-कभी सभी प्रासंगिक जानकारी खोजने के लिए एक ही खोज प्रश्न पर्याप्त नहीं होता। बहु-प्रश्न प्राप्ति एक ऐसी तकनीक है, जो आपकी RAG प्रणाली को अधिक व्यापक खोज करने में सहायता करती है।
यह आपके मूल प्रश्न के कई अलग-अलग रूप बनाती है। इससे यह सुनिश्चित करने में सहायता मिलती है कि महत्वपूर्ण संदर्भ छूट न जाए, और अधिक व्यापक उत्तर मिल सकें।
एक प्रश्न पर्याप्त क्यों नहीं है
मान लीजिए कि आप पूछते हैं, "RAG के क्या लाभ हैं?" एक खोज में केवल वे दस्तावेज़ मिल सकते हैं, जिनमें यही शब्द सीधे मौजूद हों। इससे आपके LLM के लिए उपलब्ध संदर्भ सीमित हो सकता है।
- हो सकता है कि वह "RAG के फ़ायदे" या "RAG का उपयोग क्यों करें" जैसे शब्दों वाले दस्तावेज़ों को न खोज पाए।
- वह ऐसे संबंधित विचारों को भी छोड़ सकता है, जो महत्वपूर्ण पृष्ठभूमि प्रदान करते हैं।
यह सीमा LLM से मिलने वाले अधूरे या कम सटीक उत्तरों का कारण बन सकती है।
अपनी खोज का दायरा बढ़ाना
उन्नत उपकरणों से पहले, लोग व्यापक खोज सुनिश्चित करने के लिए संबंधित खोज प्रश्नों पर स्वयं विचार करते थे। उदाहरण के लिए:
- मूल: "RAG, LLM की सटीकता कैसे बढ़ाता है?"
- विस्तारित: "LLM के लिए RAG के क्या लाभ हैं?", "तथ्यात्मक शुद्धता पर RAG का प्रभाव", "RAG भ्रम उत्पन्न होने की स्थिति को कैसे कम करता है"।
यह प्रक्रिया प्रभावी तो है, लेकिन कठिन और जटिल प्रणालियों के लिए बड़े पैमाने पर लागू करना मुश्किल है। हमें एक स्वचालित समाधान चाहिए!
प्रश्न जनरेटर के रूप में LLM
बड़े भाषा मॉडल (LLM) संदर्भ समझने और टेक्स्ट के विभिन्न रूप बनाने में उत्कृष्ट होते हैं। हम किसी प्रारंभिक उपयोगकर्ता प्रश्न से अपने-आप कई वैकल्पिक प्रश्न बनाने के लिए LLM का लाभ उठा सकते हैं।
- इसमें LLM की प्राकृतिक भाषा समझने की क्षमताओं का उपयोग होता है।
- यह प्रश्न विस्तार की प्रक्रिया को कुशलतापूर्वक स्वचालित करता है।
इसके बाद ये विविध प्रश्न आपके ज्ञान आधार को खोजने के लिए कई 'दृष्टिकोण' प्रदान करते हैं।
LangChain का MultiQueryRetriever
LangChain MultiQueryRetriever नामक एक शक्तिशाली घटक उपलब्ध कराता है। यह उपकरण आपके लिए पूरी बहु-प्रश्न प्रक्रिया को स्वचालित करता है, जिससे इसे अपनी RAG कार्यप्रवाह में शामिल करना आसान हो जाता है।
- यह आपके प्रारंभिक इनपुट से विविध प्रश्न बनाने के लिए LLM का उपयोग करता है।
- इसके बाद यह आपके वेक्टर स्टोर पर इन सभी प्रश्नों को चलाता है।
- अंत में, यह परिणामों को LLM के लिए दस्तावेज़ों के एकल, व्यापक संग्रह में मिला देता है।
MultiQueryRetriever का प्रयोग
आइए देखें कि Python में MultiQueryRetriever को कैसे सेट अप किया जाता है। इसके लिए आपको एक LLM और पहले से मौजूद रिट्रीवर की आवश्यकता होगी (जैसे, किसी वेक्टर स्टोर से)।
यह उदाहरण समझाने के लिए एक वेक्टर स्टोर का अनुकरण करता है। वास्तविक अनुप्रयोग में आपका वेक्टर स्टोर आपके दस्तावेज़ों से पहले से भरा हुआ होगा।
from langchain_community.chat_models import ChatOpenAI
from langchain.retrievers.multi_query import MultiQueryRetriever
from langchain_community.vectorstores import FAISS
from langchain_community.embeddings import OpenAIEmbeddings
from langchain_core.documents import Document
# This is a mock setup for demonstration
# In a real app, your vector store would be populated
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(
[
Document(page_content="RAG improves LLM factual accuracy."),
Document(page_content="Retrieval Augmented Generation reduces hallucinations."),
Document(page_content="The advantages of RAG include up-to-date information."),
Document(page_content="RAG systems combine retrieval with generation."),
], embeddings
)
retriever = vectorstore.as_retriever()
# Initialize a chat model (replace with your actual LLM)
# For local testing, consider using a local LLM or mock
llm = ChatOpenAI(temperature=0) # Placeholder
# Create the MultiQueryRetriever
multi_query_retriever = MultiQueryRetriever.from_llm(
retriever=retriever, llm=llm
)
print("MultiQueryRetriever initialized successfully!")
# Example usage would follow: multi_query_retriever.get_relevant_documents(query)Multi-Query कार्यप्रवाह
आइए सरल रूप में समझते हैं कि MultiQueryRetriever पर्दे के पीछे क्या करता है:
- प्रारंभिक क्वेरी: आप एक क्वेरी देते हैं, जैसे "RAG के क्या लाभ हैं?"
- क्वेरी निर्माण: LLM आपकी क्वेरी लेकर 2-4 वैकल्पिक क्वेरी बनाता है (जैसे, "RAG के लाभ", "RAG का उपयोग क्यों करें?", "RAG, LLMs को कैसे बेहतर बनाता है")।
- समानांतर पुनर्प्राप्ति: बनाई गई प्रत्येक क्वेरी आपके अंतर्निहित रिट्रीवर (जैसे, वेक्टर स्टोर) को एक साथ भेजी जाती है।
- परिणाम संयोजन: इन सभी खोजों से प्राप्त दस्तावेज़ एकत्र किए जाते हैं और अक्सर दोहराव हटाया जाता है।
- अंतिम संदर्भ: दस्तावेज़ों का यह संयुक्त समूह अंतिम उत्तर बनाने के लिए आपके मुख्य LLM को भेजा जाता है।
पुनर्प्राप्त दस्तावेज़ों का संयोजन
कई क्वेरी से दस्तावेज़ प्राप्त करने के बाद, अंतिम संदर्भ बनाने के लिए उन्हें सर्वोत्तम ढंग से कैसे संयोजित किया जाए?
- अद्वितीय दस्तावेज़: सबसे सरल तरीका है कि सभी दस्तावेज़ एकत्र करके दोहराव हटा दिया जाए। इससे अनावश्यक पुनरावृत्ति के बिना विविधता बनी रहती है।
- पुनः-रैंकिंग: अधिक उन्नत नियंत्रण के लिए, आप संयुक्त समूह पर पुनः-रैंकिंग मॉडल लागू कर सकते हैं। यह मॉडल मूल क्वेरी से उनकी प्रासंगिकता के आधार पर दस्तावेज़ों को अंक देता है, जिससे सबसे महत्वपूर्ण दस्तावेज़ों को प्राथमिकता मिलती है (यह विषय भविष्य के पाठ में आएगा!)।
Multi-Query पुनर्प्राप्ति का उपयोग क्यों करें?
बहु-क्वेरी रणनीतियाँ लागू करने से आपके RAG सिस्टम को महत्वपूर्ण लाभ मिलते हैं:
- बेहतर रिकॉल: सभी प्रासंगिक जानकारी मिलने की संभावना बढ़ जाती है, भले ही उन्हें अलग-अलग शब्दों में लिखा गया हो।
- समृद्ध संदर्भ: LLM को दस्तावेज़ों का अधिक व्यापक और विविध समूह मिलता है, जिससे उत्तर अधिक संपूर्ण और सटीक होते हैं।
- कम मनगढ़ंत जानकारी: बेहतर संदर्भ मिलने पर, जानकारी की कमी के कारण LLM द्वारा "बातें गढ़ने" की संभावना घट जाती है।
- अस्पष्टता को संभालना: जब उपयोगकर्ता की प्रारंभिक क्वेरी थोड़ी अस्पष्ट हो या उसके कई अर्थ निकाले जा सकते हों, तब यह सहायता करता है।
Multi-Query जाँच
बहु-क्वेरी पुनर्प्राप्ति का उद्देश्य उपयोगकर्ता की क्वेरी के कई दृष्टिकोण बनाकर पुनर्प्राप्ति को बेहतर करना है। निम्नलिखित में से कौन-सा उस मूल समस्या का सबसे अच्छा वर्णन करता है जिसे यह हल करता है?
Multi-Query पुनरावलोकन
इस पाठ में हमने Multi-Query Retrieval का अध्ययन किया। हमने सीखा कि एकल क्वेरी अक्सर महत्वपूर्ण संदर्भ छोड़ सकती है, और Large Language Models (LLMs) इससे निपटने के लिए कई विविध क्वेरी बना सकते हैं।
LangChain का MultiQueryRetriever इस पूरी प्रक्रिया को स्वचालित करता है और आपके RAG सिस्टम को दिए जाने वाले संदर्भ के रिकॉल तथा समृद्धि में महत्वपूर्ण सुधार करता है। इससे अंततः अधिक संपूर्ण और सटीक उत्तर मिलते हैं।
एआई शिक्षक के साथ LangChain / RAG / वेक्टर डेटाबेस सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “बहु-क्वेरी पुनर्प्राप्ति रणनीतियाँ” पाठ निःशुल्क है?
हाँ—“बहु-क्वेरी पुनर्प्राप्ति रणनीतियाँ” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और LangChain / RAG / वेक्टर डेटाबेस पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। LangChain / RAG / वेक्टर डेटाबेस पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बहु-क्वेरी पुनर्प्राप्ति रणनीतियाँ” में मैं क्या सीखूँगा?
उपयोगकर्ता की क्वेरी के कई दृष्टिकोण बनाकर और विविध खोजों के परिणामों को मिलाकर पुनर्प्राप्ति की पूर्णता बढ़ाइए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ LangChain / RAG / वेक्टर डेटाबेस का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या LangChain / RAG / वेक्टर डेटाबेस शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर LangChain / RAG / वेक्टर डेटाबेस शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“बहु-क्वेरी पुनर्प्राप्ति रणनीतियाँ” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस LangChain / RAG / वेक्टर डेटाबेस पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर LangChain / RAG / वेक्टर डेटाबेस पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- बहु-क्वेरी पुनर्प्राप्ति रणनीतियाँ
- LLM के साथ संदर्भगत संपीड़न
- हाइब्रिड खोज और पुनः-रैंकिंग
- पैरेंट दस्तावेज़ और वाक्य-विंडो पुनर्प्राप्ति