एकाइ 6 / 11

पहुँच नियन्त्रण, प्रम्प्ट टेम्प्लेट र कुराकानी व्यवस्थापन

लाभ:

  • प्रयोगकर्ता अधिकारमा आधारित पुन: प्राप्ति फिल्टर गर्ने पहुँच नियन्त्रण (ACL) सेटअप गर्नुहोस्
  • एक ठोस प्रम्प्ट टेम्प्लेट लेख्दै जसले सन्दर्भ र प्रयोगकर्ता प्रश्नलाई सही रूपमा राख्छ
  • बहु-राउन्ड कुराकानीहरूमा प्रश्न स्वतन्त्रता र इतिहास व्यवस्थापन अभ्यास गर्दै

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

पहुँच नियन्त्रण: अनाधिकृत डाटा कहिल्यै आइपुग्नु हुँदैन

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

यसो गर्ने तरिका भनेको तपाईंले खोजको क्रममा फिल्टरको रूपमा प्रत्येक भागमा राख्नुभएको प्राधिकरण मेटाडेटा (विभाग, भूमिका, गोपनीयता स्तर) लागू गर्नु हो। तपाइँ सुरक्षित रूपमा अनुप्रयोग तहमा प्रयोगकर्ता (पहिचान र भूमिकाहरू) को हो भनेर निर्धारण गर्नुहुन्छ र कलमा ACL (पहुँच नियन्त्रण सूची) फिल्टर थप्नुहोस्।

# प्राधिकरण पुन: प्राप्ति (वैचारिक) प्रयोगकर्ता = प्रमाणीकरण (सत्र) द्वारा फिल्टर गरिएको # विश्वसनीय स्रोतबाट प्रमाणीकृत = user.roles + ["हरेक"] # उदाहरण। ["HR", "admin"] परिणाम = vektor_db.search( vektor=embed(प्रश्न), top_k=20, filter={"permission_group": {"in": अनुमति}, # मात्र अनुमति दिइएको भाग "गोपनीयता": {"lte": user.level}} # स्तर तल)

सावधानी: मोडेललाई अख्तियारको लागि कहिल्यै न सोध्नुहोस् वा प्रम्प्टमा भर पर्नुहोस्। पहिचान र अधिकार आवेदनको विश्वसनीय तहमा निर्धारण गरिन्छ; पुन: प्राप्ति फिल्टर अनिवार्य छ, प्रम्प्ट निर्देशन केवल एक अतिरिक्त तह हो। "मैले यो प्रम्प्टमा लेखेको छु" सुरक्षा होइन।

ठोस प्रम्प्ट टेम्प्लेट

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

तपाईं कर्पोरेट मानव संसाधन सहायक हुनुहुन्छ। तपाइँको काम केवल निम्न CONTEXT मा आधारित कर्मचारी प्रश्नहरूको जवाफ दिनु हो। नियमहरू:- यदि जवाफ स्पष्ट रूपमा सन्दर्भमा छैन भने "मैले कागजातमा यस बारे जानकारी फेला पार्न सकिन, HR टोलीसँग जाँच गर्नुहोस्" लेख्नुहोस्। अनुमान नगर्नुहोस्, नबनाउनुहोस्।- यदि सन्दर्भमा स्रोतहरू विवादमा छन् भने, आधिकारिक नीतिलाई आधारको रूपमा लिनुहोस् र विरोधाभास बताउनुहोस्।- प्रत्येक दावीको अन्त्यमा तपाईंले [स्रोत: फाइल, खण्ड] को रूपमा भरोसा गरेको स्रोत थप्नुहोस्।- छोटो, स्पष्ट र व्यावसायिक भाषामा जवाफ दिनुहोस्। CONTEXT: {numbered_parts} QUESTION: {user_question}

सन्दर्भ भागहरू ([1], [2], ...) नम्बरिङले मोडेललाई उद्धृत गर्न सजिलो बनाउँछ। साथै, प्रत्येक टुक्राको सुरुमा स्रोत लेख्नुहोस् ताकि मोडेलले यसलाई सही रूपमा उद्धृत गर्न सक्छ।

