युनिट 4 / 11

सिस्टम प्रॉम्प्ट आणि मॉडेल पॅरामीटर्स

नफा:

  • संपूर्ण संभाषणात सिस्टम प्रॉम्प्ट मॉडेलला कसे मार्गदर्शन करते ते डिझाइन करू शकते
  • अनुकूली विचार आणि प्रयत्न पॅरामीटर्सची भूमिका आणि खर्चाचा प्रभाव समजतो
  • max_tokens, stop sequences आणि संरचित आउटपुट सारखी आउटपुट नियंत्रणे लागू करते

एकाच मॉडेलची दोन भिन्न उत्पादने पूर्णपणे भिन्न वागू शकतात. फरक स्वतः मॉडेलमध्ये नाही, परंतु सिस्टम प्रॉम्प्ट आणि त्यास दिलेल्या पॅरामीटर्समध्ये आहे. सिस्टम प्रॉम्प्ट हे मॉडेलचे "वर्क कॉन्ट्रॅक्ट" आहे आणि पॅरामीटर्स "वर्क सेटिंग्ज" आहेत. या युनिटमध्ये, तुम्ही शक्तिशाली सिस्टम प्रॉम्प्ट कसे डिझाइन करावे, आधुनिक मॉडेल्समधील विचार आणि प्रयत्न सेटिंग्ज काय करतात आणि स्वरूप/लांबीसाठी आउटपुट कसे नियंत्रित करावे हे शिकाल. या सेटिंग्ज योग्यरित्या सेट केल्याने तुम्हाला एकाच वेळी गुणवत्ता आणि किंमत दोन्ही व्यवस्थापित करण्याची अनुमती मिळते.

सिस्टम प्रॉम्प्ट: मॉडेलचे कायमचे निर्देश

सिस्टम प्रॉम्प्ट ही उच्च-स्तरीय सूचना आहे जी संपूर्ण संभाषणात लागू होते. हे नियम वापरकर्त्याचा कोणताही प्रकार असला तरीही वैध राहतील. चांगल्या सिस्टम प्रॉम्प्टमध्ये खालील घटक समाविष्ट असतात:

  1. भूमिका/ओळख: मॉडेल कोण आहे? ("तुम्ही कॉर्पोरेट सपोर्ट असिस्टंट आहात.")
  2. व्याप्ती आणि सीमा: ते काय करते आणि काय करत नाही? ("फक्त प्रदान केलेल्या पॉलिसी दस्तऐवजावर आधारित.")
  3. स्वरूप नियम: आउटपुट कसे दिसले पाहिजे? ("कमाल 3 लेख, अधिकृत भाषा.")
  4. अनिश्चिततेतील वर्तन: अनिश्चिततेने काय करावे? ("माहिती नसल्यास, ती तयार करा, ती संबंधित युनिटकडे निर्देशित करा.")
  5. सुरक्षा/गोपनीयता: काय नको/नको आहे? ("वैयक्तिक डेटाची विनंती करा.")
टीप: सिस्टम प्रॉम्प्ट निश्चित ठेवा. प्रत्येक विनंतीनुसार बदलणारी माहिती एम्बेड करू नका (वर्तमान तारीख, वापरकर्तानाव, सत्र आयडी). हे दोन्ही सुसंगतता खंडित करते आणि युनिट 6 वरील प्रॉम्प्ट कॅशे अवैध करते. वापरकर्ता संदेशामध्ये व्हेरिएबल माहिती ठेवा.

अति आक्रमक सूचना सापळा

आधुनिक मॉडेल्स सूचनांचे अत्यंत बारकाईने पालन करतात. "मस्ट", "नेहमी", "निश्चितपणे हे करा", इत्यादीसारखे आक्रमक वाक्ये, जे जुन्या मॉडेल्समध्ये काम करतात, आज ओव्हरट्रिगरिंग करतात: मॉडेल आवश्यक नसताना एजंटला कॉल करते किंवा अनावश्यकपणे दीर्घकाळ चालते. नियम मऊ करा: "शोध साधन वापरावे" ऐवजी "उत्तर संभाषणात नसल्यास, शोध साधन वापरा" अधिक अचूक आहे.

