इकाई 6 / 11

अभिगम नियंत्रण, शीघ्र टेम्पलेट और वार्तालाप प्रबंधन

लाभ:

  • एक्सेस कंट्रोल (एसीएल) स्थापित करें जो उपयोगकर्ता प्राधिकरण के आधार पर पुनर्प्राप्ति को फ़िल्टर करता है
  • एक ठोस प्रॉम्प्ट टेम्प्लेट लिखना जो संदर्भ और उपयोगकर्ता प्रश्न को सही ढंग से रखता है
  • बहु-स्तरीय बातचीत में प्रश्न स्वतंत्रता और इतिहास प्रबंधन का अभ्यास करना

हमने वास्तुकला की स्थापना की; आइए अब इसे सुरक्षित, सुसंगत और संवादात्मक बनाएं। इस इकाई में तीन महत्वपूर्ण विषय हैं: (1) एक्सेस नियंत्रण जो उपयोगकर्ता के अधिकार के आधार पर पुनर्प्राप्ति को फ़िल्टर करता है, (2) एक मजबूत संकेत टेम्पलेट जो संदर्भ और प्रश्न को सही ढंग से रखता है, (3) मल्टी-राउंड चैट में प्रश्न स्वतंत्रता और वार्तालाप इतिहास प्रबंधन। इन तीनों के बिना, एक सहायक या तो डेटा लीक कर देगा, असंगत उत्तर देगा, या अनुवर्ती प्रश्नों पर विफल हो जाएगा।

अभिगम नियंत्रण: अनधिकृत डेटा कभी नहीं आना चाहिए

उद्यम का सबसे बड़ा जोखिम: एक दस्तावेज़ जिसे उपयोगकर्ता को प्रतिक्रिया में लीक नहीं देखना चाहिए। एक बहुत ही सामान्य शुरुआती गलती है "मॉडल को प्रॉम्प्ट पर 'छिपे हुए दस्तावेज़ दिखाने' के लिए कहना।" यह सुरक्षित नहीं है. मॉडल एक निर्देश भूल सकता है या शीघ्र इंजेक्शन इसे टाल सकता है। सही स्थान पुनर्प्राप्ति चरण है: अनधिकृत टुकड़े को बिल्कुल भी नहीं लाया जाना चाहिए।

ऐसा करने का तरीका खोज के दौरान प्रत्येक भाग पर फ़िल्टर के रूप में आपके द्वारा डाले गए प्राधिकरण मेटाडेटा (विभाग, भूमिका, गोपनीयता स्तर) को लागू करना है। आप एप्लिकेशन स्तर पर सुरक्षित रूप से निर्धारित करते हैं कि उपयोगकर्ता कौन है (पहचान और भूमिकाएं) और कॉल में एक एसीएल (एक्सेस कंट्रोल लिस्ट) फ़िल्टर जोड़ें।

# प्राधिकरण पुनर्प्राप्ति द्वारा फ़िल्टर किया गया (वैचारिक) उपयोगकर्ता = प्रमाणित (सत्र) # विश्वसनीय स्रोत से प्रमाणित = उपयोगकर्ता.भूमिकाएं + ["हर कोई"] # उदाहरण के लिए। ["एचआर", "एडमिन"]परिणाम = वेक्टर_डीबी.खोज(वेक्टर=एंबेड(प्रश्न), टॉप_के=20, फिल्टर={"अनुमति_समूह": {"में": अनुमति है}, # केवल अनुमत भाग "गोपनीयता": {"एलटीई": उपयोगकर्ता.स्तर}} # स्तर से नीचे)

सावधानी: कभी भी मॉडल से अधिकार न मांगें या संकेत पर भरोसा न करें। पहचान और अधिकार एप्लिकेशन की विश्वसनीय परत पर निर्धारित किए जाते हैं; पुनर्प्राप्ति फ़िल्टर अनिवार्य है, शीघ्र निर्देश केवल एक अतिरिक्त परत है। "मैंने इसे प्रॉम्प्ट में लिखा था" सुरक्षा नहीं है।

सॉलिड प्रॉम्प्ट टेम्पलेट