सुझाव: प्रम्प्ट टेम्प्लेट स्थिर राख्नुहोस् र सधैं चरहरू (सन्दर्भ, प्रश्न) उही ठाउँहरूमा राख्नुहोस्। एक निश्चित टेम्प्लेटले परीक्षण योग्यता बढाउँछ र केही प्रणालीहरूमा प्रम्प्ट क्यासिङको लागि लागत घटाउँछ।

CONTEXT:[1] (स्रोत: ik_el_kitabi.pdf, खण्ड 5.2) वार्षिक भुक्तान बिदा 14 दिन हो...[2] (स्रोत: ik_el_kitabi.pdf, खण्ड 5.4) 5 वर्ष भन्दा बढी सेवा भएका व्यक्तिहरूको लागि बिदा 20 दिन हो।

कमजोर प्रम्प्ट / बलियो प्रम्प्ट

कमजोर (कुनै आधार छैन, स्रोत छैन, पहिचान मिश्रित):

यी कागजातहरू प्रयोग गर्नुहोस् र प्रश्नको जवाफ दिनुहोस्: {parts} प्रयोगकर्ता: {प्रश्न} # समस्या: मोडेल सन्दर्भ बाहिर जान्छ, बनाउँछ, स्रोतहरू उद्धृत गर्दैन, # विरोधाभासमा मनमानी व्यवहार गर्दछ।

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

तपाईं हुनुहुन्छ... केवल CONTEXT मा भरोसा गर्नुहोस्। अन्यथा, "मलाई थाहा छैन" भन्नुहोस्। विवादमा, आधिकारिक नीति छनौट गर्नुहोस्। प्रत्येक दावीमा [स्रोत: ...] थप्नुहोस्। CONTEXT: [1]... [2]... प्रश्न: {प्रश्न}# नतिजा: जवाफ जुन सन्दर्भमा विश्वासयोग्य छ, स्रोत, र सही रूपमा विरोधाभास व्यवस्थापन गर्दछ।

बहु-टूर कुराकानी व्यवस्थापन

एक वास्तविक प्रयोगकर्ताले एकल प्रश्न सोध्दैन र यसलाई एक्लै छोड्दैन; बोल्छ। "मसँग वार्षिक बिदा कति दिन छ?" → "छ वर्षको कर्मचारीको बारेमा के हो?" → "म यसको लागि कसरी आवेदन दिन सक्छु?" दोस्रो र तेस्रो प्रश्न मात्र अर्थहीन छन्; अघिल्लो सन्दर्भमा निर्भर गर्दछ।

तपाईं दुई समस्या समाधान गर्न आवश्यक छ। पहिलो पुन: प्राप्तिको लागि हो: फलो-अप प्रश्नलाई स्वतन्त्र बनाउनुहोस् (प्रश्न पुन: लेखन)। "छ वर्षको कर्मचारीको बारेमा के हो?" → "6 वर्षको कर्मचारीले कति दिनको वार्षिक बिदा पाउने हक हुन्छ?" तपाईं यो स्वतन्त्र प्रश्नको साथ खोज्नुहोस्। दोस्रो उत्पादनको लागि हो: तपाइँ मोडेललाई कुराकानीको इतिहास पनि दिनुहुन्छ ताकि यो लगातार जारी रहन्छ।

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

इतिहास बढ्दै जाँदा (लामो कुराकानी), यो सबै एकै समयमा पठाउनु महँगो हुन्छ र सन्दर्भ विन्डो भर्छ। समाधान: अघिल्लो राउन्डहरू संक्षेप गर्नुहोस् वा अन्तिम N राउन्डहरू राख्नुहोस् र अघिल्लो राउन्डहरूलाई सारांशमा घटाउनुहोस्। तसर्थ, लागत नियन्त्रणमा रहन्छ र स्थिरता कायम रहन्छ।

स्थिति

समस्या

समाधान

फलो-अप प्रश्नको कुनै सन्दर्भ छैन

