अर्थगत खोज और हाइब्रिड खोज
बेहतर परिणामों के लिए वेक्टर समानता को कीवर्ड मिलान के साथ जोड़ने वाली उन्नत खोज तकनीकें लागू कीजिए।
अर्थगत खोज और हाइब्रिड खोज, CoddyKit पर वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
मूल खोजों से आगे
स्वागत है! इस पाठ में हम Weaviate की उन्नत खोज तकनीकों का अध्ययन करेंगे। सरल वेक्टर खोजों से आगे बढ़ते हुए, हम देखेंगे कि अत्यंत सटीक परिणामों के लिए अलग-अलग विधियों को कैसे मिलाया जाए।
हम इन विषयों को शामिल करेंगे:
- शुद्ध अर्थ-आधारित खोज
- पारंपरिक कीवर्ड (BM25) खोज
- हाइब्रिड खोज की शक्ति
अर्थ-आधारित खोज: पहले अर्थ
अर्थ-आधारित खोज केवल सटीक शब्दों के बजाय उनके अर्थ के आधार पर आइटम खोजती है। यह डेटा को दर्शाने के लिए वेक्टर एंबेडिंग का उपयोग करती है और समान अवधारणाएँ खोजने के लिए "दूरी" मापती है। Weaviate इसके लिए .with_near_text() का उपयोग करता है।
यह उदाहरण आज़माएँ:
import weaviate
import os
# Connect to your Weaviate instance
# Ensure WEAVIATE_URL is set (e.g., "http://localhost:8080")
client = weaviate.Client(
url=os.getenv("WEAVIATE_URL", "http://localhost:8080")
)
# Make sure you have an 'Article' class with 'title' and 'content' properties
# and some data imported for this to work!
query_concept = "latest advancements in technology"
response = client.query.get(
"Article", # Your class name
["title", "content"]
).with_near_text(
{"concepts": [query_concept]}
).with_limit(2).do()
print("Semantic Search Results:")
for item in response["data"]["Get"]["Article"]:
print(f"- {item['title']}")कीवर्ड खोज की मूल बातें
हालाँकि अर्थ-आधारित खोज शक्तिशाली है, कभी-कभी आपको सटीक कीवर्ड खोजने की आवश्यकता होती है। यहीं पारंपरिक कीवर्ड खोज उपयोगी होती है। Weaviate इसके लिए BM25 एल्गोरिदम का समर्थन करता है।
BM25 (Best Match 25) एक रैंकिंग फ़ंक्शन है जिसका उपयोग खोज इंजन किसी दी गई खोज क्वेरी के लिए दस्तावेज़ों की प्रासंगिकता का अनुमान लगाने हेतु करते हैं। जब आपको ठीक-ठीक पता हो कि आप किन शब्दों को खोज रहे हैं, तब यह सटीकता के लिए बहुत उपयोगी है।
BM25 के साथ कीवर्ड खोज
आप किसी टेक्स्ट खोज के साथ .with_where() फ़िल्टर को जोड़कर Weaviate में कीवर्ड खोज कर सकते हैं और BM25 प्रासंगिकता देखने के लिए _additional {score} माँग सकते हैं।
विशिष्ट कीवर्ड वाले लेखों को खोजने का तरीका इस प्रकार है:
import weaviate
import os
# Connect to your Weaviate instance
client = weaviate.Client(
url=os.getenv("WEAVIATE_URL", "http://localhost:8080")
)
# Make sure you have an 'Article' class with 'title' and 'content' properties
# and some data imported for this to work!
keyword_query = "AI" # Search for articles containing "AI"
response = client.query.get(
"Article",
["title", "content", "_additional {score}"] # Request BM25 score
).with_where({
"path": ["content"], # Search in the 'content' field
"operator": "Like",
"valueText": f"*{keyword_query}*" # Wildcard search
}).with_limit(2).do()
print("Keyword Search Results:")
for item in response["data"]["Get"]["Article"]:
print(f"- {item['title']} (BM25 Score: {item['_additional']['score']:.2f})")हाइब्रिड क्यों? सीमाएँ
अर्थ-आधारित और कीवर्ड खोज, दोनों की अपनी खूबियाँ और कमियाँ हैं:
- अर्थ-आधारित: अवधारणात्मक समझ के लिए बेहतरीन, लेकिन सटीक शब्द छूट सकते हैं।
- कीवर्ड: सटीक मिलान के लिए उत्कृष्ट, लेकिन समानार्थी शब्दों या सूक्ष्म अर्थों को समझने में कठिनाई होती है।
कल्पना कीजिए कि आप "परिवार के साथ यात्राओं के लिए सबसे अच्छी कार" खोज रहे हैं। अर्थ-आधारित खोज में SUV दिखाई दे सकती हैं, जबकि कीवर्ड खोज शायद केवल वे लेख दिखाए जिनमें "परिवार" और "यात्रा" शब्द हों। यदि आपको दोनों चाहिए तो?
हाइब्रिड खोज का परिचय
हाइब्रिड खोज अर्थ-आधारित (वेक्टर) खोज और कीवर्ड (BM25) खोज की खूबियों को जोड़ती है। यह अवधारणात्मक समानता और सटीक शब्द-मिलान, दोनों के आधार पर परिणाम प्राप्त करती है और फिर उन्हें बुद्धिमानी से मिलाती है।
इससे अधिक व्यापक और प्रासंगिक परिणाम मिलते हैं, विशेषकर जटिल या अस्पष्ट प्रश्नों के लिए।
Weaviate का `with_hybrid`
हाइब्रिड खोज अर्थ-आधारित और कीवर्ड खोज की खूबियों को जोड़ती है। Weaviate का .with_hybrid() ऑपरेटर यह काम आसान बनाता है। इसमें एक प्रश्न और परिणामों के मिश्रण को नियंत्रित करने वाला alpha पैरामीटर लिया जाता है:
alpha = 0: केवल कीवर्डalpha = 1: केवल अर्थ-आधारितalpha = 0.5: बराबर मिश्रण (डिफ़ॉल्ट)
इसे आज़माकर देखें:
import weaviate
import os
# Connect to your Weaviate instance
client = weaviate.Client(
url=os.getenv("WEAVIATE_URL", "http://localhost:8080")
)
# Make sure you have an 'Article' class with 'title' and 'content' properties
# and some data imported for this to work!
query = "AI tools for data analysis" # Hybrid query text
alpha_value = 0.7 # 0.7 for more semantic weighting
response = client.query.get(
"Article",
["title", "content", "_additional {score, id}"] # Request score & ID
).with_hybrid(
query=query,
alpha=alpha_value
).with_limit(3).do()
print(f"Hybrid Search Results (alpha={alpha_value}):")
for item in response["data"]["Get"]["Article"]:
# The 'score' here is the hybrid score
print(f"- {item['title']} (Score: {item['_additional']['score']:.2f})")परिणामों के संयोजन (RRF) को समझना
जब आप हाइब्रिड खोज करते हैं, तो Weaviate को अर्थ-आधारित और कीवर्ड खोज, दोनों की रैंकिंग को एक ही संयुक्त सूची में मिलाने का तरीका चाहिए। यह काम अक्सर Reciprocal Rank Fusion (RRF) जैसे एल्गोरिदम से किया जाता है।
RRF एक चतुर विधि है, जो प्रत्येक दस्तावेज़ को अलग-अलग खोज परिणामों में उसकी रैंक के आधार पर अंक देती है। जो दस्तावेज़ दोनों अर्थ-आधारित और कीवर्ड खोजों में ऊँची रैंक पर होते हैं, उनके अंतिम अंक काफ़ी बढ़ जाते हैं।
हाइब्रिड खोज के लाभ
हाइब्रिड खोज के कई लाभ हैं:
- बेहतर प्रासंगिकता: सटीक मिलान और अवधारणात्मक रूप से समान आइटम, दोनों मिल जाते हैं।
- मज़बूती: छोटे, अस्पष्ट या दुर्लभ प्रश्नों के साथ भी अच्छी तरह काम करती है।
- उपयोगकर्ता संतुष्टि: अधिक व्यापक और उपयोगी खोज परिणाम मिलते हैं।
AI अनुप्रयोगों में उन्नत खोज अनुभव बनाने के लिए यह एक महत्वपूर्ण तकनीक है।
अपनी जानकारी जाँचें
हाइब्रिड खोज अर्थ-आधारित और कीवर्ड खोज को जोड़ती है। Weaviate के .with_hybrid() ऑपरेटर में कौन-सा पैरामीटर इन दोनों खोज प्रकारों के बीच संतुलन नियंत्रित करता है?
उन्नत खोज का सारांश
बहुत अच्छा! आपने Weaviate में उन्नत खोज तकनीकों में महारत हासिल कर ली है। हमने इन विषयों को समझा:
- अर्थ-आधारित खोज: अर्थ और वेक्टर समानता पर आधारित।
- कीवर्ड खोज: सटीक शब्द-मिलान के लिए BM25 का उपयोग।
- हाइब्रिड खोज: बेहतर प्रासंगिकता के लिए दोनों का संयोजन, जिसे
alphaपैरामीटर नियंत्रित करता है।
ये शक्तिशाली उपकरण आपको अधिक बुद्धिमान और मज़बूत खोज अनुप्रयोग बनाने में सहायता करेंगे। अलग-अलग प्रकार के प्रश्नों और alpha मानों के साथ प्रयोग करते रहें!
एआई शिक्षक के साथ वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “अर्थगत खोज और हाइब्रिड खोज” पाठ निःशुल्क है?
हाँ — वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “अर्थगत खोज और हाइब्रिड खोज” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“अर्थगत खोज और हाइब्रिड खोज” में मैं क्या सीखूँगा?
बेहतर परिणामों के लिए वेक्टर समानता को कीवर्ड मिलान के साथ जोड़ने वाली उन्नत खोज तकनीकें लागू कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“अर्थगत खोज और हाइब्रिड खोज” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर वेक्टर डेटाबेस: Pinecone, Weaviate और pgvector पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- अर्थगत खोज और हाइब्रिड खोज
- Weaviate मॉड्यूल का उपयोग
- बैकअप और पुनर्स्थापना रणनीतियाँ
- Weaviate में बहु-किरायेदारी