प्रॉम्प्ट टेम्प्लेट वह ढांचा है जो पुनर्प्राप्ति से संदर्भ, उपयोगकर्ता प्रश्न और व्यवहार निर्देशों को एक साथ लाता है। एक अच्छे टेम्पलेट के भाग: भूमिका/कार्य विवरण, आचरण के नियम (ग्राउंडिंग, मुझे अनुमति नहीं पता, संसाधन अनुरोध, टोन), संदर्भ, प्रश्न।

आप एक कॉर्पोरेट मानव संसाधन सहायक हैं। आपका काम केवल निम्नलिखित संदर्भ के आधार पर कर्मचारी प्रश्नों का उत्तर देना है। नियम:- यदि उत्तर स्पष्ट रूप से संदर्भ में नहीं है तो लिखें "मुझे दस्तावेज़ में इस पर जानकारी नहीं मिली, एचआर टीम से जांच करें"। अनुमान न लगाएं, बनावटी न बनाएं। - यदि संदर्भ में स्रोत विरोधाभासी हैं, तो आधिकारिक नीति को आधार के रूप में लें और विरोधाभास बताएं। - प्रत्येक दावे के अंत में उस स्रोत को जोड़ें जिस पर आप भरोसा करते हैं [स्रोत: फ़ाइल, अनुभाग]। - संक्षिप्त, स्पष्ट और पेशेवर भाषा में उत्तर दें। संदर्भ:{numbered_parts}प्रश्न: {user_question}

संदर्भ भागों ([1], [2], ...) को क्रमांकित करने से मॉडल का हवाला देना आसान हो जाता है। साथ ही, प्रत्येक टुकड़े की शुरुआत में स्रोत लिखें ताकि मॉडल इसे सही ढंग से उद्धृत कर सके।

टिप: प्रॉम्प्ट टेम्प्लेट को स्थिर रखें और वेरिएबल्स (संदर्भ, प्रश्न) को हमेशा एक ही स्थान पर रखें। एक निश्चित टेम्प्लेट परीक्षण योग्यता को बढ़ाता है और कुछ प्रणालियों में त्वरित कैशिंग के कारण लागत को कम करता है।

संदर्भ:[1] (स्रोत: ik_el_kitabi.pdf, धारा 5.2) वार्षिक भुगतान अवकाश 14 दिन है...[2] (स्रोत: ik_el_kitabi.pdf, धारा 5.4) 5 वर्ष से अधिक सेवा वाले लोगों के लिए छुट्टी 20 दिन है...

कमजोर संकेत/मजबूत संकेत

कमजोर (कोई ग्राउंडिंग नहीं, कोई स्रोत नहीं, पहचान मिश्रित):

इन दस्तावेज़ों का उपयोग करें और प्रश्न का उत्तर दें: {भाग}उपयोगकर्ता: {प्रश्न}# समस्या: मॉडल संदर्भ से बाहर चला जाता है, बना देता है, स्रोतों का हवाला नहीं देता है, # विरोधाभास में मनमाना व्यवहार करता है।

मजबूत (भूमिका + नियम + क्रमांकित संदर्भ + स्रोत अनिवार्य):

आप हैं... बस संदर्भ पर भरोसा करें। अन्यथा, कहें "मुझे नहीं पता"। संघर्ष में, आधिकारिक नीति चुनें। प्रत्येक दावे में [स्रोत: ...] जोड़ें। संदर्भ: [1]... [2]... प्रश्न: {प्रश्न}# परिणाम: उत्तर जो संदर्भ के प्रति वफादार हो, स्रोतयुक्त हो, और विरोधाभास को सही ढंग से प्रबंधित करता हो।

मल्टी-टूर वार्तालाप प्रबंधन

एक वास्तविक उपयोगकर्ता एक भी प्रश्न नहीं पूछता है और उसे अकेला नहीं छोड़ता है; बोलता है. "मेरे पास कितने दिनों की वार्षिक छुट्टी है?" → "6-वर्षीय कर्मचारी के बारे में क्या?" → "मैं इसके लिए कैसे आवेदन करूं?" केवल दूसरा और तीसरा प्रश्न ही निरर्थक है; पिछले संदर्भ पर निर्भर करता है.