पुन: प्राप्ति खोज अर्थहीन

प्रश्नलाई स्वतन्त्र बनाउनुहोस् (पुनः लेख्नुहोस्)

लामो कुराकानी

लागत र झ्याल फुल्छ

विगतका भ्रमणहरूको सारांश

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

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

नयाँ विषयमा विगतको प्रभाव कम गर्नुहोस्

भ्रमणहरू बीच प्राधिकरण फरक हुन सक्छ

चुहावटको जोखिम

प्रत्येक राउन्डमा ACL फिल्टर पुन: लागू गर्नुहोस्

तीन मिनी केसहरू

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

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

केस 3 - सुन्निएको अतीत। एक सहायक संग कुराकानी को 30 राउन्ड मा, प्रत्येक कल सम्पूर्ण इतिहास पठाइयो; लागत प्रति राउन्ड 3 पटक बढ्दै थियो, र प्रतिक्रियाहरू सुस्त थिए। जब हामीले अन्तिम 6 राउन्डहरू राख्ने र अघिल्लोलाई सारांशित गर्ने संरचनामा स्विच गर्यौं, टोकन लागत 62% ले घट्यो र स्थिरता कायम रह्यो।

सामान्य गल्तीहरू

  • प्रम्प्टमा अधिकार छोड्दै: मोडेल बिर्सन्छ/बाइपास; ACL फिल्टर पुन: प्राप्तिमा अनिवार्य छ।
  • सन्दर्भ गणना गर्दैन: मोडेलले सही स्रोत उद्धृत गर्न सक्दैन।
  • फलो-अप प्रश्नलाई स्वतन्त्र गर्दैन: पुन: प्राप्तिले व्यर्थ खोज्छ।
  • सबै इतिहास अन्धा पठाउँदै: लागत र ढिलाइमा विस्फोट; संक्षेप गर्नुहोस्।
  • विरोधाभास नियम नलेखेको: मोडेलले आधिकारिक रूपमा अविश्वसनीय स्रोत प्रस्तुत गर्न सक्छ।

संक्षेपमा

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

आवेदन कार्य

(१) तपाईंको आफ्नै सहायक (जस्तै सबैजना, विभाग, प्रबन्धक) को लागि कम्तिमा तीन प्राधिकरण समूह परिभाषित गर्नुहोस् र तालिकामा लेख्नुहोस् कि कुन कागजात प्रकार कुन समूहका लागि खुला छ। (२) माथिको प्रम्प्ट टेम्प्लेटलाई आफ्नो भूमिका र स्वर अनुसार मिलाएर लेख्नुहोस्; सन्दर्भलाई संख्यात्मक र स्रोत बनाउनुहोस्। (३) तीन-राउन्ड यथार्थवादी कुराकानी परिदृश्य (प्रश्न → फलो-अप → फलो-अप) लेख्नुहोस् र म्यानुअल रूपमा प्रत्येक फलो-अप प्रश्नको स्वतन्त्र संस्करणहरू सिर्जना गर्नुहोस्। (4) एक वाक्यमा व्याख्या गर्नुहोस् किन ACL फिल्टर यस परिदृश्यमा प्रत्येक राउन्डमा पुन: लागू गर्नुपर्छ।

चेकलिस्ट

  • [ ] म पुन: प्राप्ति फिल्टरको साथ पहुँच नियन्त्रण लागू गर्छु, म प्रोम्प्टमा भर पर्दैन।
  • [ ] म मेरो प्रम्प्ट टेम्प्लेटमा ग्राउन्डिङ थप्छु, मलाई अनुमति, स्रोत र विवाद नियम थाहा छैन।
  • [] म सन्दर्भ भागहरू नम्बर र सन्दर्भ दिन्छु।
  • [ ] म पुन: प्राप्ति अघि फलो-अप प्रश्नहरू स्वतन्त्र बनाउँछु।
  • [ ] म लामो कुराकानी इतिहास संक्षेप गरेर लागत र सञ्झ्याल व्यवस्थापन गर्छु।