Contextual Retrieval का परिचय
- AI मॉडल को किसी खास संदर्भ में उपयोगी होने के लिए background knowledge की आवश्यकता होती है
- customer support chatbot को किसी विशेष business के बारे में knowledge चाहिए, और legal analysis bot को पिछले मामलों के बारे में विशाल knowledge चाहिए
- developer आमतौर पर AI मॉडल की knowledge बढ़ाने के लिए Retrieval-Augmented Generation (RAG) का उपयोग करते हैं
- पारंपरिक RAG solutions अक्सर जानकारी encode करते समय context हटा देते हैं, जिससे वे कई बार प्रासंगिक जानकारी खोज नहीं पाते
Contextual Retrieval का तरीका
- Contextual Retrieval, RAG के retrieval चरण को काफी बेहतर बनाने का एक तरीका है
- इसमें दो sub-techniques, Contextual Embeddings और Contextual BM25, का उपयोग किया जाता है
- यह retrieval failures की संख्या को 49% तक कम करता है, और reranking के साथ मिलाने पर इसे 67% तक कम किया जा सकता है
- Claude का उपयोग करके Contextual Retrieval solution को आसानी से deploy किया जा सकता है
सिर्फ लंबे prompt का उपयोग करना
- अगर knowledge base 200,000 tokens से कम है, तो पूरा knowledge base मॉडल को देना बेहतर तरीका हो सकता है
- Claude की prompt caching feature का उपयोग करने पर यह approach अधिक तेज़ और cost-effective हो जाती है
- knowledge base बड़ा होने पर अधिक scalable solution की आवश्यकता होती है
RAG की बुनियादी अवधारणा
- RAG का उपयोग बड़े knowledge base को संभालने के लिए किया जाता है
- knowledge base को छोटे text chunks में बाँटा जाता है, और embedding model का उपयोग करके उसका meaning encode किया जाता है
- इन्हें vector database में store किया जाता है और semantic similarity के आधार पर retrieve किया जाता है
- BM25 exact words या phrase matches खोजने में प्रभावी है
पारंपरिक RAG की सीमाएँ
- documents को छोटे chunks में बाँटने की प्रक्रिया में context टूट सकता है
- उदाहरण के लिए, किसी खास company की financial information खोजने वाले सवाल के जवाब में ऐसा chunk लौट सकता है जिसमें पर्याप्त context न हो
Contextual Retrieval का implementation
- हर chunk में descriptive context जोड़कर embedding और BM25 indexes बनाए जाते हैं
- Claude का उपयोग करके हर chunk के लिए concise context generate किया जाता है
- prompt caching का उपयोग करके cost कम की जा सकती है
प्रदर्शन में सुधार
- Contextual Embeddings retrieval failure rate को 35% कम करते हैं
- Contextual Embeddings और Contextual BM25 को मिलाने पर retrieval failure rate 49% कम हो जाता है
implementation से जुड़ी बातें
- documents को chunks में कैसे बाँटना है, embedding model का चयन, और custom contextualization prompts जैसी बातों पर विचार करना चाहिए
- अधिक chunks शामिल करने से प्रासंगिक जानकारी शामिल होने की संभावना बढ़ती है
reranking के ज़रिए प्रदर्शन सुधार
- reranking सबसे प्रासंगिक chunks ही मॉडल को भेजकर response quality बेहतर बनाता है
- reranked Contextual Embedding और Contextual BM25 retrieval failure rate को 67% कम करते हैं
निष्कर्ष
- Embeddings और BM25 को मिलाने से बेहतर परिणाम मिल सकते हैं
- Voyage और Gemini embeddings सबसे प्रभावी हैं
- top 20 chunks को मॉडल तक भेजना सबसे प्रभावी है
- context जोड़ने से retrieval accuracy में बड़ा सुधार होता है
- reranking प्रदर्शन को और बेहतर बनाता है
GN⁺ का सार
- Contextual Retrieval, AI मॉडल की retrieval accuracy को काफी बेहतर बनाने का एक तरीका है
- यह खासकर बड़े knowledge base के साथ काम करते समय उपयोगी है
- Claude की prompt caching feature का उपयोग करके इसे cost-effective तरीके से implement किया जा सकता है
- इसी तरह की समान capabilities वाले अन्य projects में OpenAI का GPT-3 और Google का BERT शामिल हैं
1 टिप्पणियां
Hacker News की राय
पहली राय
दूसरी राय
तीसरी राय
चौथी राय
पाँचवीं राय
छठी राय
सातवीं राय
आठवीं राय
नौवीं राय
दसवीं राय