OpenAI
यह पेज मशीन द्वारा अनुवादित है. मूल अंग्रेज़ी आर्टिकल देखें.

OpenAI API के साथ प्रॉम्प्ट इंजीनियरिंग की सर्वोत्तम प्रथाएँ

OpenAI मॉडल को स्पष्ट और प्रभावी निर्देश कैसे दें

अपडेट किया गया: yesterday

प्रॉम्प्ट इंजीनियरिंग कैसे काम करती है

OpenAI मॉडल जिस तरह प्रशिक्षित किए जाते हैं, उसके कारण कुछ विशिष्ट प्रॉम्प्ट फ़ॉर्मैट विशेष रूप से अच्छी तरह काम करते हैं और अधिक उपयोगी मॉडल आउटपुट देते हैं. प्रॉम्प्टिंग सुझावों के लिए आम तौर पर OpenAI की आधिकारिक प्रॉम्प्ट इंजीनियरिंग गाइड शुरुआत करने की सबसे अच्छी जगह है.

नीचे हम कई ऐसे प्रॉम्प्ट फ़ॉर्मैट प्रस्तुत कर रहे हैं जो हमें अच्छे लगते हैं, लेकिन अलग-अलग फ़ॉर्मैट आज़माने में संकोच न करें, क्योंकि वे आपके कार्य के लिए बेहतर हो सकते हैं.

व्यावहारिक नियम और उदाहरण

ध्यान दें: "{text input here}" वास्तविक टेक्स्ट/संदर्भ के लिए एक प्लेसहोल्डर है

1. नवीनतम मॉडल का उपयोग करें

सर्वोत्तम परिणामों के लिए, हम आम तौर पर नवीनतम और सबसे सक्षम मॉडल का उपयोग करने की सलाह देते हैं. नए मॉडल में प्रॉम्प्ट इंजीनियरिंग करना आम तौर पर आसान होता है.


ध्यान दें: रीज़निंग मॉडल को प्रॉम्प्ट करने और GPT मॉडल को प्रॉम्प्ट करने के बीच कुछ अंतर ध्यान में रखने योग्य हैं. अधिक विवरण यहाँ.

2. निर्देशों को प्रॉम्प्ट की शुरुआत में रखें और निर्देश व संदर्भ को अलग करने के लिए ### या """ का उपयोग करें

कम प्रभावी ❌:

नीचे दिए गए टेक्स्ट को सबसे महत्वपूर्ण बिंदुओं की बुलेट पॉइंट सूची के रूप में सारांशित करें.

{text input here}

बेहतर ✅:

नीचे दिए गए टेक्स्ट को सबसे महत्वपूर्ण बिंदुओं की बुलेट पॉइंट सूची के रूप में सारांशित करें.

टेक्स्ट: """
{text input here}
"""

3. वांछित संदर्भ, परिणाम, लंबाई, फ़ॉर्मैट, शैली आदि के बारे में यथासंभव विशिष्ट, वर्णनात्मक और विस्तृत रहें

संदर्भ, परिणाम, लंबाई, फ़ॉर्मैट, शैली आदि के बारे में विशिष्ट रहें

कम प्रभावी ❌:

OpenAI के बारे में एक कविता लिखें. 

बेहतर ✅:

OpenAI के बारे में एक छोटी प्रेरणादायक कविता लिखें, जो हालिया DALL-E उत्पाद लॉन्च पर केंद्रित हो (DALL-E टेक्स्ट से इमेज बनाने वाला ML मॉडल है), और जिसकी शैली {famous poet} जैसी हो

4. उदाहरणों के माध्यम से वांछित आउटपुट फ़ॉर्मैट स्पष्ट करें

कम प्रभावी ❌:

नीचे दिए गए टेक्स्ट में उल्लिखित इकाइयाँ निकालें. निम्नलिखित 4 इकाई प्रकार निकालें: कंपनी नाम, लोगों के नाम, विशिष्ट विषय और थीम.

टेक्स्ट: {text}

दिखाएँ और बताएँ - जब मॉडल को विशिष्ट फ़ॉर्मैट आवश्यकताएँ दिखाई जाती हैं, तो वे बेहतर प्रतिक्रिया देते हैं. इससे कई आउटपुट को प्रोग्रामेटिक रूप से भरोसेमंद तरीके से पार्स करना भी आसान हो जाता है.

बेहतर ✅:

नीचे दिए गए टेक्स्ट में उल्लिखित महत्वपूर्ण इकाइयाँ निकालें. पहले सभी कंपनी नाम निकालें, फिर सभी लोगों के नाम निकालें, फिर ऐसी विशिष्ट विषय-वस्तुएँ निकालें जो सामग्री से मेल खाती हों, और अंत में व्यापक सामान्य थीम निकालें

वांछित फ़ॉर्मैट:
कंपनी नाम: <comma_separated_list_of_company_names>
लोगों के नाम: -||-
विशिष्ट विषय: -||-
सामान्य थीम: -||-

टेक्स्ट: {text}

5. ज़ीरो-शॉट से शुरू करें, फिर फ्यू-शॉट, और यदि इनमें से कोई काम न करे, तो फाइन-ट्यून करें

✅ ज़ीरो-शॉट

नीचे दिए गए टेक्स्ट से कीवर्ड निकालें.

टेक्स्ट: {text}

कीवर्ड:

✅ फ्यू-शॉट - कुछ उदाहरण दें

नीचे दिए गए संबंधित टेक्स्ट से कीवर्ड निकालें.