मॉडेल पॅरामीटर्स: विचार आणि प्रयत्न

शास्त्रीय LLM चे तापमान मापदंड होते: कमी मूल्याने अधिक विशिष्ट/सातत्यपूर्ण आउटपुट तयार केले, उच्च मूल्याने अधिक वैविध्यपूर्ण/सर्जनशील आउटपुट तयार केले. आधुनिक जनरेशन मॉडेल्स (जसे की Opus 4.8, Sonnet 5) हा दृष्टिकोन आणखी दोन शक्तिशाली यंत्रणांसह बदलतात आणि यापुढे तापमानासारख्या सॅम्पलिंग पॅरामीटर्स स्वीकारत नाहीत.

  • अनुकूल विचार: मॉडेल प्रतिसाद देण्यापूर्वी त्याच्या "डोक्यात" टप्प्याटप्प्याने कारणे सांगतो. कामाची अडचण लक्षात घेऊन किती विचार करायचा हे मॉडेल ठरवते. जटिल, बहु-चरण समस्यांवर अचूकता लक्षणीयरीत्या सुधारते; साध्या प्रश्नांवर अनावश्यक विलंब टाळण्यासाठी तो कमी विचार करतो.
  • प्रयत्न: उच्च-स्तरीय नॉब जे मॉडेल एखाद्या कार्यात किती खोलवर जाते आणि एकूण किती टोकन खर्च करते हे समायोजित करते. ठराविक पातळी: निम्न, मध्यम, उच्च आणि वर. उच्च प्रयत्न गुणवत्ता सुधारू शकतात, परंतु यामुळे विलंब आणि खर्च देखील वाढतो; कमी प्रयत्नांमुळे वेग आणि बचत होते.

सेटिंग

काय करते

जेव्हा

विचार करणे/कमी प्रयत्न करणे

जलद, स्वस्त, वरवरचे

साधे वर्गीकरण, लहान प्रतिसाद, विलंब संवेदनशील कार्ये

अनुकूल विचार + मध्यम प्रयत्न

संतुलित गुणवत्ता/खर्च

सर्वात सामान्य उद्देश कार्ये

अनुकूल विचार + उच्च प्रयत्न

सर्वोच्च अचूकता

जटिल तर्क, कोडिंग, दीर्घ-श्रेणी एजंट कार्य

खबरदारी: "जास्तीत जास्त प्रयत्न काहीही असले तरी" रिफ्लेक्समुळे खर्च वाढतो. कार्य करण्यासाठी प्रयत्न समायोजित करा; साध्या कार्यांमध्ये, कमी प्रयत्नांमुळे बऱ्याचदा स्वस्त किमतीत समान अचूक परिणाम मिळतात. जिथे गंभीर अचूकतेची आवश्यकता असेल तिथे उंच जा.

आउटपुट नियंत्रण: स्वरूप, लांबी, संरचना

पॅरामीटर्स व्यतिरिक्त, तुम्ही स्वतः आउटपुट देखील नियंत्रित करता:

  • max_tokens: आउटपुटची कठोर कमाल मर्यादा (1ले आणि 3रे युनिट).
  • स्टॉप सीक्वेन्स: मॉडेलला विशिष्ट स्ट्रिंग दिसल्यावर ते थांबवणे. संरचित उत्पादनामध्ये ब्रेकपॉइंट सेट करण्यासाठी उपयुक्त.
  • संरचित आउटपुट: तुम्ही प्रदान केलेल्या JSON स्कीमाशी जुळण्यासाठी मॉडेलच्या प्रतिसादाची सक्ती करा. हे सुनिश्चित करते की आउटपुट प्रोग्रामॅटिकली पार्स करण्यायोग्य आणि वैध आहे. प्रॉम्प्टसह "फक्त JSON परत करा" असे म्हणण्यापेक्षा ते अधिक विश्वासार्ह आहे.

