RAG patterns — RAG पैटर्न

From Systems analysis Wiki
Jump to navigation Jump to search

RAG पैटर्न (अंग्रेज़ी: RAG Patterns) — Retrieval-Augmented Generation (RAG) प्रणालियों के निर्माण के लिए वास्तुकला और पद्धतिगत दृष्टिकोणों का एक समुच्चय है। ये पैटर्न बड़े भाषा मॉडलों (LLM) की मूलभूत समस्याओं — जैसे कि hallucination, ज्ञान का पुराना पड़ जाना और डोमेन-विशिष्टता की कमी — को हल करने के लिए बनाए गए हैं। इसके लिए LLM को बाहरी, गतिशील रूप से उपलब्ध डेटा स्रोतों के साथ एकीकृत किया जाता है[1]। RAG का विकास सरल रैखिक पाइपलाइनों से लेकर जटिल मॉड्यूलर और एजेंट-आधारित प्रणालियों तक हुआ है[2]

RAG के मूलभूत पैटर्न

तकनीक के विकास के साथ अनेक RAG पैटर्न सामने आए हैं, जिनमें से प्रत्येक विशिष्ट समस्याओं को हल करता है और गुणवत्ता, गति तथा लागत के बीच अपने-अपने संतुलन बिंदु रखता है।

  • Classic RAG (क्लासिक RAG) — मूलभूत दृष्टिकोण, जिसमें उपयोगकर्ता के प्रश्न को vectorize करके vector डेटाबेस में प्रासंगिक अंश (chunk) खोजे जाते हैं; मिले हुए chunk प्रश्न के साथ LLM को दिए जाते हैं जो उत्तर उत्पन्न करता है[1]
  • Multi‑Query RAG (बहु-प्रश्न RAG) — LLM मूल प्रश्न के कई पुनः-शब्दांकित/परिष्कृत रूप उत्पन्न करता है; सभी रूपों पर खोज की जाती है और परिणाम एकत्रित किए जाते हैं, जिससे पूर्णता (recall) बढ़ती है[3]
  • HyDE (Hypothetical Document Expansion) — छोटे प्रश्न और लंबे दस्तावेज़ों के बीच «अर्थात्मक अंतर» को पाटने के लिए। LLM पहले एक «काल्पनिक» उत्तर-दस्तावेज़ उत्पन्न करता है, फिर उसके embedding का उपयोग खोज के लिए किया जाता है, जिससे प्रायः retrieval की गुणवत्ता सुधरती है[4]
  • Hybrid Retrieval (हाइब्रिड खोज) — semantic (vector) और lexical (BM25) खोज का संयोजन। Hybrid योजनाएँ production प्रणालियों के लिए मानक बन चुकी हैं: vector खोज अर्थगत मिलान को कवर करती है, जबकि BM25 सटीक शब्द/ID/acronym खोजता है; परिणाम fusion द्वारा एकत्रित किए जाते हैं[5][6][7]
  • Re‑ranking (पुनः-क्रमांकन) — दो चरणों की प्रक्रिया: एक तीव्र retriever उम्मीदवारों का समुच्चय देता है (जैसे शीर्ष-100), फिर cross-encoder (या अन्य reranker) प्रासंगिकता की पुनर्गणना करके LLM के लिए सर्वोत्तम (जैसे शीर्ष-5) चुनता है[8][9]
  • Query Routing (प्रश्न-मार्गनिर्देशन) — अनेक विविध डेटा स्रोतों वाली प्रणालियों (भिन्न index/DB/API) में प्रश्न को router (LLM-selector या classifier) की सहायता से सर्वोत्तम स्रोत तक भेजा जाता है; इसमें fallback रणनीतियाँ भी शामिल हैं[10]
  • Agentic/Web RAG (एजेंट RAG) — LLM एक agent की भूमिका में होता है: जटिल प्रश्नों को विघटित करता है, पुनरावृत्तियाँ योजनाबद्ध करता है और प्रतिक्रिया के साथ उपकरणों (vector खोज, वेब खोज) का उपयोग करता है। सामान्य कार्यान्वयन ReAct प्रतिमान है[11]; वेब-उन्मुख संग्रह और अनिवार्य उद्धरण के लिए WebGPT देखें[12]

