Prompt and context — प्रॉम्प्ट और संदर्भ
Prompt और Context बड़े भाषा मॉडलों (LLM) के लिए prompt engineering में मूलभूत अवधारणाएँ हैं।
Context, prompt का एक अत्यंत महत्वपूर्ण घटक है, जो LLM की सटीक, प्रासंगिक और उपयोगी उत्तर उत्पन्न करने की क्षमता को निर्धारित करता है। प्रभावी prompt engineering काफी हद तक सही context को एकत्र करने, फ़िल्टर करने, संरचित करने और उसे सही समय पर मॉडल के सामने प्रस्तुत करने की कला में निहित है, साथ ही आधुनिक LLM की सीमाओं को पार करते हुए।
Prompt की परिभाषा
Prompt (अंग्रेज़ी: prompt) — वह पूर्ण इनपुट डेटा समुच्चय है जो LLM को उत्तर उत्पन्न करने के लिए प्रदान किया जाता है। यह केवल एक प्रश्न या आदेश नहीं है, बल्कि एक संरचित पाठ है, जिसमें निम्नलिखित शामिल हो सकते हैं:
- निर्देश (Instructions): मॉडल को सीधे निर्देश कि क्या करना है, किस प्रारूप, शैली या स्वर में।
- मुख्य प्रश्न (Query): उपयोगकर्ता का प्रत्यक्ष प्रश्न या मुख्य कार्य का विवरण।
- संदर्भ (Context): अनुरोध को सही ढंग से पूरा करने के लिए आवश्यक अतिरिक्त जानकारी।
- उदाहरण (Few-shot examples): समान कार्यों पर वांछित प्रारूप या उत्तर शैली का प्रदर्शन।
Prompt की गुणवत्ता और पूर्णता LLM के उत्तर की प्रासंगिकता, सटीकता और उपयोगिता को सीधे निर्धारित करती है।
Context की परिभाषा
Context — prompt engineering के संदर्भ में — prompt के भीतर कोई भी ऐसी जानकारी है जो मॉडल को कार्य, स्थिति की विशिष्टता या उपयोगकर्ता की अपेक्षाओं को बेहतर ढंग से समझने में मदद करती है, लेकिन उसके मूल प्रशिक्षण डेटा का हिस्सा नहीं है। Context उपयुक्त उत्तर उत्पन्न करने के लिए आवश्यक परिस्थितिजन्य विवरण प्रदान करता है।
Context में शामिल हो सकते हैं:
- पिछले संवाद का इतिहास (chat-bot में)।
- बाहरी स्रोतों (दस्तावेज़, डेटाबेस, वेब पेज) से निकाला गया डेटा — RAG का आधार।
- उपयोगकर्ता की जानकारी (प्रोफ़ाइल, प्राथमिकताएँ)।
- वर्तमान कार्य या स्थिति के विशिष्ट विवरण।
- समान कार्यों को पूरा करने के उदाहरण (few-shot prompting के भाग के रूप में)।
Prompt में प्रदान किए गए context को उस सामान्य ज्ञान से अलग करना महत्वपूर्ण है जो मॉडल ने अपने पूर्व-प्रशिक्षण के दौरान प्राप्त किया है। Prompt engineering विशेष रूप से परिस्थितिजन्य context को प्रभावी ढंग से प्रदान करने पर केंद्रित है।
परस्पर संबंध और प्रभाव
Prompt और Context — transformer के कार्य में मूलभूत अवधारणाएँ हैं, जो यह निर्धारित करती हैं कि मॉडल इनपुट डेटा को कैसे ग्रहण करता है और किस आधार पर परिणाम उत्पन्न करता है। वास्तुकला की दृष्टि से transformer विशेष रूप से "prompt" और "context" में अंतर नहीं करता — दोनों input token अनुक्रम के भाग हैं, जिन्हें embedding में परिवर्तित किया जाता है, स्थितीय जानकारी से समृद्ध किया जाता है और self-attention परतों द्वारा सम्मिलित रूप से संसाधित किया जाता है।
Prompt और Context अटूट रूप से जुड़े हैं: Context, prompt का एक अभिन्न अंग है।
- Context, prompt को आकार देता है: इंजीनियर prompt में शामिल करने के लिए प्रासंगिक context का चयन और संरचना करता है।
- Context, मॉडल को दिशा देता है: प्रदान की गई जानकारी LLM को संभावित उत्तरों का दायरा संकुचित करने, प्रासंगिक पहलुओं पर ध्यान केंद्रित करने और hallucination से बचने में सक्षम बनाती है।
- Context की गुणवत्ता, उत्तर की गुणवत्ता निर्धारित करती है: अपर्याप्त, अप्रासंगिक या विरोधाभासी context अस्पष्ट, सामान्य या गलत उत्तरों की ओर ले जाता है। सटीक और पूर्ण context उत्पन्न जानकारी की विशिष्टता और उपयोगिता बढ़ाता है।
- निर्देशों की व्याख्या पर प्रभाव: Context, prompt में दिए गए सामान्य निर्देशों की व्याख्या को स्पष्ट या संशोधित कर सकता है।
Prompt की प्रभावशीलता काफी हद तक इस बात पर निर्भर करती है कि इंजीनियर मॉडल के लिए प्रासंगिक context को कितनी सफलतापूर्वक एकत्र, फ़िल्टर और प्रस्तुत कर पाया है।
Context के प्रकार
Context को विभिन्न आधारों पर वर्गीकृत किया जा सकता है:
स्रोत के अनुसार:
- उपयोगकर्ता द्वारा प्रदान किया गया: उपयोगकर्ता का स्पष्ट इनपुट, उसका प्रश्न या कार्य विवरण।
- संवाद इतिहास से: उपयोगकर्ता और सहायक के पिछले संदेश (अल्पकालिक स्मृति)।
- निकाला गया (Retrieved): RAG के माध्यम से बाहरी स्रोतों (दस्तावेज़, DB, वेब) का डेटा।
- प्रोफ़ाइल/ज्ञान आधार से: उपयोगकर्ता या डोमेन के बारे में दीर्घकालिक जानकारी।
- स्थिर/निर्देशात्मक: इंजीनियर द्वारा prompt टेम्पलेट में डाली गई जानकारी (निर्देश, उदाहरण, भूमिका परिभाषाएँ)।
गतिशीलता के अनुसार:
- स्थिर context: Prompt का अपरिवर्तनीय भाग (निर्देश, परिभाषाएँ, उदाहरण)। सामान्य कार्य को परिभाषित करता है।
- गतिशील context: अनुरोध से अनुरोध के बीच बदलने वाली जानकारी (उपयोगकर्ता डेटा, RAG परिणाम, वर्तमान समय)। विशिष्ट विवरण प्रदान करती है।
संग्रहण समय के अनुसार (स्मृति):
- अल्पकालिक context: वर्तमान संवाद सत्र का इतिहास।
- दीर्घकालिक context: उपयोगकर्ता या पिछले इंटरैक्शन के बारे में सहेजा गया डेटा, जिसके लिए संग्रहण और पुनर्प्राप्ति तंत्र की आवश्यकता होती है।
Context प्रबंधन
प्रभावी context प्रबंधन — prompt engineering का एक प्रमुख कार्य है, विशेष रूप से LLM के context window की सीमाओं को देखते हुए। मुख्य विधियाँ:
- RAG: बड़ी मात्रा में जानकारी के साथ काम करने के लिए सबसे प्रचलित विधि। विशाल ज्ञान आधार से केवल सबसे प्रासंगिक अंश को गतिशील रूप से खोजकर prompt में शामिल करने की अनुमति देती है। इसके लिए vector database और प्रभावी खोज तंत्र (लेक्सिकल या semantic) की आवश्यकता होती है।
- Chunking (चंकिंग): RAG के माध्यम से अनुक्रमणिका और बाद में पुनर्प्राप्ति के लिए बड़े दस्तावेज़ों को semantically संबंधित या निश्चित आकार के भागों में विभाजित करना।
- Sumarization (सारांशीकरण): सीमित context window में मुख्य अर्थ संप्रेषित करने के लिए लंबे संवाद इतिहास या विशाल दस्तावेज़ों का संपीड़न।
- Memory Management (स्मृति प्रबंधन): Chat-bot और agent में संवाद इतिहास को संग्रहीत और पुनर्प्राप्त करने के लिए विभिन्न रणनीतियों का उपयोग (उदाहरण के लिए, LangChain में ConversationBufferMemory, ConversationSummaryBufferMemory)।
- Sliding Window (स्लाइडिंग विंडो): Context में केवल संवाद के अंतिम N संदेशों को बनाए रखना।
- फ़िल्टरिंग और प्राथमिकता निर्धारण: अंतिम prompt बनाने से पहले उनके महत्व के आधार पर (उदाहरण के लिए, खोज के दौरान प्राप्त प्रासंगिकता स्कोर की सहायता से) सबसे प्रासंगिक context अंशों का चयन।
Prompt Engineering में Context की भूमिका
- प्रासंगिकता में वृद्धि: Context मॉडल को उपयोगकर्ता के अनुरोध और स्थिति के अनुरूप उत्तर उत्पन्न करने में सक्षम बनाता है।
- Hallucination में कमी: तथ्यात्मक जानकारी प्रदान करना (RAG के माध्यम से) मॉडल को उस पर निर्भर रहने के लिए प्रेरित करता है, न कि तथ्य गढ़ने के लिए।
- व्यक्तिगतकरण (Personalization): उपयोगकर्ता के बारे में context (प्राथमिकताएँ, इतिहास) उत्तरों को अनुकूलित करने की अनुमति देता है।
- स्थिति प्रबंधन: संवाद और बहु-चरणीय प्रक्रियाओं में context (इतिहास) मॉडल की पिछले चरणों की निरंतरता और जागरूकता सुनिश्चित करता है।
- मॉडल के ज्ञान सीमाओं को पार करना: RAG मॉडल को उन घटनाओं के बारे में प्रश्नों का उत्तर देने में सक्षम बनाता है जो उसके प्रशिक्षण के बाद हुईं, या विशिष्ट/निजी डेटा के बारे में।
सीमाएँ
- Context Window की सीमा: आधुनिक मॉडलों में 1-2 मिलियन token तक की वृद्धि के बावजूद, इतनी मात्रा को संसाधित करना महँगा और धीमा हो सकता है। इसके लिए प्रभावी संपीड़न और चयन रणनीतियों (RAG, summarization) की आवश्यकता होती है।
- प्रासंगिक Context की खोज: RAG की प्रभावशीलता खोज की गुणवत्ता पर निर्भर करती है। गलत तरीके से निकाला गया context मॉडल को भ्रमित कर सकता है ("garbage in - garbage out")।
- "Valley of Meh" (उदासीनता की घाटी): बहुत लंबे prompt के बीच में स्थित जानकारी को मॉडल नज़रअंदाज़ कर सकता है। Prompt की संरचना की आवश्यकता होती है (उदाहरण के लिए, "सैंडविच तकनीक")।
- Context Injection का जोखिम: यदि context अविश्वसनीय स्रोतों (जैसे वेब पेज) से निकाला जाता है, तो उसमें दुर्भावनापूर्ण निर्देश (prompt injection) हो सकते हैं।
साहित्य
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Chen, S. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Packer, C. et al. (2023). MemGPT: Towards LLMs as Operating Systems. arXiv:2310.08560.
- Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Sahoo, P. et al. (2024). A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications. arXiv:2402.07927.
- Kim, S. H. et al. (2024). Theanine: Revisiting Memory Management in Long-term Conversations with Timeline-augmented Response Generation. arXiv:2406.10996.
- Chen, S. et al. (2024). StruQ: Defending Against Prompt Injection with Structured Queries. arXiv:2402.06363.
- Zhong, M. et al. (2024). Understanding the RoPE Extensions of Long-Context LLMs: An Attention Perspective. arXiv:2406.13282.
- Han, H. et al. (2025). Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv:2501.00309.
- Self-Instruct (2025). Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
यह भी देखें
- बड़े भाषा मॉडल
- Context Window
- Vector Databases
- LangChain