{ "output_config": { "format": { "type": "json_schema", "schema": { "type": "object", "additionalProperties": false, "properties": { "category": { "type": "string", "enum": ["invoice", "technical", "the returnency": "returnency"} " "स्ट्रिंग", "एनम": ["कमी", "मध्यम", "उच्च"] } }, "आवश्यक": ["श्रेणी", "तात्काळ"] } } }}

कॉपी करण्यायोग्य सिस्टम प्रॉम्प्ट टेम्पलेट्स

# कॉर्पोरेट सपोर्ट असिस्टंट तुम्ही कॉर्पोरेट सपोर्ट असिस्टंट आहात.- प्रदान केलेल्या पॉलिसी दस्तऐवजावर पूर्णपणे विसंबून राहा; दस्तऐवजात नसल्यास, "माझ्याकडे ही माहिती नाही" असे म्हणा. - जास्तीत जास्त 3 वाक्यांमध्ये औपचारिक आणि स्पष्ट उत्तर द्या. - वैयक्तिक डेटा (TC ID क्रमांक, कार्ड क्रमांक) विचारा आणि तुमच्या उत्तरात त्याची पुनरावृत्ती करू नका. - तुम्हाला खात्री नसल्यास, अंदाज लावू नका.

# स्ट्रक्चर्ड आउटपुट फोर्सिंग क्लासिफायर तुम्ही मागणी क्लासिफायर आहात. इनपुट एक ग्राहक संदेश आहे. फक्त विनंती केलेली फील्ड परत करा, टिप्पण्या लिहू नका. तुम्हाला खात्री नसल्यास, "इतर" वापरा.

# अनिश्चिततेत उभे राहण्याचे परिभाषित वर्तन असलेले विश्लेषक तुम्ही डेटा विश्लेषक आहात. प्रदान केलेल्या तक्त्यावरून केवळ पडताळणीयोग्य निष्कर्ष काढा. डेटामध्ये अस्तित्वात नसलेला निष्कर्ष कधीही काढू नका. अनुमान अस्पष्ट असल्यास, "डेटा अपुरा" लिहा.

# टोन आणि लांबी नियंत्रणासह सामग्री लेखक तुम्ही सामग्री लेखक आहात. उबदार पण व्यावसायिक टोन वापरा. प्रत्येक मजकूर 120 किंवा त्यापेक्षा कमी शब्दांपर्यंत मर्यादित करा. क्लिच मार्केटिंग भाषा टाळा.

कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट

# WEAK उपयुक्त व्हा आणि चांगली उत्तरे द्या. आपले सर्वोत्तम करा.

# मजबूत भूमिका: तांत्रिक सहाय्य तज्ञ. कार्यक्षेत्र: केवळ उत्पादन मार्गदर्शक प्रदान केले आहे. स्वरूप: चरण-दर-चरण, क्रमांकित सूची, कमाल 5 पायऱ्या. मर्यादा: उपाय सुचवा मार्गदर्शकामध्ये नाही; म्हणा "मला ते मॅन्युअलमध्ये सापडले नाही." गोपनीयता: प्रतिसादात वापरकर्त्याने शेअर केलेला अनुक्रमांक पुन्हा सांगू नका.

शक्तिशाली आवृत्ती; ते भूमिका, व्याप्ती, स्वरूप, सीमा आणि गोपनीयता स्वतंत्रपणे निर्धारित करते. आउटपुट सुसंगतता थेट या स्पष्टतेतून येते.

तीन मिनी केसेस

केस 1 - प्रयत्न समायोजनाद्वारे खर्चात कपात. एक संघ त्यांचे सर्व कॉल उच्च प्रयत्न + विचारांवर चालवत होता; अगदी साधे ईमेल डायजेस्टही महाग होते आणि तयार होण्यास मंद होते. त्यांनी कमी प्रयत्नांना सारांश आणि उच्च प्रयत्नांसाठी करार विश्लेषण यासारखी सोपी कार्ये नियुक्त केली. अचूकता राखली गेली, सरासरी विलंब निम्म्यावर आला आणि मासिक खर्च एक तृतीयांश कमी झाला.

केस २ — JSON हमी. एका ऑपरेशन टीमने "फक्त JSON द्या" असे प्रॉम्प्ट देऊन वर्गीकरण आउटपुट मागितले, परंतु मॉडेल अधूनमधून "हा निकाल आहे:" असे लिहितो आणि पार्सर क्रॅश होईल. जेव्हा मी कॉन्फिगर केलेला आउटपुट स्कीमा कनेक्ट केला, तेव्हा प्रत्येक वेळी आउटपुट वैध JSON परत आला; पार्सिंग त्रुटी रीसेट केल्या गेल्या आहेत.

केस 3 - आक्रमक प्रॉम्प्ट मागे हटणे. एक सहाय्यक प्रॉम्प्ट म्हणाला, "प्रत्येक प्रश्नासाठी शोधा"; मॉडेलने अगदी साध्या प्रश्नांसाठीही अनावश्यक शोध घेतला ज्यांचे उत्तर त्याला आधीच माहित होते, कमी होत गेले आणि खर्च वाढला. त्यांनी "उत्तर संदर्भानुसार नसेल तर शोधा" असा नियम शिथिल केला; अनावश्यक कॉल 70% ने कमी झाले आणि प्रतिसादांचा वेग वाढला.

सामान्य चुका

  • सिस्टम प्रॉम्प्टमध्ये व्हेरिएबल डेटा एम्बेड करणे: सुसंगतता खंडित करते आणि कॅशे अवैध करते.
  • अत्याधिक आक्रमक सूचना: आधुनिक मॉडेल्समध्ये अत्यधिक ट्रिगरिंग आणि अनावश्यक खर्च.
  • प्रत्येक कामात उच्च परिश्रम: साध्या कार्यात वाया घालवणे; कामासाठी प्रयत्न समायोजित करा.
  • केवळ प्रॉम्प्टद्वारे JSON ला विनंती करणे: ते अधूनमधून खंडित होते; गंभीर असल्यास, संरचित आउटपुट वापरा.
  • सीमा/अस्पष्टता वर्तन परिभाषित करत नाही: मॉडेल फॅब्रिकेशन (विभ्रम) सह अंतर भरते.
  • जुनी `तापमान` सवयः आधुनिक मॉडेल्स हे मान्य करत नाहीत; तत्परतेने आणि प्रयत्नाने वर्तनाचे मार्गदर्शन करा.

सखोल: कराराप्रमाणे प्रॉम्प्ट लिहिणे

अनुभवी कार्यसंघ सिस्टीम प्रॉम्प्टला कराराप्रमाणे मानतात, साहित्यिक मजकूर नाही: स्पष्ट कलमे, मोजता येण्याजोगे नियम, अस्पष्ट सीमा. या दृष्टिकोनाचे तीन ठोस फायदे आहेत. पहिली सुसंगतता आहे: समान इनपुट वेगवेगळ्या वेळी समान आउटपुट देते. दुसरे म्हणजे चाचणीक्षमता: तुम्ही प्रत्येक वस्तूची स्वतंत्रपणे नमुना घेऊन चाचणी करू शकता. तिसरे म्हणजे देखभाल करणे सोपे आहे: जर एखादी वर्तणूक चुकीची असेल, तर कोणती वस्तू बदलायची हे तुम्हाला माहिती आहे.

सकारात्मक उदाहरणांसह नेतृत्व करणे ही एक चांगली सराव आहे. "हे करू नका" ची यादी देण्याऐवजी "इच्छित आउटपुट असे दिसते" असे उदाहरण प्रदान करणे आधुनिक मॉडेलमध्ये अधिक प्रभावी आहे. उदाहरणार्थ, क्लासिफायरमध्ये, प्रॉम्प्टमध्ये अपेक्षित JSON चे एक किंवा दोन नमुने जोडल्याने स्वरूपन त्रुटी लक्षणीयरीत्या कमी होतात.

आणखी एक शक्तिशाली तंत्र म्हणजे अनिश्चिततेचे वर्तन स्पष्टपणे लिहिणे. "अनिश्चित असल्यास, अंदाज लावू नका; म्हणा 'अपुरा डेटा'" यासारखे कलम बनावट (भ्रम) करून रिक्त जागा भरण्याच्या मॉडेलच्या प्रवृत्तीला दडपून टाकते. हे एक वाक्य सत्यापन स्तर ऑफलोड करते, जे आम्ही युनिट 11 मध्ये कव्हर करू: एकदा मॉडेलने आधीच अनिश्चितता ध्वजांकित केल्यानंतर, मानवी प्रमाणीकरणाकडे नेणे सोपे होते.

शेवटी, एकत्र प्रयत्न करा आणि त्वरित विचार करा. उच्च प्रयत्नात, मॉडेल अधिक एक्सप्लोर करते आणि कधीकधी अवांछित "अतिरिक्त कार्य" करते (अनावश्यक स्पष्टीकरण, अतिरिक्त सूचना). प्रॉम्प्टमध्ये "फक्त इच्छित आउटपुट द्या, अतिरिक्त टिप्पण्या जोडू नका" असे म्हणणे उच्च प्रयत्नांचे हे दुष्परिणाम ऑफसेट करते.

सारांशात

सिस्टम प्रॉम्प्ट हे मॉडेलचे कायमचे निर्देश आहे: ते भूमिका, व्याप्ती, स्वरूप, अस्पष्ट वर्तन आणि गोपनीयतेची व्याख्या करते. आधुनिक मॉडेल्समध्ये, वागणूक तापमानापेक्षा अनुकूल विचार आणि प्रयत्नांच्या मापदंडांनी चालविली जाते; कार्यासाठी प्रयत्न संरेखित केल्याने गुणवत्ता आणि किंमत एकाच वेळी व्यवस्थापित होते. तुम्ही max_tokens, स्टॉप ॲरे आणि संरचित आउटपुटसह आउटपुट सुरक्षित करता.

अर्ज कार्य

एक कार्य निवडा. (1) पाच घटकांसह (भूमिका, व्याप्ती, स्वरूप, अस्पष्टता, गोपनीयता) सिस्टम प्रॉम्प्ट लिहा. (2) या कार्यासाठी तुम्ही कोणत्या स्तरावर प्रयत्न कराल आणि का निवडाल ते सांगा. (३) जर आउटपुट संरचित असेल, तर लहान JSON स्कीमा काढा. (4) तुमच्या प्रॉम्प्टमध्ये जास्त आक्रमक नमुना आहे का ते तपासा आणि ते मऊ करा.

चेकलिस्ट

  • मी चांगल्या सिस्टम प्रॉम्प्टच्या पाच घटकांची नावे देऊ शकतो.
  • अनुकूल विचार आणि प्रयत्न पॅरामीटर्स काय करतात हे मी स्पष्ट करू शकतो.
  • [] मी कार्यानुसार प्रयत्न समायोजित करून गुणवत्ता/किंमत संतुलित करू शकतो.
  • [ ] मला माहित आहे की प्रॉम्प्टद्वारे JSON ची विनंती करण्यापेक्षा संरचित आउटपुट सुरक्षित का आहे.
  • अत्याधिक आक्रमक सूचनांच्या आधुनिक मॉडेल्समधील जोखीम मी ओळखू शकतो.