प्रॉम्प्ट इंजीनियरिंग कैसे काम करती है
जिस तरह से OpenAI models को प्रशिक्षित किया जाता है, उसके कारण कुछ खास प्रॉम्प्ट फॉर्मैट ऐसे हैं जो विशेष रूप से अच्छी तरह काम करते हैं और अधिक उपयोगी मॉडल आउटपुट देते हैं.
प्रॉम्प्टिंग टिप्स के लिए शुरुआत करने की सबसे अच्छी जगह आमतौर पर OpenAI की आधिकारिक prompt engineering guide होती है।
नीचे हम कुछ ऐसे प्रॉम्प्ट फॉर्मैट प्रस्तुत कर रहे हैं जो हमें अच्छे लगते हैं, लेकिन अलग-अलग फॉर्मैट आज़माने के लिए स्वतंत्र रहें—हो सकता है वे आपके कार्य के लिए बेहतर हों।
व्यावहारिक नियम और उदाहरण
नोट: "{text input here}" वास्तविक टेक्स्ट/कॉन्टेक्स्ट के लिए एक प्लेसहोल्डर है
1. नवीनतम मॉडल का उपयोग करें
सर्वोत्तम परिणामों के लिए, हम आम तौर पर नवीनतम और सबसे सक्षम मॉडलों का उपयोग करने की सलाह देते हैं। नए मॉडल आमतौर पर प्रॉम्प्ट इंजीनियरिंग के लिहाज़ से आसान होते हैं।
नोट: reasoning मॉडल को प्रॉम्प्ट करना बनाम GPT मॉडल को प्रॉम्प्ट करने में कुछ अंतर होते हैं। अधिक विवरण यहाँ।
2. निर्देश प्रॉम्प्ट की शुरुआत में रखें और निर्देश तथा कॉन्टेक्स्ट को अलग करने के लिए ### या """ का उपयोग करें
कम प्रभावी ❌:
नीचे दिए गए टेक्स्ट का सार सबसे महत्वपूर्ण बिंदुओं की बुलेट पॉइंट सूची के रूप में लिखें।
{text input here}बेहतर ✅:
नीचे दिए गए टेक्स्ट का सार सबसे महत्वपूर्ण बिंदुओं की बुलेट पॉइंट सूची के रूप में लिखें।
Text: """
{text input here}
"""3. वांछित कॉन्टेक्स्ट, परिणाम, लंबाई, फॉर्मैट, शैली आदि के बारे में विशिष्ट, वर्णनात्मक और यथासंभव विस्तृत रहें
कॉन्टेक्स्ट, परिणाम, लंबाई, फॉर्मैट, शैली आदि के बारे में स्पष्ट रहें
कम प्रभावी ❌:
OpenAI पर एक कविता लिखें। बेहतर ✅:
OpenAI पर एक छोटी, प्रेरक कविता लिखें, जिसमें हाल ही में हुए DALL-E प्रोडक्ट लॉन्च (DALL-E एक text to image ML मॉडल है) पर ध्यान हो, और शैली {famous poet} जैसी हो4. उदाहरणों के ज़रिए वांछित आउटपुट फॉर्मैट स्पष्ट करें
कम प्रभावी ❌:
नीचे दिए गए टेक्स्ट में उल्लिखित entities निकालें। निम्न 4 entity types निकालें: company names, people names, specific topics और themes.
Text: {text}दिखाइए भी, बताइए भी—जब उन्हें विशिष्ट फॉर्मैट आवश्यकताएँ दिखायी जाती हैं तो मॉडल बेहतर प्रतिक्रिया देते हैं। इससे कई आउटपुट को भरोसेमंद तरीके से प्रोग्रामेटिक रूप से पार्स करना भी आसान हो जाता है।
बेहतर ✅:
नीचे दिए गए टेक्स्ट में उल्लिखित महत्वपूर्ण entities निकालें। पहले सभी company names निकालें, फिर सभी people names, फिर ऐसा specific topics जो कंटेंट के अनुरूप हों, और अंत में सामान्य overarching themes निकालें
Desired format:
Company names: <comma_separated_list_of_company_names>
People names: -||-
Specific topics: -||-
General themes: -||-
Text: {text}5. पहले zero-shot, फिर few-shot; दोनों काम न करें तो fine-tune करें
✅ Zero-shot
नीचे दिए गए टेक्स्ट से कीवर्ड्स निकालें।
Text: {text}
Keywords:✅ Few-shot - कुछ उदाहरण दें
नीचे दिए गए संबंधित टेक्स्ट से कीवर्ड्स निकालें।
Text 1: Stripe provides APIs that web developers can use to integrate payment processing into their websites and mobile applications.
Keywords 1: Stripe, payment processing, APIs, web developers, websites, mobile applications
##
Text 2: OpenAI has trained cutting-edge language models that are very good at understanding and generating text. Our API provides access to these models and can be used to solve virtually any task that involves processing language.
Keywords 2: OpenAI, language models, text processing, API.
##
Text 3: {text}
Keywords 3:✅Fine-tune: fine-tune सर्वोत्तम अभ्यास यहाँ देखें।
6. “फूले-फूले” और अस्पष्ट विवरण कम करें
कम प्रभावी ❌:
इस उत्पाद का विवरण काफ़ी छोटा होना चाहिए, सिर्फ़ कुछ वाक्य, और इससे ज़्यादा नहीं।बेहतर ✅:
इस उत्पाद का वर्णन 3 से 5 वाक्यों के पैराग्राफ में करें।7. सिर्फ़ यह न बताएं कि क्या नहीं करना है—यह बताएं कि इसके बजाय क्या करना है
कम प्रभावी ❌:
नीचे एक एजेंट और एक ग्राहक के बीच बातचीत है। यूज़रनेम या पासवर्ड न पूछें। दोहराएँ नहीं।
Customer: मैं अपने अकाउंट में लॉग इन नहीं कर पा रहा/रही हूँ।
Agent:बेहतर ✅:
नीचे एक एजेंट और एक ग्राहक के बीच बातचीत है। एजेंट समस्या का निदान करने और समाधान सुझाने की कोशिश करेगा, साथ ही PII से जुड़े कोई भी सवाल पूछने से बचेगा। PII (जैसे यूज़रनेम या पासवर्ड) पूछने के बजाय, उपयोगकर्ता को help article www.samplewebsite.com/help/faq की ओर भेजें
Customer: मैं अपने अकाउंट में लॉग इन नहीं कर पा रहा/रही हूँ।
Agent:8. कोड जेनरेशन के लिए विशेष - किसी खास पैटर्न की ओर मॉडल को हल्का-सा मोड़ने के लिए “leading words” का उपयोग करें
कम प्रभावी ❌:
# एक सरल python फ़ंक्शन लिखें जो
# 1. मुझसे mile में एक संख्या पूछे
# 2. वह miles को kilometers में बदल देनीचे दिए गए इस कोड उदाहरण में, “import” जोड़ने से मॉडल को संकेत मिलता है कि उसे Python में लिखना शुरू करना चाहिए। (इसी तरह “SELECT” SQL स्टेटमेंट की शुरुआत के लिए अच्छा संकेत है।)
बेहतर ✅:
# एक सरल python फ़ंक्शन लिखें जो
# 1. मुझसे mile में एक संख्या पूछे
# 2. वह miles को kilometers में बदल दे
import9. Generate Anything फीचर का उपयोग करें
डेवलपर्स ‘Generate Anything’ फीचर का उपयोग करके किसी कार्य या अपेक्षित नैचुरल लैंग्वेज आउटपुट का वर्णन कर सकते हैं और उसके अनुरूप तैयार किया गया प्रॉम्प्ट प्राप्त कर सकते हैं।
‘Generate Anything’ फीचर का उपयोग करने के बारे में और जानें।
पैरामीटर
आमतौर पर, हम पाते हैं कि model और temperature वे सबसे अधिक उपयोग होने वाले पैरामीटर हैं जिनसे मॉडल आउटपुट बदला जाता है।
model- अधिक प्रदर्शन वाले models आम तौर पर अधिक महंगे होते हैं और उनमें latency भी अधिक हो सकती है।temperature- यह माप है कि मॉडल कितनी बार कम-सम्भावित टोकन आउटपुट करता है।temperatureजितना अधिक होगा, आउटपुट उतना अधिक रैंडम (और आम तौर पर रचनात्मक) होगा। लेकिन, यह “सत्यता” के बराबर नहीं है। डेटा एक्सट्रैक्शन जैसे अधिकांश तथ्य-आधारित उपयोग मामलों और truthful Q&A के लिएtemperatureका 0 सबसे अच्छा है।max_completion_tokens(maximum length) - यह आउटपुट की लंबाई नियंत्रित नहीं करता, बल्कि टोकन जनरेशन के लिए एक हार्ड कटऑफ लिमिट है। आदर्श रूप से आप इस लिमिट तक अक्सर नहीं पहुँचेंगे, क्योंकि आपका मॉडल या तो तब रुक जाएगा जब उसे लगेगा कि वह पूरा हो गया है, या तब जब वह आपके द्वारा परिभाषित stop sequence पर पहुँच जाएगा।stop(stop sequences) - अक्षरों (टोकन्स) का एक सेट, जिसे जनरेट किए जाने पर टेक्स्ट जनरेशन रुक जाएगा।
अन्य पैरामीटर विवरणों के लिए API reference देखें।
