क्वेरी पुनर्लेखन और पुनः-रैंकिंग
उपयोगकर्ता क्वेरी को बेहतर बनाने और LLM के लिए प्राप्त दस्तावेज़ों की प्रासंगिकता के आधार पर पुनः-रैंकिंग करने की तकनीकों का अध्ययन कीजिए।
क्वेरी पुनर्लेखन और पुनः-रैंकिंग, CoddyKit पर उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
RAG के लिए Queries को Optimize करना
उन्नत RAG techniques में आपका स्वागत है! इस पाठ में हम आपके Retrieval Augmented Generation (RAG) system को और अधिक बुद्धिमान बनाने की दो शक्तिशाली methods का अध्ययन करेंगे: Query Rewriting और Reranking।
ये techniques यह सुनिश्चित करने में सहायता करती हैं कि आपके LLM को यथासंभव सबसे प्रासंगिक जानकारी मिले, जिससे बेहतर और अधिक सटीक responses प्राप्त हों।
Raw Queries क्यों कम प्रभावी होती हैं
जब कोई उपयोगकर्ता प्रश्न पूछता है, तो उसका प्रारंभिक query आपके knowledge base में खोजने के लिए हमेशा उपयुक्त नहीं होता। वह हो सकता है:
- बहुत छोटा या अस्पष्ट: इसमें विशिष्ट keywords का अभाव हो।
- द्विअर्थी: इसके कई संभावित अर्थ हों।
- पर्यायवाची शब्दों से रहित: इसमें आपके documents में मौजूद सटीक terms का उपयोग न किया गया हो।
इसके कारण आपका retriever कम प्रासंगिक documents प्राप्त कर सकता है।
Query Rewriting को समझना
Query rewriting उपयोगकर्ता के मूल query को document retriever को भेजने से पहले संशोधित करने की प्रक्रिया है।
इसका उद्देश्य query को एक अधिक प्रभावी search term में बदलना है, जिसके आपके vector database में प्रासंगिक documents से match होने की अधिक संभावना हो।
Queries को Rewrite करने की Techniques
Query rewriting में कई strategies शामिल हो सकती हैं:
- Query Expansion: खोज का दायरा बढ़ाने के लिए synonyms या संबंधित terms जोड़ना।
- Query Rephrasing: स्पष्टता सुधारने के लिए query की structure या wording बदलना।
- Query Decomposition: जटिल, बहु-भागीय query को सरल, अलग-अलग sub-queries में बाँटना।
अक्सर, इन rewriting tasks को करने के लिए किसी अन्य LLM का उपयोग किया जाता है।
कोड: सरल Query Rewriting
यह एक वैचारिक Python उदाहरण है कि सरल क्वेरी विस्तार कैसे काम कर सकता है। वास्तविक प्रणाली में, LLM अधिकांश कठिन कार्य करता।
class QueryRewriter:
def rewrite(self, query):
# Simulate an LLM or a rule-based system
if "LLM performance" in query:
return query + " large language model efficiency optimization"
if "vector db" in query:
return query + " vector database semantic search"
return query
rewriter = QueryRewriter()
user_query_1 = "improve LLM performance"
rewritten_1 = rewriter.rewrite(user_query_1)
print(f"Original 1: {user_query_1}")
print(f"Rewritten 1: {rewritten_1}\n")
user_query_2 = "how to use vector db"
rewritten_2 = rewriter.rewrite(user_query_2)
print(f"Original 2: {user_query_2}")
print(f"Rewritten 2: {rewritten_2}")हमें Reranking की आवश्यकता क्यों है
एक बेहतरीन प्रारंभिक खोज के बाद भी (शायद पुनर्लिखित क्वेरी के साथ!), आपके खोजक द्वारा लौटाए गए शीर्ष 'N' दस्तावेज़ प्रासंगिकता के आधार पर पूरी तरह सही क्रम में नहीं हो सकते हैं।
खोजक का कार्य अक्सर संभावित मेल ढूँढ़ना होता है। Reranking इस क्रम को बेहतर बनाता है और यह सुनिश्चित करता है कि सबसे उपयुक्त दस्तावेज़ सबसे ऊपर हों।
Reranking की प्रक्रिया
Reranking इस प्रकार काम करता है:
- आपका प्रारंभिक खोजक उम्मीदवार दस्तावेज़ों का एक बड़ा समूह प्राप्त करता है (जैसे, शीर्ष 50)।
- इसके बाद एक विशेष Reranking मॉडल इनमें से प्रत्येक उम्मीदवार दस्तावेज़ और मूल उपयोगकर्ता क्वेरी को लेकर अधिक सटीक प्रासंगिकता स्कोर देता है।
- फिर इन नए, अधिक सटीक स्कोर के आधार पर दस्तावेज़ों को दोबारा क्रमबद्ध किया जाता है।
इससे यह सुनिश्चित होता है कि सबसे प्रासंगिक दस्तावेज़ LLM को भेजे जाएँ।
विशेष Reranking मॉडल
उस खोजक के विपरीत, जो अक्सर लगभग समानता के लिए एम्बेडिंग का उपयोग करता है, Reranker सामान्यतः अधिक उन्नत मॉडलों का उपयोग करते हैं, जिन्हें अक्सर क्रॉस-एनकोडर कहा जाता है।
- क्रॉस-एनकोडर क्वेरी और दस्तावेज़, दोनों को इनपुट के रूप में लेते हैं।
- वे क्वेरी और दस्तावेज़ के शब्दों के बीच की अंतःक्रिया पर सीधे विचार करते हैं।
- इससे प्रासंगिकता की कहीं अधिक सूक्ष्म समझ मिलती है, हालांकि इसमें अधिक संगणनात्मक संसाधन लगते हैं। इसलिए इसे केवल दस्तावेज़ों के छोटे समूह पर लागू किया जाता है।
कोड: Reranking का अनुकरण
यह उदाहरण दिखाता है कि कोई Reranker क्वेरी से उनकी प्रासंगिकता के आधार पर प्रारंभ में प्राप्त दस्तावेज़ों की सूची के स्कोर फिर से निर्धारित करके उसका क्रम कैसे बदल सकता है।
class Reranker:
def rerank(self, query, documents):
# Simulate a cross-encoder model scoring documents
scores = {}
for doc in documents:
if "vector database" in doc.lower() and "fast" in query.lower():
scores[doc] = 0.95 # Highly relevant
elif "llm" in doc.lower() and "improve" in query.lower():
scores[doc] = 0.85
elif "database" in doc.lower():
scores[doc] = 0.7
else:
scores[doc] = 0.3 # Less relevant
# Sort documents by score in descending order
sorted_docs = sorted(documents, key=lambda d: scores.get(d, 0), reverse=True)
return sorted_docs
reranker = Reranker()
user_query = "How to build a fast vector database?"
initial_docs = [
"Introduction to LLMs",
"Building a scalable vector database",
"Optimizing LLM inference",
"Fast data ingestion for databases"
]
reranked_docs = reranker.rerank(user_query, initial_docs)
print(f"Original documents: {initial_docs}\n")
print("Reranked documents (most relevant first):")
for doc in reranked_docs:
print(f"- {doc}")संयोजन की शक्ति
वास्तविक शक्ति दोनों तकनीकों को मिलाने से आती है:
- पहले, क्वेरी पुनर्लेखन एक बेहतर खोज क्वेरी बनाता है।
- फिर, आपका खोजक इस बेहतर क्वेरी का उपयोग करके अधिक व्यापक और प्रासंगिक दस्तावेज़ समूह प्राप्त करता है।
- अंत में, Reranking इन दस्तावेज़ों के क्रम को सूक्ष्म रूप से सुधारता है, ताकि LLM को उत्तर तैयार करने के लिए सर्वोत्तम संदर्भ मिले।
यह बहु-चरणीय तरीका आपके RAG सिस्टम की गुणवत्ता और सटीकता को काफ़ी बढ़ाता है।
अपनी समझ जाँचें
अब समय है यह जाँचने का कि आपने क्वेरी पुनर्लेखन और Reranking के माध्यम से RAG को बेहतर बनाने के बारे में क्या सीखा है।
पुनरावलोकन और अगले चरण
बहुत अच्छा! इस पाठ में आपने क्वेरी पुनर्लेखन और Reranking के बारे में सीखा।
- क्वेरी पुनर्लेखन उपयोगकर्ता के इनपुट में बदलाव करके अधिक प्रभावी खोज क्वेरी बनाता है।
- Reranking अधिक सटीक मॉडल का उपयोग करके प्रारंभ में प्राप्त दस्तावेज़ों का क्रम बदलता है, ताकि सबसे प्रासंगिक दस्तावेज़ सामने आ सकें।
मिलकर, ये तकनीकें आपके RAG अनुप्रयोगों की गुणवत्ता और सटीकता को काफ़ी बढ़ाती हैं। आगे हम और भी उन्नत RAG आर्किटेक्चर का अध्ययन करेंगे!
एआई शिक्षक के साथ उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “क्वेरी पुनर्लेखन और पुनः-रैंकिंग” पाठ निःशुल्क है?
हाँ—“क्वेरी पुनर्लेखन और पुनः-रैंकिंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“क्वेरी पुनर्लेखन और पुनः-रैंकिंग” में मैं क्या सीखूँगा?
उपयोगकर्ता क्वेरी को बेहतर बनाने और LLM के लिए प्राप्त दस्तावेज़ों की प्रासंगिकता के आधार पर पुनः-रैंकिंग करने की तकनीकों का अध्ययन कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“क्वेरी पुनर्लेखन और पुनः-रैंकिंग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर उत्पादन में LLM अनुप्रयोग (RAG + वेक्टर DB + कैशिंग) पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- क्वेरी पुनर्लेखन और पुनः-रैंकिंग
- बहु-चरणीय और एजेंट-आधारित RAG प्रतिरूप
- जटिल दस्तावेज़ संरचनाओं को सँभालना
- स्वयं-प्रश्नकारी रिट्रीवर और संदर्भ-उद्धरण