15 पॉइंट द्वारा GN⁺ 2025-02-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • ओपन सोर्स मॉडल और टूल्स (Milvus, LangChain आदि) का उपयोग करके Deep Research शैली का एक research agent इम्प्लीमेंट किया गया है
  • वेब·दस्तावेज़ खोज के ज़रिए किसी विषय या प्रश्न पर अपने-आप गहन रिसर्च करने और हर मध्य चरण में कौन-सा action लेना है (खोज, व्यवस्थित करना आदि) यह चुनने वाली agent संरचनाओं के उदाहरण बढ़े हैं
  • इस लेख में इन विचारों का विस्तार करने वाले DeepSearcher ओपन सोर्स प्रोजेक्ट का परिचय दिया गया है। इसमें query routing, conditional execution flow, web crawling tools का उपयोग आदि शामिल हैं
  • DeepSearcher Python library·CLI के रूप में उपलब्ध है, इसलिए कई source documents इनपुट लेकर embedding model और vector DB settings को फ़ाइल के ज़रिए आसानी से समायोजित किया जा सकता है
  • यह सरल होने के बावजूद agent-based RAG का डेमो दिखाने वाला उदाहरण है, जो वास्तविक AI application development तक जाने की बुनियाद बन सकता है
  • खास तौर पर reasoning models की speed और efficiency की समस्या पर ज़ोर दिया गया है, क्योंकि query और search प्रक्रिया में बहुत अधिक token generation की ज़रूरत होती है, जिससे inference resources bottleneck बन जाते हैं
  • SambaNova के कस्टम हार्डवेयर पर चलने वाले DeepSeek-R1 reasoning model का उपयोग करने पर token generation speed प्रतिस्पर्धी सेवाओं की तुलना में अधिक तेज़ मिलती है
  • ऐसी cloud inference services के ज़रिए Llama 3.x, Qwen2.5, QwQ जैसे विभिन्न मॉडलों पर भी efficient inference संभव हो जाता है

प्रश्न की परिभाषा और विभाजन

  • शुरुआती user query को विस्तृत sub-queries में तोड़ा जाता है
  • पिछले लेख की तरह, "How has The Simpsons changed over time?" जैसी query को नीचे की तरह कई sub-queries में बाँटा जाता है
    • उदाहरण: कृति का सांस्कृतिक·सामाजिक प्रभाव, season के अनुसार character·humor·narrative style में बदलाव, animation·production technology में बदलाव, दर्शकों की प्रतिक्रिया में बदलाव आदि
  • बाद के चरणों में ज़रूरत होने पर प्रश्न को फिर से परिभाषित या विस्तारित भी किया जाता है

रिसर्च और विश्लेषण

  • sub-queries के आधार पर query routing, vector search, reflection, और conditional iteration के चरणों से गुज़रा जाता है
  • query routing
    • कई database collections में से किसका उपयोग करना है, यह LLM तय करे, इसके लिए prompt तैयार किया जाता है
    • JSON फ़ॉर्मेट में response लेकर collection के हिसाब से search queries जनरेट कराई जाती हैं
  • vector search
    • Milvus में संग्रहीत embeddings का उपयोग करके similarity search चलाया जाता है
    • पिछले लेख की तरह source data को पहले से विभाजित और vectorize करके रखा जाता है
  • reflection
    • LLM पिछले चरण में मिली query·answer के आधार पर यह जाँचता है कि क्या अतिरिक्त जानकारी की ज़रूरत है
    • यदि कुछ कमी हो, तो नई sub-queries बनाकर फिर से search की जाती है
  • conditional iteration
    • यदि reflection के नतीजे में अतिरिक्त queries की ज़रूरत हो, तो ऊपर की प्रक्रिया दोहराई जाती है
    • यदि यह तय हो जाए कि अब और जानकारी जुटाने की ज़रूरत नहीं है, तो final report जनरेट करने के चरण में चला जाता है