संबद्ध और उभरते प्रतिमान

  • GraphRAG (ग्राफ RAG) — संदर्भ-चयन के स्रोत और तंत्र के रूप में ज्ञान ग्राफ का उपयोग करता है; खोज सत्ताओं के बीच संबंध-संरचना और पाठ पर आधारित होती है, जिससे multi-hop प्रश्नों पर व्याख्यायोग्यता और गुणवत्ता बढ़ती है[13][14]
  • MM‑RAG (मल्टीमोडल RAG) — पाठ और दृश्य स्रोतों (स्कैन/आरेख/तालिकाएँ) के साथ कार्य करता है। उदाहरण: VisRAG, मल्टीमोडल दस्तावेज़ों पर VLM-उन्मुख retrieval और generation प्रदर्शित करता है[15]
  • Packaging & Context Handling (संदर्भ-पैकेजिंग) — मिले हुए chunk को prompt में एकीकृत करने के तरीके: Stuff, Map‑Reduce, Refine, Tree‑of‑Chunks (RAPTOR)[16]

पैटर्नों की तुलनात्मक तालिका

मुख्य RAG पैटर्नों की तुलना
पैटर्न कब लागू करें गुणवत्ता पर प्रभाव लागत / विलंब जोखिम और सीमाएँ
Classic RAG सजातीय आधार पर PoC और सरल Q&A आधारभूत स्तर; embedding पर अत्यधिक निर्भर[1] कम शब्द-चयन के प्रति संवेदनशीलता; अप्रासंगिक संदर्भ का जोखिम
Hybrid Retrieval अधिकांश production परिदृश्यों में; अनेक कोड/acronym/ID हों पूर्णता बढ़ाता है; सटीक शब्दों को कवर करता है[5][6][7] कम/मध्यम fusion भार का समायोजन; दो index
Re‑ranking जब उच्च सटीकता महत्त्वपूर्ण हो शीर्ष-k पर precision में उल्लेखनीय वृद्धि[8][9] मध्यम/उच्च अतिरिक्त विलंब/लागत
Multi‑Query संक्षिप्त/बहुआयामी प्रश्न recall बढ़ाता है[3] मध्यम अनावश्यक/शोरयुक्त पुनः-शब्दांकन
HyDE बड़े «अर्थात्मक अंतर» वाले संक्षिप्त/अस्पष्ट प्रश्न zero‑shot retrieval की गुणवत्ता सुधारता है[4] मध्यम «काल्पनिक» पाठ की गुणवत्ता पर निर्भर
Query Routing अनेक स्रोत (दस्तावेज़-आधार, SQL, API, वेब) सही स्रोत के कारण प्रासंगिकता बढ़ती है[10] मध्यम मार्ग की त्रुटि = खोज की विफलता
Agentic/Web RAG जटिल, शोधपरक, बहु-चरणीय प्रश्न रैखिक पाइपलाइन की सीमाओं से परे समस्याएँ हल करता है[11][12] उच्च जटिलता, अनंत-लूप का जोखिम; guardrail आवश्यक

व्यावहारिक कार्यान्वयन और वास्तुकला

कार्यान्वयन के चरण

  1. Proof of Concept (PoC): embedding की गुणवत्ता और आधारभूत retrieval जाँचने के लिए सीमित किंतु प्रतिनिधि डेटासेट पर Classic RAG से आरंभ करें[1]
  2. Minimum Viable Product (MVP): «प्रयास/प्रभाव» के सर्वोत्तम अनुपात के रूप में Hybrid Retrieval और Re‑ranking लागू करें[5][8]
  3. Production: प्रश्न-रूपांतरण (HyDE, Multi‑Query) और आवश्यकतानुसार Query Routing जोड़ें; observability (retrieval/rerank/उत्तरों का लॉगिंग) और A/B परीक्षण स्थापित करें[3][10]