टेक्स्ट 1: Stripe ऐसे API प्रदान करता है जिनका उपयोग वेब डेवलपर अपनी वेबसाइटों और मोबाइल ऐप्लिकेशन में भुगतान प्रोसेसिंग को एकीकृत करने के लिए कर सकते हैं.
कीवर्ड 1: Stripe, भुगतान प्रोसेसिंग, API, वेब डेवलपर, वेबसाइटें, मोबाइल ऐप्लिकेशन
##
टेक्स्ट 2: OpenAI ने अत्याधुनिक भाषा मॉडल प्रशिक्षित किए हैं जो टेक्स्ट को समझने और जनरेट करने में बहुत अच्छे हैं. हमारा API इन मॉडल तक पहुँच प्रदान करता है और भाषा प्रोसेसिंग से जुड़े लगभग किसी भी कार्य को हल करने के लिए उपयोग किया जा सकता है.
कीवर्ड 2: OpenAI, भाषा मॉडल, टेक्स्ट प्रोसेसिंग, API.
##
टेक्स्ट 3: {text}
कीवर्ड 3:

✅फाइन-ट्यून: फाइन-ट्यून की सर्वोत्तम प्रथाएँ यहाँ देखें.

6. “फालतू” और अस्पष्ट वर्णनों को कम करें

कम प्रभावी ❌:

इस उत्पाद का वर्णन काफ़ी छोटा होना चाहिए, केवल कुछ वाक्यों का, और उससे बहुत अधिक नहीं.

बेहतर ✅:

इस उत्पाद का वर्णन करने के लिए 3 से 5 वाक्यों का एक पैराग्राफ़ उपयोग करें.

7. केवल यह बताने के बजाय कि क्या नहीं करना है, यह बताएँ कि उसकी जगह क्या करना है

कम प्रभावी ❌:

निम्नलिखित एक एजेंट और ग्राहक के बीच की बातचीत है. उपयोगकर्ता नाम या पासवर्ड न पूछें. दोहराएँ नहीं.

ग्राहक: मैं अपने खाते में लॉग इन नहीं कर पा रहा/रही हूँ.
एजेंट:

बेहतर ✅:

निम्नलिखित एक एजेंट और ग्राहक के बीच की बातचीत है. एजेंट समस्या का निदान करने और समाधान सुझाने का प्रयास करेगा, साथ ही PII से संबंधित कोई भी प्रश्न पूछने से बचेगा. उपयोगकर्ता नाम या पासवर्ड जैसी PII माँगने के बजाय, उपयोगकर्ता को मदद लेख www.samplewebsite.com/help/faq पर भेजें

ग्राहक: मैं अपने खाते में लॉग इन नहीं कर पा रहा/रही हूँ.
एजेंट:

8. कोड जनरेशन के लिए विशिष्ट - मॉडल को किसी विशेष पैटर्न की ओर प्रेरित करने के लिए “प्रारंभिक शब्दों” का उपयोग करें

कम प्रभावी ❌:

# एक सरल python फ़ंक्शन लिखें जो
# 1. मुझसे mile में एक संख्या पूछे
# 2. यह miles को kilometers में बदलता है

नीचे दिए गए इस कोड उदाहरण में, “import” जोड़ना मॉडल को संकेत देता है कि उसे Python में लिखना शुरू करना चाहिए. (इसी तरह, “SELECT” SQL स्टेटमेंट की शुरुआत के लिए एक अच्छा संकेत है.)

बेहतर ✅:

# एक सरल python फ़ंक्शन लिखें जो
# 1. मुझसे mile में एक संख्या पूछे
# 2. यह miles को kilometers में बदलता है

import

9. कुछ भी जनरेट करें सुविधा का उपयोग करें

डेवलपर किसी कार्य या अपेक्षित प्राकृतिक भाषा आउटपुट का वर्णन करने और अनुकूलित प्रॉम्प्ट प्राप्त करने के लिए 'कुछ भी जनरेट करें' सुविधा का उपयोग कर सकते हैं.


'कुछ भी जनरेट करें' सुविधा का उपयोग करने के बारे में अधिक जानें.

पैरामीटर

आम तौर पर, हमारा मानना है कि `model` और `temperature` मॉडल आउटपुट बदलने के लिए सबसे अधिक उपयोग किए जाने वाले पैरामीटर हैं.

  1. `model` - उच्च प्रदर्शन वाले मॉडल आम तौर पर अधिक महंगे होते हैं और उनमें अधिक लेटेंसी हो सकती है.

  2. `temperature` - यह मापता है कि मॉडल कितनी बार कम संभावित टोकन आउटपुट करता है. temperature जितना अधिक होगा, आउटपुट उतना ही अधिक यादृच्छिक और आम तौर पर रचनात्मक होगा. हालांकि, यह “सत्यता” के समान नहीं है. डेटा एक्सट्रैक्शन और सत्य Q&A जैसे अधिकांश तथ्यात्मक उपयोग मामलों के लिए, 0 का temperature सबसे अच्छा है.

  3. `max_completion_tokens` (अधिकतम लंबाई) - आउटपुट की लंबाई नियंत्रित नहीं करता, बल्कि टोकन जनरेशन के लिए एक सख्त कटऑफ़ सीमा है. आदर्श रूप से आप इस सीमा तक अक्सर नहीं पहुँचेंगे, क्योंकि आपका मॉडल या तो तब रुक जाएगा जब उसे लगेगा कि वह पूरा हो गया है, या जब वह आपके द्वारा परिभाषित स्टॉप सीक्वेंस पर पहुँचेगा.

  4. `stop` (स्टॉप सीक्वेंस) - वर्णों (टोकन) का एक सेट, जो जनरेट होने पर टेक्स्ट जनरेशन को रोक देगा.

अन्य पैरामीटर विवरणों के लिए API संदर्भ देखें.

क्या यह लेख मददगार था?