आपको दो समस्याओं का समाधान करना होगा. पहला पुनर्प्राप्ति के लिए है: अनुवर्ती प्रश्न को स्वतंत्र बनाएं (प्रश्न पुनर्लेखन)। "6-वर्षीय कर्मचारी के बारे में क्या?" → "6 वर्ष का कर्मचारी कितने दिनों की वार्षिक छुट्टी का हकदार है?" आप इस स्वतंत्र प्रश्न से खोजें. दूसरा उत्पादन के लिए है: आप मॉडल को वार्तालाप इतिहास भी देते हैं ताकि यह लगातार जारी रहे।

# दो-चरण: स्वतंत्र करें → खोजें → इतिहास के साथ उत्पन्न करें (वैचारिक) स्वतंत्र = model.uret( "प्रश्न को अपने आप समझने योग्य बनाने के लिए वार्तालाप इतिहास का उपयोग करें:\nइतिहास: {इतिहास}\nप्रश्न: {follow_question}") संदर्भ = पुनर्प्राप्ति (स्वतंत्र) # स्वतंत्र प्रश्नउत्तर के साथ खोजें = model.uret(prompt(संदर्भ, इतिहास, follow_question))

जैसे-जैसे इतिहास बढ़ता है (लंबी बातचीत), इसे एक बार में भेजना महंगा हो जाता है और संदर्भ विंडो भर जाती है। समाधान: पिछले राउंड को संक्षेप में प्रस्तुत करें या अंतिम एन राउंड को रखें और पिछले राउंड को सारांश में कम करें। इस प्रकार, लागत नियंत्रण में रहती है और स्थिरता बनी रहती है।

स्थिति

समस्या

समाधान

अनुवर्ती प्रश्न का कोई संदर्भ नहीं है

पुनर्प्राप्ति खोज निरर्थक है

प्रश्न को स्वतंत्र बनाएं (पुनः लिखें)

लंबी बातचीत

लागत और खिड़की फूल जाती है

पिछले दौरों का सारांश

उपयोगकर्ता ने विषय बदल दिया

पुराना सन्दर्भ संक्रमित हो जाता है

नये विषय पर अतीत का प्रभाव कम करें

दौरे के बीच प्राधिकरण भिन्न हो सकता है

रिसाव का खतरा

हर दौर में एसीएल फिल्टर दोबारा लगाएं

तीन मिनी मामले

केस 1 - शीघ्रता के साथ "सुरक्षा" भ्रांति। एक कंपनी ने एक सहायक पर गोपनीय वेतन दस्तावेज़ रखे, जिसे कोई भी पूछ सकता था, लेकिन संकेत पर केवल "वेतन की जानकारी न दें" लिखा। जब एक यूजर ने सवाल घुमा-फिरा कर पूछा तो मॉडल ने वेतन सीमा लीक कर दी। जब एसीएल फिल्टर को पुनर्प्राप्ति (केवल एचआर भूमिका के लिए वेतन भाग) में जोड़ा गया था, तो रिसाव पूरी तरह से बंद हो गया था; क्योंकि वह भाग अब कभी नहीं लाया जाता।

केस 2 - संदर्भहीन पीछा करना। एक सहायता सहायक में, उपयोगकर्ता पूछता है "वापसी अवधि?" → "टूटे हुए उत्पाद के बारे में क्या?" सिस्टम "टूटे हुए उत्पाद" के लिए अप्रासंगिक हिस्से लेकर आया। जब प्रश्न स्वतंत्रता जोड़ा गया ("टूटे हुए उत्पाद के लिए वापसी की अवधि कितनी है?"), सही उत्तर दर 44% से बढ़कर 90% हो गई।

केस 3 - सूजा हुआ अतीत। एक सहायक के साथ 30 राउंड की चैट में, प्रत्येक कॉल ने संपूर्ण इतिहास भेजा; लागत प्रति चक्कर 3 गुना बढ़ रही थी, और प्रतिक्रियाएँ धीमी हो रही थीं। जब हमने एक ऐसी संरचना पर स्विच किया जिसने पिछले 6 राउंड को रखा और पिछले को सारांशित किया, तो टोकन की लागत 62% कम हो गई और स्थिरता बनी रही।