मुख्य घटक

  • Chunking (चंकिंग): गुणवत्ता के सबसे महत्त्वपूर्ण कारकों में से एक। सरल निश्चित-आकार का तरीका प्रायः अर्थ-इकाइयों को तोड़ देता है। संरचना-उन्मुख (markup के अनुसार) या recursive splitter (अनुच्छेद → वाक्य → शब्द) अनुशंसित हैं[17][18]
  • Embedding और metadata: प्रत्येक chunk के साथ document_id, पृष्ठ/अनुभाग, शीर्षक, दिनांक संग्रहीत करें; यह फ़िल्टरिंग और स्रोतों के सटीक उद्धरण के लिए आवश्यक है।
  • Hybrid Retrieval और Rerank: fusion (या RRF) के साथ BM25+vector का उपयोग करें, फिर उम्मीदवारों के छोटे pool पर cross-encoder द्वारा पुनः-क्रमांकन करें[5][6][8]
  • संदर्भ-पैकेजिंग: लंबे corpus के लिए Map‑Reduce, Refine या Tree‑of‑Chunks चुनें[16][18]

सामान्य त्रुटियाँ (एंटीपैटर्न)

  • केवल vector खोज BM25 के बिना → कोड/ID/acronym पर विफलता[5][7]
  • अत्यधिक बड़ा/छोटा chunk → संदर्भ का नुकसान या embedding का «विसरण»[17]
  • Production में rerank का अभाव → LLM को शोरयुक्त संदर्भ मिलता है[8]
  • Observability और स्रोत-tracing का अभाव → त्रुटियों के कारणों का विश्लेषण असंभव (RAG मूल्यांकन देखें)।

गुणवत्ता मूल्यांकन और मेट्रिक्स

मूल्यांकन retriever स्तर (ऑफ़लाइन) और end‑to‑end (generation) स्तर पर किया जाता है।

Retriever मेट्रिक्स

  • Hit Rate, Recall@k, MRR — प्रासंगिक दस्तावेज़ों का आवरण और स्थिति।
  • Context Precision & Recall — निकाला गया संदर्भ कितना «शोर-रहित» है और सब आवश्यक को कितना कवर करता है (RAGAS में कार्यान्वित)[19]

Generator मेट्रिक्स (end‑to‑end)

  • Faithfulness / Groundedness — उत्तर का प्रदत्त संदर्भ से अनुरूपता।
  • Answer Relevancy (उत्तर-प्रासंगिकता) — मूल प्रश्न से अनुरूपता।

मेट्रिक्स को स्वचालित करने के लिए open‑source फ्रेमवर्क उपयोग किए जाते हैं: RAGAS, TruLens (RAG triad: context relevance, groundedness, answer relevance), DeepEval[20][21]

यह भी देखें

  • Retrieval-Augmented Generation (RAG)
  • वेक्टर डेटाबेस
  • Embedding
  • AI-एजेंट
  • GraphRAG
  • MM-RAG
  • LLM मूल्यांकन और benchmark

साहित्य

  • Lewis, P., Perez, E., et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS. arXiv:2005.11401.
  • Fan, W., Ding, Y., et al. (2024). A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models. KDD. DOI:10.1145/3637528.3671470; arXiv:2405.06211.
  • Gao, L., Ma, X., Lin, J., Callan, J. (2023). Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE). ACL 2023. ACL Anthology; arXiv:2212.10496.
  • Nogueira, R., Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
  • Weaviate Docs. Hybrid search (BM25+Vector). [१].
  • Qdrant Docs. Hybrid Queries. [२].
  • Milvus Docs. Full‑Text Search / Hybrid Search. [३] / [४].
  • LangChain Docs. MultiQueryRetriever. [५].
  • Cohere Docs. Rerank — best practices. [६].
  • LlamaIndex Docs. Routing (query routers/selectors). [७].
  • Yao, S., et al. (2023). ReAct: Synergizing Reasoning and Acting in Language Models. ICLR. arXiv:2210.03629.
  • Nakano, R., et al. (2021). WebGPT: Browser‑assisted question‑answering with human feedback. arXiv:2112.09332.
  • Microsoft Research Blog. GraphRAG: Unlocking LLM discovery on narrative private data. (2024). [८].
  • Microsoft Research. Project GraphRAG. (2024). [९].
  • Yu, S., et al. (2024). VisRAG: Vision‑based Retrieval‑augmented Generation on Multi‑modality Documents. arXiv:2410.10594.
  • Sarthi, P., et al. (2024). RAPTOR: Recursive Abstractive Processing for Tree‑Organized Retrieval. arXiv:2401.18059.
  • Es, S., et al. (2024). RAGAs: Automated Evaluation of Retrieval Augmented Generation. EACL (Demo). [१०].
  • TruLens Docs. RAG Triad. [११].
  • DeepEval (GitHub). The LLM Evaluation Framework. [१२].
  • LangChain Docs. RecursiveCharacterTextSplitter. [१३].
  • LlamaIndex Docs. HierarchicalNodeParser; Response Synthesis (Tree/Refine). [१४]; [१५].

