નફો:
- સિસ્ટમ પ્રોમ્પ્ટ સમગ્ર વાર્તાલાપ દ્વારા મોડેલને કેવી રીતે માર્ગદર્શન આપે છે તે ડિઝાઇન કરી શકે છે
- અનુકૂલનશીલ વિચારસરણી અને પ્રયત્નોના પરિમાણોની ભૂમિકા અને ખર્ચની અસરને સમજે છે
- max_tokens, સ્ટોપ સિક્વન્સ અને સ્ટ્રક્ચર્ડ આઉટપુટ જેવા આઉટપુટ નિયંત્રણો લાગુ કરે છે
સમાન મોડેલના બે જુદા જુદા ઉત્પાદનો સંપૂર્ણપણે અલગ રીતે વર્તે છે. તફાવત પોતે મોડેલમાં નથી, પરંતુ સિસ્ટમ પ્રોમ્પ્ટ અને તેને આપવામાં આવેલા પરિમાણોમાં છે. સિસ્ટમ પ્રોમ્પ્ટ એ મોડેલનો "વર્ક કોન્ટ્રાક્ટ" છે અને પરિમાણો "વર્ક સેટિંગ્સ" છે. આ એકમમાં, તમે શીખી શકશો કે શક્તિશાળી સિસ્ટમ પ્રોમ્પ્ટ કેવી રીતે ડિઝાઇન કરવી, આધુનિક મોડેલોમાં વિચાર અને પ્રયત્ન સેટિંગ્સ શું કરે છે અને ફોર્મેટ/લંબાઈ માટે આઉટપુટને કેવી રીતે નિયંત્રિત કરવું. આ સેટિંગ્સને યોગ્ય રીતે સેટ કરવાથી તમે એક જ સમયે ગુણવત્તા અને કિંમત બંનેનું સંચાલન કરી શકો છો.
સિસ્ટમ પ્રોમ્પ્ટ: મોડેલનો કાયમી નિર્દેશ
સિસ્ટમ પ્રોમ્પ્ટ એ ઉચ્ચ-સ્તરની સૂચના છે જે સમગ્ર વાતચીત દરમિયાન લાગુ પડે છે. આ નિયમો માન્ય રહે છે પછી ભલેને વપરાશકર્તા ગમે તે પ્રકારનો હોય. સારી સિસ્ટમ પ્રોમ્પ્ટમાં નીચેના ઘટકોનો સમાવેશ થાય છે:
- ભૂમિકા/ઓળખ: મોડેલ કોણ છે? ("તમે કોર્પોરેટ સપોર્ટ સહાયક છો.")
- અવકાશ અને સીમા: તે શું કરે છે અને શું નથી કરતું? ("માત્ર આપેલા પોલિસી દસ્તાવેજ પર આધારિત.")
- ફોર્મેટ નિયમો: આઉટપુટ કેવું હોવું જોઈએ? ("મહત્તમ 3 લેખ, સત્તાવાર ભાષા.")
- અનિશ્ચિતતામાં વર્તવું: જ્યારે કોઈ અનિશ્ચિત હોય ત્યારે શું કરે છે? ("જો ત્યાં કોઈ માહિતી ન હોય, તો તેને બનાવો, તેને સંબંધિત એકમ પર મોકલો.")
- સુરક્ષા/ગોપનીયતા: શું નથી જોઈતું/નથી જોઈતું? ("વ્યક્તિગત ડેટાની વિનંતી કરો.")
ટીપ: સિસ્ટમ પ્રોમ્પ્ટને ઠીક રાખો. દરેક વિનંતી (વર્તમાન તારીખ, વપરાશકર્તા નામ, સત્ર ID) સાથે બદલાતી માહિતીને એમ્બેડ કરશો નહીં. આ બંને સુસંગતતા તોડે છે અને એકમ 6 પર પ્રોમ્પ્ટ કેશને અમાન્ય કરે છે. વપરાશકર્તા સંદેશમાં ચલ માહિતી મૂકો.
અતિશય આક્રમક સૂચના છટકું
આધુનિક મોડેલો સૂચનાને ખૂબ નજીકથી અનુસરે છે. આક્રમક શબ્દસમૂહો જેમ કે "જરૂરી", "હંમેશાં", "ચોક્કસપણે આ કરો", વગેરે, જે જૂના મોડલમાં કામ કરતા હતા, આજે ઓવરટ્રિગરિંગ તરફ દોરી જાય છે: મોડલ જ્યારે જરૂર ન હોય અથવા બિનજરૂરી રીતે લાંબા સમય સુધી ચાલે ત્યારે એજન્ટને બોલાવે છે. નિયમ નરમ કરો: "સર્ચ ટૂલનો ઉપયોગ કરવો જોઈએ" ને બદલે "જો જવાબ વાતચીતમાં ન હોય, તો શોધ સાધનનો ઉપયોગ કરો" વધુ સચોટ છે.
મોડલ પરિમાણો: વિચાર અને પ્રયાસ
ક્લાસિકલ એલએલએમમાં તાપમાન પરિમાણ હતું: નીચું મૂલ્ય વધુ ચોક્કસ/સતત આઉટપુટ ઉત્પન્ન કરે છે, ઉચ્ચ મૂલ્ય વધુ વૈવિધ્યસભર/સર્જનાત્મક આઉટપુટ ઉત્પન્ન કરે છે. આધુનિક પેઢીના મોડલ (જેમ કે ઓપસ 4.8, સોનેટ 5) આ અભિગમને વધુ બે શક્તિશાળી મિકેનિઝમ્સ સાથે બદલી નાખે છે અને હવે તાપમાન જેવા નમૂનાના પરિમાણોને સ્વીકારતા નથી.
- અનુકૂલનશીલ વિચારસરણી: પ્રતિસાદ આપતા પહેલા મોડેલ તેના "માથા" માં પગલાવાર કારણો આપે છે. કાર્યની મુશ્કેલીના આધારે મોડેલ નક્કી કરે છે કે કેટલું વિચારવું. જટિલ, બહુ-પગલાની સમસ્યાઓ પર નોંધપાત્ર રીતે ચોકસાઈ સુધારે છે; તે સરળ પ્રશ્નો પર બિનજરૂરી વિલંબ ટાળવા માટે ઓછું વિચારે છે.
- પ્રયત્નો: ઉચ્ચ-સ્તરની નોબ જે સમાયોજિત કરે છે કે મોડેલ કોઈ કાર્યમાં કેટલું ઊંડાણપૂર્વક ડાઇવ કરે છે અને કુલ કેટલા ટોકન્સ ખર્ચે છે. લાક્ષણિક સ્તરો: નીચા, મધ્યમ, ઉચ્ચ અને ઉપર. ઉચ્ચ પ્રયાસ ગુણવત્તામાં સુધારો કરી શકે છે, પરંતુ તે વિલંબ અને ખર્ચમાં પણ વધારો કરે છે; ઓછી મહેનત ઝડપ અને બચત લાવે છે.
સેટિંગ
શું કરે છે
જ્યારે
વિચારવાનું બંધ / ઓછા પ્રયત્નો
ઝડપી, સસ્તું, સુપરફિસિયલ
સરળ વર્ગીકરણ, ટૂંકા પ્રતિભાવ, સંવેદનશીલ કાર્યોમાં વિલંબ
અનુકૂલનશીલ વિચાર + મધ્યમ પ્રયાસ
સંતુલિત ગુણવત્તા/ખર્ચ
સૌથી સામાન્ય હેતુ કાર્યો
અનુકૂલનશીલ વિચાર + ઉચ્ચ પ્રયાસ
ઉચ્ચતમ ચોકસાઈ
જટિલ તર્ક, કોડિંગ, લાંબા અંતરના એજન્ટનું કાર્ય
સાવધાન: "મહત્તમ પ્રયાસ ભલે ગમે તે હોય" રીફ્લેક્સ ખર્ચમાં વધારો કરે છે. કાર્ય માટે પ્રયત્નોને સમાયોજિત કરો; સરળ કાર્યોમાં, ઓછા પ્રયત્નો ઘણીવાર સસ્તી કિંમતે સમાન સચોટ પરિણામ આપે છે. જ્યાં નિર્ણાયક ચોકસાઈની જરૂર હોય ત્યાં ઉચ્ચ જાઓ.
આઉટપુટ નિયંત્રણ: ફોર્મેટ, લંબાઈ, માળખું
પરિમાણો ઉપરાંત, તમે આઉટપુટને પણ નિયંત્રિત કરો છો:
- મહત્તમ_ટોકન્સ: આઉટપુટની સખત ટોચમર્યાદા (1લી અને 3જી એકમ).
- સ્ટૉપ સિક્વન્સ: જ્યારે મોડલ કોઈ ચોક્કસ સ્ટ્રિંગ જુએ ત્યારે તેને રોકવું. માળખાગત ઉત્પાદનમાં બ્રેકપોઇન્ટ સેટ કરવા માટે ઉપયોગી.
- સ્ટ્રક્ચર્ડ આઉટપુટ: તમે પ્રદાન કરો છો તે JSON સ્કીમાને અનુરૂપ થવા માટે મોડેલના પ્રતિભાવને દબાણ કરો. તે ખાતરી કરે છે કે આઉટપુટ પ્રોગ્રામેટિકલી પાર્સેબલ અને માન્ય છે. પ્રોમ્પ્ટ સાથે "ફક્ત JSON પરત કરો" કહેવા કરતાં તે વધુ વિશ્વસનીય છે.
{ "output_config": { "format": { "type": "json_schema", "schema": { "type": "object", "additionalProperties": false, "properties": { "category": { "type": "string", "enum": ["invoice", "technical", "thereturn": "returnency"}", "returncy" "શબ્દમાળા", "એનમ": ["નીચી", "મધ્યમ", "ઉચ્ચ"] } }, "જરૂરી": ["શ્રેણી", "તાકીદ"] } } }}
કૉપિ કરવા યોગ્ય સિસ્ટમ પ્રોમ્પ્ટ નમૂનાઓ
# કોર્પોરેટ સપોર્ટ આસિસ્ટન્ટ તમે કોર્પોરેટ સપોર્ટ આસિસ્ટન્ટ છો.- પૂરા પાડવામાં આવેલ પોલિસી દસ્તાવેજ પર જ આધાર રાખો; જો તે દસ્તાવેજમાં નથી, તો કહો કે "મારી પાસે આ માહિતી નથી." - વધુમાં વધુ 3 વાક્યોમાં ઔપચારિક અને સ્પષ્ટ જવાબ આપો. - વ્યક્તિગત ડેટા (TC ID નંબર, કાર્ડ નંબર) માટે પૂછો અને તમારા જવાબમાં તેને પુનરાવર્તન કરશો નહીં. - જો તમને ખાતરી ન હોય, તો અનુમાન ન કરો.
# સ્ટ્રક્ચર્ડ આઉટપુટ ફોર્સિંગ ક્લાસિફાયર તમે ડિમાન્ડ ક્લાસિફાયર છો. ઇનપુટ એ ગ્રાહક સંદેશ છે. ફક્ત વિનંતી કરેલ ફીલ્ડ્સ પરત કરો, ટિપ્પણીઓ લખશો નહીં. જો તમને ખાતરી ન હોય, તો "અન્ય" નો ઉપયોગ કરો.
# અનિશ્ચિતતામાં ઊભા રહેવાની વ્યાખ્યાયિત વર્તણૂક સાથેના વિશ્લેષક તમે ડેટા વિશ્લેષક છો. આપેલા કોષ્ટકમાંથી માત્ર ચકાસી શકાય તેવા અનુમાનો દોરો. ડેટામાં અસ્તિત્વમાં ન હોય તેવું નિષ્કર્ષ ક્યારેય બનાવશો નહીં. જો કોઈ અનુમાન અસ્પષ્ટ હોય, તો "ડેટા અપર્યાપ્ત" લખો.
# સ્વર અને લંબાઈ નિયંત્રણ સાથે સામગ્રી લેખક તમે સામગ્રી લેખક છો. ગરમ પરંતુ વ્યાવસાયિક સ્વરનો ઉપયોગ કરો. દરેક ટેક્સ્ટને 120 કે તેથી ઓછા શબ્દો સુધી મર્યાદિત કરો. ક્લિચ માર્કેટિંગ ભાષા ટાળો.
નબળા પ્રોમ્પ્ટ / મજબૂત પ્રોમ્પ્ટ
# WEAK મદદરૂપ બનો અને સારા જવાબો આપો. તમારા શ્રેષ્ઠ પ્રયાસ કરો.
# મજબૂત ભૂમિકા: ટેકનિકલ સપોર્ટ નિષ્ણાત. અવકાશ: માત્ર ઉત્પાદન માર્ગદર્શિકા પ્રદાન કરવામાં આવે છે. ફોર્મેટ: સ્ટેપ-બાય-સ્ટેપ, ક્રમાંકિત સૂચિ, મહત્તમ 5 પગલાં. મર્યાદા: માર્ગદર્શિકામાં નહીં ઉકેલની ભલામણ કરો; કહો "મને તે મેન્યુઅલમાં મળી શક્યું નથી." ગોપનીયતા: પ્રતિભાવમાં વપરાશકર્તા દ્વારા શેર કરેલ સીરીયલ નંબરનું પુનરાવર્તન કરશો નહીં.
શક્તિશાળી સંસ્કરણ; તે ભૂમિકા, અવકાશ, ફોર્મેટ, સીમાઓ અને ગોપનીયતા અલગથી નક્કી કરે છે. આઉટપુટ સુસંગતતા આ સ્પષ્ટતામાંથી સીધી આવે છે.
ત્રણ મિની કેસ
કેસ 1 - પ્રયત્નોના ગોઠવણ દ્વારા ખર્ચમાં ઘટાડો. એક ટીમ તેમના તમામ કૉલ્સ ઉચ્ચ પ્રયત્નો + વિચાર પર ચલાવી રહી હતી; સરળ ઈમેલ ડાયજેસ્ટ પણ ખર્ચાળ અને ઉત્પાદનમાં ધીમા હતા. તેઓએ ઓછા પ્રયત્નો માટે સારાંશ અને ઉચ્ચ પ્રયત્નોને કરાર વિશ્લેષણ જેવા સરળ કાર્યો સોંપ્યા. ચોકસાઈ જાળવવામાં આવી હતી, સરેરાશ લેટન્સી અડધી થઈ ગઈ હતી અને માસિક ખર્ચ ત્રીજા ભાગનો ઘટાડો થયો હતો.
કેસ 2 — JSON ગેરંટી. એક ઑપરેશન ટીમે "ફક્ત JSON આપો" કહેતા પ્રોમ્પ્ટ સાથે વર્ગીકરણ આઉટપુટ માટે પૂછ્યું, પરંતુ મોડલ અવારનવાર "અહીં પરિણામ છે:" લખશે અને પાર્સર ક્રેશ થઈ જશે. જ્યારે મેં રૂપરેખાંકિત આઉટપુટ સ્કીમાને કનેક્ટ કર્યું, ત્યારે આઉટપુટ દર વખતે માન્ય JSON પરત કરે છે; પાર્સિંગ ભૂલો રીસેટ કરવામાં આવી છે.
કેસ 3 - આક્રમક પ્રોમ્પ્ટ રીકોઇલ. સહાયક પ્રોમ્પ્ટે કહ્યું, "દરેક પ્રશ્ન માટે શોધ કરવી જોઈએ"; મોડેલે બિનજરૂરી શોધ કરી, સરળ પ્રશ્નો માટે પણ, જેના જવાબ તે પહેલેથી જ જાણતો હતો, ધીમો પડી ગયો અને ખર્ચમાં વધારો થયો. તેઓએ નિયમ હળવો કર્યો "જો જવાબ સંદર્ભમાં ન હોય, તો શોધો"; બિનજરૂરી કૉલ્સમાં 70% ઘટાડો થયો અને પ્રતિસાદો ઝડપી થયા.
સામાન્ય ભૂલો
- સિસ્ટમ પ્રોમ્પ્ટમાં વેરીએબલ ડેટાને એમ્બેડ કરવું: સુસંગતતા તોડે છે અને કેશને અમાન્ય કરે છે.
- અતિશય આક્રમક સૂચના: આધુનિક મોડલ્સમાં અતિશય ટ્રિગરિંગ અને બિનજરૂરી ખર્ચ.
- દરેક કાર્યમાં ઉચ્ચ પ્રયત્નો: સરળ કાર્યોમાં કચરો; કાર્ય માટે પ્રયત્નોને સમાયોજિત કરો.
- માત્ર પ્રોમ્પ્ટ દ્વારા JSON ને વિનંતી કરવી: તે પ્રસંગોપાત તૂટી જાય છે; જો મહત્વપૂર્ણ હોય, તો સંરચિત આઉટપુટનો ઉપયોગ કરો.
- સીમા/અસ્પષ્ટતાની વર્તણૂકને વ્યાખ્યાયિત કરતી નથી: મોડેલ ફેબ્રિકેશન (આભાસ) વડે ગેપને ભરે છે.
- જૂની `તાપમાન` આદત: આધુનિક મોડલ આ સ્વીકારતા નથી; પ્રોમ્પ્ટ અને પ્રયત્નો સાથે વર્તનને માર્ગદર્શન આપો.
ડીપર: કરારની જેમ પ્રોમ્પ્ટ લખવું
અનુભવી ટીમો સિસ્ટમ પ્રોમ્પ્ટને કરારની જેમ વર્તે છે, સાહિત્યિક ટેક્સ્ટ નહીં: સ્પષ્ટ કલમો, માપી શકાય તેવા નિયમો, અસ્પષ્ટ સીમાઓ. આ અભિગમના ત્રણ નક્કર ફાયદા છે. પ્રથમ સુસંગતતા છે: સમાન ઇનપુટ જુદા જુદા સમયે સમાન આઉટપુટ આપે છે. બીજું પરીક્ષણક્ષમતા છે: તમે નમૂના સાથે દરેક વસ્તુને અલગથી ચકાસી શકો છો. ત્રીજું જાળવણીની સરળતા છે: જો વર્તન ખોટું છે, તો તમે જાણો છો કે કઈ વસ્તુને બદલવી.
સારી પ્રેક્ટિસ એ સકારાત્મક ઉદાહરણો સાથે જીવવું છે. "આ ન કરો" ની સૂચિ પ્રદાન કરવાને બદલે, "ઇચ્છિત આઉટપુટ જેવું દેખાય છે તે આ બરાબર છે" એવું ઉદાહરણ પ્રદાન કરવું આધુનિક મોડેલોમાં વધુ અસરકારક છે. ઉદાહરણ તરીકે, ક્લાસિફાયરમાં, પ્રોમ્પ્ટમાં અપેક્ષિત JSON ના એક અથવા બે નમૂના ઉમેરવાથી ફોર્મેટિંગ ભૂલો નોંધપાત્ર રીતે ઘટાડે છે.
અનિશ્ચિતતાની વર્તણૂકને સ્પષ્ટ રીતે લખવાની બીજી શક્તિશાળી તકનીક છે. "જો અચોક્કસ હો, તો અનુમાન ન કરો; કહો કે 'અપૂરતો ડેટા'" જેવી કલમ બનાવટી (ભ્રામકતા) વડે ખાલી જગ્યા ભરવાની મોડેલની વૃત્તિને દબાવી દે છે. આ એક વાક્ય વેરિફિકેશન લેયરને ઓફલોડ કરે છે, જેને અમે યુનિટ 11 માં આવરી લઈશું: એકવાર મોડલ પહેલાથી જ અનિશ્ચિતતાને ફ્લેગ કરે છે, તે માનવ માન્યતા તરફ દોરી જવાનું સરળ બને છે.
છેલ્લે, પ્રયાસ અને પ્રોમ્પ્ટને એકસાથે ધ્યાનમાં લો. ઉચ્ચ પ્રયત્નો પર, મોડેલ વધુ શોધ કરે છે અને કેટલીકવાર અનિચ્છનીય "વધારાના કાર્ય" (બિનજરૂરી સમજૂતી, વધારાના સૂચન) કરે છે. પ્રોમ્પ્ટમાં "માત્ર ઇચ્છિત આઉટપુટ આપો, વધારાની ટિપ્પણીઓ ઉમેરશો નહીં" એમ કહેવાથી ઉચ્ચ પ્રયત્નોની આ આડ અસર દૂર થાય છે.
સારાંશમાં
સિસ્ટમ પ્રોમ્પ્ટ એ મોડેલનો કાયમી નિર્દેશ છે: તે ભૂમિકા, અવકાશ, ફોર્મેટ, અસ્પષ્ટ વર્તન અને ગોપનીયતાને વ્યાખ્યાયિત કરે છે. આધુનિક મોડેલોમાં, વર્તન તાપમાનને બદલે અનુકૂલનશીલ વિચારસરણી અને પ્રયત્નોના પરિમાણો દ્વારા ચલાવવામાં આવે છે; કાર્ય માટે સંરેખિત પ્રયત્નો ગુણવત્તા અને ખર્ચને એકસાથે મેનેજ કરે છે. તમે max_tokens, સ્ટોપ એરે અને સ્ટ્રક્ચર્ડ આઉટપુટ વડે આઉટપુટ સુરક્ષિત કરો છો.
એપ્લિકેશન કાર્ય
એક કાર્ય પસંદ કરો. (1) પાંચ ઘટકો (ભૂમિકા, અવકાશ, ફોર્મેટ, અસ્પષ્ટતા, ગોપનીયતા) સાથે સિસ્ટમ પ્રોમ્પ્ટ લખો. (2) જણાવો કે આ કાર્ય માટે તમે કયા સ્તરના પ્રયત્નો પસંદ કરશો અને શા માટે. (3) જો આઉટપુટ સંરચિત હોવું જોઈએ, તો એક નાની JSON સ્કીમા સ્કેચ કરો. (4) તમારા પ્રોમ્પ્ટમાં વધુ પડતી આક્રમક પેટર્ન છે કે કેમ તે તપાસો અને તેને નરમ કરો.
ચેકલિસ્ટ
- [ ] હું સારી સિસ્ટમ પ્રોમ્પ્ટના પાંચ ઘટકોને નામ આપી શકું છું.
- અનુકૂલનશીલ વિચાર અને પ્રયત્નના પરિમાણો શું કરે છે તે હું સમજાવી શકું છું.
- [] હું કાર્ય અનુસાર પ્રયત્નોને સમાયોજિત કરીને ગુણવત્તા/ખર્ચને સંતુલિત કરી શકું છું.
- [ ] મને ખબર છે કે શા માટે સંરચિત આઉટપુટ પ્રોમ્પ્ટ દ્વારા JSON ને વિનંતી કરવા કરતાં વધુ સુરક્ષિત છે.
- [ ] હું વધુ પડતા આક્રમક સૂચનાઓના આધુનિક મોડલ્સમાં જોખમને ઓળખી શકું છું.