सामान्य गलतियाँ

  • प्राधिकार को प्रॉम्प्ट पर छोड़ना: मॉडल भूल जाता है/बाईपास हो जाता है; पुनर्प्राप्ति पर एसीएल फ़िल्टर अनिवार्य है।
  • संदर्भ की गणना नहीं करना: मॉडल सही स्रोत का हवाला नहीं दे सकता।
  • अनुवर्ती प्रश्न को स्वतंत्र नहीं करना: पुनर्प्राप्ति खोज व्यर्थ है।
  • सारा इतिहास अंधा कर देना: लागत और विलंब में विस्फोट; सारांशित करें।
  • विरोधाभास नियम नहीं लिखना: मॉडल अविश्वसनीय स्रोत को आधिकारिक के रूप में प्रस्तुत कर सकता है।

संक्षेप में

  • पुनर्प्राप्ति चरण के दौरान मेटाडेटा फ़िल्टर के साथ पहुंच नियंत्रण लागू किया जाता है; अनाधिकृत हिस्से कभी नहीं लाने चाहिए।
  • पहचान और अधिकार विश्वसनीय एप्लिकेशन परत पर निर्धारित होते हैं; त्वरित निर्देश सुरक्षा की एक अतिरिक्त परत मात्र है।
  • मजबूत प्रॉम्प्ट टेम्पलेट में भूमिका, आचरण के नियम (ग्राउंडिंग, अनुमति नहीं पता, स्रोत, संघर्ष), क्रमांकित संदर्भ और प्रश्न शामिल हैं।
  • बहु-दौर की बातचीत में, अनुवर्ती प्रश्नों को अलग कर दिया जाता है और मॉडल इतिहास के साथ सुसंगत उत्तर उत्पन्न करता है।
  • लंबे इतिहास को सारांशित करके, लागत और संदर्भ विंडो को नियंत्रण में रखा जाता है; एसीएल को हर दौर में दोबारा लागू किया जाता है।

आवेदन कार्य

(1) अपने सहायक के लिए कम से कम तीन प्राधिकरण समूहों को परिभाषित करें (उदाहरण के लिए हर कोई, विभाग, प्रबंधक) और एक तालिका में लिखें कि कौन सा दस्तावेज़ प्रकार किस समूह के लिए खुला है। (2) उपरोक्त शीघ्र टेम्पलेट को अपनी भूमिका और स्वर के अनुसार अनुकूलित करें और लिखें; संदर्भ को क्रमांकित और स्रोतित करें। (3) तीन दौर का यथार्थवादी वार्तालाप परिदृश्य लिखें (प्रश्न → अनुवर्ती → अनुवर्ती) और प्रत्येक अनुवर्ती प्रश्न का मैन्युअल रूप से स्वतंत्र संस्करण तैयार करें। (4) एक वाक्य में बताएं कि इस परिदृश्य में प्रत्येक दौर में एसीएल फ़िल्टर को फिर से क्यों लागू किया जाना चाहिए।

चेकलिस्ट

  • [ ] मैं पुनर्प्राप्ति फ़िल्टर के साथ पहुंच नियंत्रण लागू करता हूं, मैं सिर्फ संकेत पर भरोसा नहीं करता हूं।
  • [ ] मैं ग्राउंडिंग जोड़ता हूं, मुझे अपने प्रॉम्प्ट टेम्पलेट में अनुमति, स्रोत और विरोध नियम की जानकारी नहीं है।
  • [ ] मैं संदर्भ भागों को क्रमांकित और संदर्भित देता हूं।
  • [ ] मैं पुनर्प्राप्ति से पहले अनुवर्ती प्रश्नों को स्वतंत्र बनाता हूं।
  • [ ] मैं लंबी बातचीत के इतिहास को सारांशित करके लागत और विंडो का प्रबंधन करता हूं।