टिप्पणियाँ

  1. 1.0 1.1 1.2 1.3 Lewis, P., Perez, E., et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS. arXiv:2005.11401.
  2. Fan, W., Ding, Y., et al. (2024). A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models. KDD. DOI:10.1145/3637528.3671470; arXiv:2405.06211.
  3. 3.0 3.1 3.2 LangChain Docs. MultiQueryRetriever. https://python.langchain.com/docs/how_to/MultiQueryRetriever/
  4. 4.0 4.1 Gao, L., Ma, X., Lin, J., Callan, J. (2023). Precise Zero‑Shot Dense Retrieval without Relevance Labels. ACL 2023. arXiv:2212.10496; ACL Anthology: 2023.acl‑long.99.
  5. 5.0 5.1 5.2 5.3 5.4 Weaviate Docs. Hybrid search (BM25+Vector). https://docs.weaviate.io/weaviate/concepts/search/hybrid-search
  6. 6.0 6.1 6.2 Qdrant Docs. Hybrid Queries. https://qdrant.tech/documentation/concepts/hybrid-queries/
  7. 7.0 7.1 7.2 Milvus Docs. Full‑Text Search и Hybrid Search. https://milvus.io/docs/full-text-search.md; https://milvus.io/docs/hybrid_search_with_milvus.md
  8. 8.0 8.1 8.2 8.3 8.4 Nogueira, R., Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
  9. 9.0 9.1 Cohere Docs. Rerank — best practices. https://docs.cohere.com/docs/reranking-best-practices
  10. 10.0 10.1 10.2 LlamaIndex Docs. Routing (query routers/selectors). https://docs.llamaindex.ai/en/stable/module_guides/querying/router/
  11. 11.0 11.1 Yao, S., et al. (2023). ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023. arXiv:2210.03629.
  12. 12.0 12.1 Nakano, R., et al. (2021). WebGPT: Browser‑assisted question‑answering with human feedback. arXiv:2112.09332.
  13. Microsoft Research Blog. GraphRAG: Unlocking LLM discovery on narrative private data. 2024. https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
  14. Microsoft Research. Project GraphRAG. https://www.microsoft.com/en-us/research/project/graphrag/
  15. Yu, S., et al. (2024). VisRAG: Vision‑based Retrieval‑augmented Generation on Multi‑modality Documents. arXiv:2410.10594; OpenReview: zG459X3Xge.
  16. 16.0 16.1 Sarthi, P., et al. (2024). RAPTOR: Recursive Abstractive Processing for Tree‑Organized Retrieval. arXiv:2401.18059.
  17. 17.0 17.1 LangChain Docs. RecursiveCharacterTextSplitter. https://python.langchain.com/docs/how_to/recursive_text_splitter/
  18. 18.0 18.1 LlamaIndex Docs. HierarchicalNodeParser и Tree Summarization. https://docs.llamaindex.ai/en/stable/api/llama_index.core.node_parser.HierarchicalNodeParser.html; https://docs.llamaindex.ai/en/stable/examples/low_level/response_synthesis/
  19. Es, S., et al. (2024). RAGAs: Automated Evaluation of Retrieval Augmented Generation. EACL (Demo). https://aclanthology.org/2024.eacl-demo.16/
  20. TruLens Docs. RAG Triad. https://www.trulens.org/getting_started/core_concepts/rag_triad/
  21. DeepEval (GitHub). https://github.com/confident-ai/deepeval