अंतिम रिपोर्ट तैयार करना

  • सभी sub-queries और search results को मिलाकर एक prompt से रिपोर्ट तैयार की जाती है
  • पहले के डेमो की तुलना में consistency और cohesion अधिक वाली रिपोर्ट मिलती है
  • उदाहरण के लिए, “How has The Simpsons changed over time?” पर अंतिम रिपोर्ट नीचे जैसी संरचना में विस्तृत सामग्री देती है
      1. सांस्कृतिक प्रभाव और सामाजिक प्रासंगिकता
      1. character·humor·storyline का विकास
      1. animation·technical बदलाव
      1. viewer base, प्रतिक्रिया, और ratings में बदलाव
    • निष्कर्ष: शुरुआती विद्रोही satire से एक लोकप्रिय icon में बदलने की प्रक्रिया आदि
  • DeepSeek-R1 मॉडल से बनी रिपोर्ट और GPT-4o mini मॉडल से बनी रिपोर्ट की तुलना की जा सकती है

आगे की दिशा

  • DeepSearcher अभी भी अपेक्षाकृत सरल स्तर पर है, लेकिन अतिरिक्त agent संरचना, report structuring, conditional iteration का विस्तार आदि से इसे और विकसित किया जा सकता है
  • बड़े reasoning models में बहुत भारी computation शामिल होता है, इसलिए inference speed और cost सेवा के मुख्य मुद्दे बन जाते हैं
  • SambaNova के DeepSeek-R1 मॉडल का उपयोग करके 65 inference calls, लगभग 25k input tokens और 22k output tokens का इस्तेमाल किया गया, और लगभग 0.30 डॉलर की लागत पर पर्याप्त तेज़ response मिला
  • DeepSearcher repository में प्रोजेक्ट को सीधे आज़माया जा सकता है, और आगे भी अतिरिक्त features और use cases लगातार साझा करने की योजना है

1 टिप्पणियां

 
GN⁺ 2025-02-28
Hacker News राय
  • यह सिस्टम local LLM का उपयोग नहीं करता, इसलिए यह सच में local सिस्टम नहीं है

    • सोच रहा हूँ कि क्या कोई deep searcher है जो Ollama और LM Studio द्वारा होस्ट किए गए local LLM का उपयोग कर सकता है
  • HuggingFace के open source वर्ज़न से तुलना जानने की जिज्ञासा है

    • HF वर्ज़न एक reasoning LLM का उपयोग करता है जो web को explore करता है, परिणाम इकट्ठा करता है, फिर उनका मूल्यांकन करके अंतिम परिणाम synthesize करता है
    • यह वर्ज़न web crawling से बने documents का vector store दिखाता हुआ लगता है
  • Grok के implementation का जादू यह है कि यह ज़्यादातर websites को cache करता है, इसलिए यह बहुत तेज़ महसूस होता है

    • लगता है Bing/Brave search वह सुविधा नहीं देते
    • जानना चाहता हूँ कि क्या ऐसी कोई service मौजूद है
  • Deep Research के लिए अलग-अलग approaches पसंद हैं

    • Flow का उपयोग करके नए workflows आज़मा रहा हूँ
  • इससे संबंधित दो blog posts हैं

    • open source का उपयोग करके Deep Research बनाने का अनुभव साझा किया गया है
  • चूँकि प्रमुख AI कंपनियाँ एक ही तरह का Deep Research product बना चुकी हैं, इसलिए shared open source platform पर ध्यान देना समझदारी होगी

  • web crawling integration का व्यावहारिक मतलब क्या है, यह जानने की जिज्ञासा है

    • सैद्धांतिक रूप से, क्या इसका उपयोग Sci-Hub से papers पढ़कर मान्य graduate-level research तैयार करने में किया जा सकता है, यह जानना चाहता हूँ
    • DeepSeek R1, GPT-4o और अन्य बड़े models से लिखी गई reports की तुलना करने में यह उपयोगी हो सकता है
    • open source code अलग-अलग LLMs की सीमाएँ तेज़ी से सामने ला सकता है और खास ज़रूरतों के लिए बेहतर reasoning loops विकसित करने में मदद कर सकता है
  • मैं ऐसा Deep Research tool ढूँढ रहा था जो personal notes (Obsidian) और web से जुड़ सके

    • लगता है इस tool में वह सुविधा है
    • अब बस Deep Research के results को Obsidian में export करने का तरीका ढूँढना बाकी है
  • मैंने इसे वास्तव में इस्तेमाल किया और कुछ समस्याओं का सामना किया, इसलिए openAI text embeddings को MilvusEmbedding से बदलना पड़ा

    • QuickStart का response अच्छा था
  • असली magic bullet lib-gen और sci-hub को search करना है