Skip to content

Latest commit

 

History

History
411 lines (255 loc) · 90.1 KB

File metadata and controls

411 lines (255 loc) · 90.1 KB

प्रॉम्प्ट इंजिनिअरिंग मूलभूत गोष्टी

Prompt Engineering Fundamentals

परिचय

हा मॉड्यूल जनरेटिव्ह AI मॉडेल्समध्ये प्रभावी प्रॉम्प्ट तयार करण्यासाठी आवश्यक संकल्पना आणि तंत्रे शिकवतो. LLM कडे प्रॉम्प्ट लिहिण्याचा मार्गसुद्धा महत्त्वाचा असतो. काळजीपूर्वक तयार केलेला प्रॉम्प्ट उत्तम प्रतीचे प्रतिसाद मिळवू शकतो. पण प्रॉम्प्ट आणि प्रॉम्प्ट इंजिनिअरिंग यांसारखे शब्द काय अर्थ घेतात? आणि LLM कडे पाठवले जाणारे प्रॉम्प्ट इनपुट कसे सुधारायचे? या प्रश्नांची उत्तरे आपण या प्रकरणात आणि पुढील प्रकरणात शोधण्याचा प्रयत्न करू.

जनरेटिव्ह AI वापरकर्त्यांच्या विनंत्यांवर नवीन सामग्री (उदा. मजकूर, प्रतिमा, ऑडिओ, कोड इ.) तयार करू शकतो. हे OpenAI च्या GPT ("Generative Pre-trained Transformer") सिरीज सारख्या Large Language Models चा वापर करून साध्य केले जाते जे नैसर्गिक भाषा आणि कोड वापरण्यासाठी प्रशिक्षित केलेले असतात.

वापरकर्ते आता तांत्रिक कौशल्य किंवा प्रशिक्षणाशिवाय परिचित पद्धती जसे की चॅट द्वारे या मॉडेल्सशी संवाद साधू शकतात. हे मॉडेल्स प्रॉम्प्ट-आधारित असतात - वापरकर्ता मजकूर इनपुट (प्रॉम्प्ट) पाठवतो आणि AI कडून प्रतिसाद (completion) मिळवतो. नंतर ते "AI सह चॅट" करत अनेक फेरीत संवाद करू शकतात, त्यांच्या प्रॉम्प्टला सुधारत, तोपर्यंत की प्रतिसाद त्यांना हवे तसा येईपर्यंत.

"प्रॉम्प्ट" आता जनरेटिव्ह AI अ‍ॅप्ससाठी मुख्य प्रोग्रामिंग इंटरफेस बनतात, जे मॉडेल्सना काय करायचे ते सांगतात आणि परत मिळणाऱ्या प्रतिसादांच्या गुणवत्तेवर परिणाम करतात. "प्रॉम्प्ट इंजिनिअरिंग" हा एक जलद वाढणारा अभ्यासक्षेत्र आहे जे प्रॉम्प्ट डिझाइन आणि ऑप्टिमायझेशनवर लक्ष केंद्रित करते जे निरंतर आणि दर्जेदार प्रतिसाद मोठ्या प्रमाणावर देऊ शकते.

शिकण्याचे उद्दिष्ट

या धड्यात आपण प्रॉम्प्ट इंजिनिअरिंग म्हणजे काय, त्याचे महत्त्व का आहे, आणि दिलेल्या मॉडेल व अ‍ॅप्लिकेशन उद्दिष्टासाठी अधिक प्रभावी प्रॉम्प्ट कसे तयार करायचे हे शिकू. आपण प्रॉम्प्ट इंजिनिअरिंगचे मूलभूत संकल्पना आणि सर्वोत्तम पद्धती समजून घेऊ - आणि एका संवादात्मक Jupyter Notebooks "sandbox" पर्यावरणाबद्दल जाणून घेऊ जिथे आपण या संकल्पनांचा प्रत्यक्ष उदाहरणांसह उपयोग पाहू शकतो.

या धड्याच्या शेवटी आपण पुढील गोष्टी करू शकाल:

  1. प्रॉम्प्ट इंजिनिअरिंग म्हणजे काय आणि त्याचे महत्त्व का आहे हे समजावून सांगणे.
  2. प्रॉम्प्टच्या घटकांचे वर्णन करणे आणि त्यांचा उपयोग कसा होतो ते समजावून घेणे.
  3. प्रॉम्प्ट इंजिनिअरिंगसाठी सर्वोत्तम पद्धती आणि तंत्रे शिकणे.
  4. शिकलोले तंत्र वापरून प्रत्यक्ष उदाहरणांवर अंमल करणे, OpenAI endpoint वापरून.

मुख्य संज्ञा

प्रॉम्प्ट इंजिनिअरिंग: एआय मॉडेल्सना अपेक्षित आउटपुट तयार करण्यासाठी मार्गदर्शन करणाऱ्या इनपुट्सचे डिझाइन व सुधारणा करणे. टोकनायझेशन: मजकूर लहान एककांमध्ये रूपांतरित करण्याची प्रक्रिया, ज्यांना टोकन्स म्हणतात, ज्यांना मॉडेल समजू शकते आणि प्रक्रिया करू शकते. Instruction-Tuned LLMs: मोठ्या प्रमाणावर भाषिक मॉडेल्स जे विशिष्ट निर्देशांसह सुधारित केलेले असतात ज्यामुळे त्यांच्या प्रतिसादाची अचूकता आणि संबंधितता वाढते.

शिकण्याचे सॅंडबॉक्स

प्रॉम्प्ट इंजिनिअरिंग सध्या विज्ञानापेक्षा जास्त कला आहे. त्यासाठी आपल्या अंतर्ज्ञानाला सुधारण्यासाठी अधिक सराव करणे आणि एक चाचणी-आणि-त्रुटी पध्दत अवलंबणे आवश्यक असते, ज्यात अनुप्रयोग क्षेत्राचे तज्ज्ञत्व व शिफारस केलेली तंत्रे तसेच मॉडेल-विशिष्ट ऑप्टिमायझेशन एकत्र येतात.

या धड्यासह दिलेला Jupyter Notebook एक sandbox पर्यावरण प्रदान करतो जिथे आपण शिकत-शिकत प्रयत्न करू शकता - तात्काळ किंवा शेवटी कोड आव्हानाचा भाग म्हणून. व्यायाम चालवण्यासाठी आपल्याला खालील गोष्टी आवश्यक आहेत:

  1. एक Azure OpenAI API की - तैनात केलेल्या LLM साठी सेवा एंडपॉइंट.
  2. एक Python Runtime - ज्यात Notebook चालवता येईल.
  3. स्थानिक एनव्हायर्नमेंट व्हेरिएबल्स - आता SETUP चरण पूर्ण करा तयार होण्यासाठी.

नोटबुकमध्ये सुरुवातीचे व्यायाम आहेत - पण आपण आपल्या स्वतःच्या Markdown (वर्णन) आणि Code (प्रॉम्प्ट विनंत्या) विभाग टाकण्याचे प्रोत्साहन दिले आहे, ज्यामुळे अधिक उदाहरणे किंवा कल्पना वापरून प्रॉम्प्ट डिझाइनसाठी आपले अंतर्ज्ञान वाढू शकते.

चित्रांसह मार्गदर्शक

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

Illustrated Guide to Prompt Engineering

आमचे स्टार्टअप

आता, चला बोलूया हा विषय आमच्या स्टार्टअपच्या मिशनशी कसा संबंधित आहे शिक्षणामध्ये एआय नवोन्मेष आणणे. आम्हाला व्यक्तिनिहाय शिक्षणाचे एआय-शक्तीत अॅप्लिकेशन्स तयार करायचे आहेत - म्हणून आपण विचार करूया की आमच्या अॅप्लिकेशनचे विविध वापरकर्ते प्रॉम्प्ट कसे "डिझाइन" करू शकतात:

  • व्यवस्थापक AI कडे पाठ्यक्रम डेटाचे विश्लेषण करून कव्हरेजमधील तुटवडे ओळखण्यासाठी विचारू शकतात. AI निकाल संक्षेप करू शकतो किंवा कोडसह त्यांचे दृश्य सादर करू शकतो.
  • शिक्षक AI कडे लक्ष्य प्रेक्षक आणि विषयासाठी धडा योजना तयार करण्यासाठी विचारू शकतात. AI दिलेल्या स्वरूपात वैयक्तिकृत योजना तयार करू शकतो.
  • विद्यार्थी AI कडे अवघड विषयात त्यांना ट्युटर करण्यासाठी विचारू शकतात. AI आता स्तरानुसार धडे, सूचनांचे आणि उदाहरणांचे मार्गदर्शन करू शकतो.

हा तर फक्त आरंभ बिंदू आहे. Prompts For Education पाहा - शिक्षण तज्ञांनी बनवलेली खुला-स्रोत प्रॉम्प्ट्स लायब्ररी - ज्यामुळे संधींचा अधिक व्यापक अनुभव मिळेल! या प्रॉम्प्ट्सना sandbox मध्ये चालवून किंवा OpenAI Playground वापरून बघा काय होते!

प्रॉम्प्ट इंजिनिअरिंग म्हणजे काय?

आपण या धड्याची सुरुवात केली होती प्रॉम्प्ट इंजिनिअरिंग या प्रक्रियेच्या व्याख्येमुळे जी प्रॉम्प्ट (मजकूर इनपुट) डिझाइन आणि ऑप्टिमायझेशन करण्याची आहे, ज्यामुळे एका निश्चित अ‍ॅप्लिकेशन उद्दिष्ट आणि मॉडेलसाठी सतत व चांगल्या प्रतीचे प्रतिसाद (completions) मिळू शकतील. आपण याला दोन टप्प्यांच्या प्रक्रियेसारखे विचार करू शकतो:

  • ठराविक मॉडेल व उद्दिष्टासाठी प्रॉम्प्टचे डिझाइन करणे
  • प्रतिसादाची गुणवत्ता सुधारण्यासाठी प्रॉम्प्टला पुन्हा-पुन्हा सुधारित करणे

ही प्रक्रिया आवश्यकतेनुसार चाचणी-आणि-त्रुटीची आहे ज्यासाठी वापरकर्त्याच्या अंतर्ज्ञान आणि प्रयत्नांची गरज असते. मग हे का महत्त्वाचे आहे? याचे उत्तर शोधण्यासाठी आपण प्रथम तीन संकल्पना समजून घेऊया:

  • टोकनायझेशन = मॉडेल प्रॉम्प्ट कसे "पाहते"
  • बेस LLMs = मूळ मॉडेल प्रॉम्प्ट कसे "प्रक्रिया" करते
  • इन्स्ट्रक्शन-ट्यून LLMs = मॉडेल आता "कार्ये" कसे पाहू शकते

टोकनायझेशन

LLM प्रॉम्प्टला टोकन्सच्या मालिकेसारखे पाहते जिथे भिन्न मॉडेल्स (किंवा मॉडेलच्या आवृत्त्या) त्याच प्रॉम्प्टला वेगवेगळ्या पद्धतीने टोकनाईज करू शकतात. कारण LLMs टोकन्सवर (कच्च्या मजकूरावर नाही) प्रशिक्षित केलेले असतात, प्रॉम्प्ट कसा टोकनायझ होतो याचा जनरेटेड प्रतिसादाच्या गुणवत्तेवर थेट परिणाम होतो.

टोकनायझेशन कसे कार्य करते हे समजण्यासाठी, खाली दाखविलेला OpenAI Tokenizer सारखे टूल वापरून पहा. आपला प्रॉम्प्ट कॉपी करा - आणि बघा तो कसा टोकन्समध्ये रूपांतरित होतो, विशेषतः फॉर्मॅटिंग, रिकाम्या जागा व विरामचिन्हे कशी हाताळली जातात याकडे लक्ष द्या. हे उदाहरण एक जुने LLM (GPT-3) दाखवते - त्यामुळे नवीन मॉडेलसह वापरल्यास वेगळे निकाल येऊ शकतात.

Tokenization

संकल्पना: फाउंडेशन मॉडेल्स

एकदा प्रॉम्प्ट टोकनात रूपांतरित झाल्यावर, "बेस LLM" (किंवा फाउंडेशन मॉडेल) चे प्राथमिक कार्य त्या मालिकेत पुढील टोकनचा अंदाज लावणे असते. LLMs मोठ्या मजकूर डेटासेटवर प्रशिक्षित झालेले असतात, ज्यामुळे त्यांना टोकन्समधील सांख्यिकीय संबंध चांगल्या प्रकारे माहित असतो आणि ते हे पूर्वानुमान आत्मविश्वासाने करू शकतात. ते प्रॉम्प्टमधील शब्दांचा अर्थ समजत नाहीत; त्यांना फक्त पुढील अंदाजासाठी पूर्ण करायची पॅटर्न दिसते. ते वापरकर्ता हस्तक्षेप किंवा पूर्वनिर्धारित अटीने थांबविल्या जाण्यापर्यंत मालिकेचा अंदाज घेत राहू शकतात.

प्रॉम्प्ट-आधारित पूर्णता कशी कार्य करते ते पाहण्याची इच्छा आहे का? वरील प्रॉम्प्ट Microsoft Foundry playground मध्ये डीफॉल्ट सेटिंग्जसह प्रविष्ट करा. प्रणाली प्रॉम्प्टला माहितीच्या विनंतीसारखे वागवते - त्यामुळे आपण त्या संदर्भाशी सुसंगत पूर्णता पाहाल.

पण वापरकर्त्याला जर काही विशिष्ट गोष्ट पाहायची असेल ज्यात काही निकष किंवा कार्य उद्दिष्ट पूर्ण होत असेल तर? अशी वेळ येते जेव्हा इन्स्ट्रक्शन-ट्यून LLMs समोर येतात.

Base LLM Chat Completion

संकल्पना: इन्स्ट्रक्शन ट्यून LLMs

एका Instruction Tuned LLM मध्ये मूळ फाउंडेशन मॉडेलसह सुरुवात होते आणि ते उदाहरणांद्वारे किंवा इनपुट/आउटपुट जोड्यांद्वारे (उदा. बहु-फेरीतील "संदेश") तूण केले जाते जेथे स्पष्ट सूचना असतात - आणि AI या सूचनेचे पालन करण्याचा प्रयत्न करत प्रतिसाद देतो.

यात Reinforcement Learning with Human Feedback (RLHF) सारखी तंत्रे वापरली जातात ज्यामुळे मॉडेलला सूचना पाळणे आणि अभिप्रायातून शिकणे शक्य होते, ज्यामुळे ते प्रत्यक्ष अनुप्रयोगांसाठी अधिक योग्य व वापरकर्ता उद्दिष्टांसाठी अधिक संबंधित प्रतिसाद तयार करू शकते.

चला प्रयत्न करून पाहूया - वरचा प्रॉम्प्ट पुन्हा वापरा, पण आता सिस्टम मेसेज मध्ये खालील सूचना संदर्भ म्हणून द्या:

दुसऱ्या वर्गाच्या विद्यार्थ्यासाठी दिलेली सामग्री संक्षेप करा. निकाल ३-५ बुलेट पॉईंट्समध्ये एका परिच्छेदात ठेवा.

पाहा कशी परिणामी प्रतिसाद आता इच्छित उद्दिष्ट व स्वरूपाशी जुळाला आहे? शिक्षक थेट हा प्रतिसाद त्यांच्या क्लाससाठी स्लाइड्समध्ये वापरू शकतो.

Instruction Tuned LLM Chat Completion

प्रॉम्प्ट इंजिनिअरिंग का आवश्यक आहे?

आता आपल्याला प्रॉम्प्ट्स कसे नियंत्रित होतात हे माहीत आहे, तर चला प्रॉम्प्ट इंजिनिअरिंग का आवश्यक आहे ते पाहूया. कारण असे की सध्याचे LLMs अनेक आव्हाने आणतात ज्यामुळे विश्वसनीय आणि सातत्यपूर्ण पूर्णता मिळवणे प्रॉम्प्ट तयार करणे आणि ऑप्टिमायझेशन न करता अवघड होते. उदाहरणार्थ:

  1. मॉडेल प्रतिसाद अनिश्चित असतात. सत्य प्रतित प्रॉम्प्ट भिन्न मॉडेल्स किंवा त्याच्या आवृत्त्यांमध्ये वेगवेगळे प्रतिसाद देऊ शकतो. तसेच त्याच मॉडेलच्या वेगवेगळ्या वेळा भिन्न निकालही येऊ शकतात. प्रॉम्प्ट इंजिनिअरिंग तंत्रे या फरकांना कमी करण्यासाठी चांगले मार्गदर्शन देते.

  2. मॉडेल्स गैरवास्तविक प्रतिसाद तयार करू शकतात. मॉडेल्स मोठ्या पण मर्यादित डेटासेटवर प्रशिक्षित असल्याने त्यांना त्याच्या प्रशिक्षणाच्या बाहेरच्या संकल्पनांचा ज्ञान नसतो. परिणामी, त्यांचे प्रतिसाद चुकीचे, काल्पनिक किंवा ज्ञात तथ्यांसाठी विरुद्ध असू शकतात. प्रॉम्प्ट इंजिनिअरिंग तंत्रे वापरकर्त्यांना अशा चुकींचा शोध घेण्यास आणि टाळण्यासाठी मदत करतात जसे की AI कडे संदर्भ किंवा तर्क विचारणे.

  3. मॉडेलची क्षमता बदलू शकते. नवीन मॉडेल्स किंवा त्यांचे जनरेशन अधिक विस्तृत क्षमता देतात पण ते अनोखे वैशिष्ट्ये, खर्च व जटिलता असलेले व्यवहार म्हणून आणतात. प्रॉम्प्ट इंजिनिअरिंग सर्वोत्तम पद्धती आणि कार्यप्रवाह तयार करण्यात मदत करू शकते जी मॉडेल-विशिष्ट गरजांसाठी सुलभ व स्केलेबल उपाय पुरवतात.

चला हे OpenAI किंवा Azure OpenAI Playground मध्ये पाहूया:

  • भिन्न LLM तैनाती (उदा., OpenAI, Azure OpenAI, Hugging Face) सह समान प्रॉम्प्ट वापरा - फरक तुम्हाला दिसला का?
  • त्याच LLM तैनातीसह पुनरावृत्तीने समान प्रॉम्प्ट वापरा (उदा., Azure OpenAI playground) - हे फरक कसे भिन्न होते?

चुकीचे प्रतिसादाचे उदाहरण

या कोर्समध्ये, आपण "fabrication" हा शब्द वापरतो जेव्हा LLMs कधीकधी त्यांच्या प्रशिक्षणाच्या मर्यादा किंवा इतर कारणांमुळे तथ्यात्मकरीत्या चुकीची माहिती तयार करतात. तुम्ही याला लोकप्रिय लेखांमध्ये किंवा संशोधन पेपरमध्ये "हॅल्युसिनेशन्स" म्हणून ऐकलं असेल. मात्र, आम्ही "fabrication" हा शब्द वापरण्याचा आग्रह धरतो जेणेकरून आपण या वर्तनाला मानवसारखे गुणधर्म देऊन चूक करता येणार नाही. तसेच हा शब्द Responsible AI मार्गदर्शक तत्त्वे चा सन्मान करतो, ज्यात काही संदर्भात अपमानास्पद किंवा असमावेशी शब्द टाळले जातात.

चुकीचे प्रतिसाद कसे तयार होतात हे समजून घेण्यासाठी, असा प्रॉम्प्ट कल्पना करा जो AI ला अशा विषयावर सामग्री तयार करण्यासाठी सांगतो जे प्रशिक्षण डेटामध्ये नाही. उदाहरणार्थ - मी हा प्रॉम्प्ट वापरला:

प्रॉम्प्ट: 2076 च्या मार्शियन युद्धावर धडा योजना तयार करा.

वेब शोधानुसार मार्शियन युद्धांवर (उदा., दूरदर्शन मालिका किंवा पुस्तके) काल्पनिक कथांचा उल्लेख होता, पण 2076 मध्ये नाही. सामान्य ज्ञान देखील सांगते की 2076 भविष्यात आहे आणि म्हणून खऱ्या घटनेशी जोडणी करता येणार नाही.

तर जेव्हा आपण हा प्रॉम्प्ट वेगवेगळ्या LLM प्रदात्यांसह चालवतो तेव्हा काय होते?

उत्तर 1: OpenAI Playground (GPT-35)

उत्तर 1

उत्तर 2: Azure OpenAI Playground (GPT-35)

उत्तर 2

उत्तर 3: : Hugging Face Chat Playground (LLama-2)

उत्तर 3

अपेक्षितपणे, प्रत्येक मॉडेल (किंवा मॉडेल आवृत्ती) थोडक्याशा वेगळ्या प्रतिसादांचा उत्पादन करते कारण ते यादृच्छिक वर्तन आणि मॉडेल क्षमता भिन्नता यांमुळे असते. उदाहरणार्थ, एक मॉडेल ८वी इयत्तेच्या प्रेक्षकासाठी लक्षात घेते तर दुसरे उच्च-माध्यमिक विद्यार्थी मानते. पण तीनही मॉडेल्सनी असे प्रतिसाद तयार केले जे अनभिज्ञ वापरकर्त्याला हा कार्यक्रम खरा असल्याचा भास देऊ शकतात.

प्रॉम्प्ट अभियांत्रिकी तंत्रे जसे की मेटाप्रॉम्प्टिंग आणि तापमान कॉन्फिगरेशन मॉडेल फॅब्रिकेशन्सना काही प्रमाणात कमी करू शकतात. नवीन प्रॉम्प्ट अभियांत्रिकी आर्किटेक्चर देखील नवीन साधने आणि तंत्र सहजतेने प्रॉम्प्ट प्रवाहात समाविष्ट करतात, ज्यामुळे या परिणामांपैकी काही कमी होतात किंवा प्रतिबंधित होतात.

केस स्टडी: GitHub Copilot

चला या विभागाचा समारोप करूया आणि पाहूया की प्रॉम्प्ट अभियांत्रिकी प्रत्यक्ष जगातील उपायांमध्ये कशी वापरली जाते एका केस स्टडीतून: GitHub Copilot.

GitHub Copilot तुमचा "एआय जोडी प्रोग्रामर" आहे - तो टेक्स्ट प्रॉम्प्ट्सना कोड कम्प्लीशन्समध्ये रूपांतरित करतो आणि तुमच्या विकास वातावरणात (उदा. Visual Studio Code) एकत्रित आहे ज्यामुळे घनिष्ठ वापरकर्ता अनुभव मिळतो. खालील ब्लॉग मालिकेत दस्तऐवजानुसार, सुरुवातीची आवृत्ती OpenAI Codex मॉडेलवर आधारित होती - अभियंत्यांनी पटकन लक्षात घेतले की मॉडेलला चांगले प्रॉम्प्ट अभियांत्रिकी तंत्र विकसित करून अधिक उत्तम कोड गुणवत्तेसाठी फाईन-ट्यून करणे आवश्यक आहे. जुलैमध्ये, त्यांनी Codex पेक्षा पुढे जाणारा एक सुधारित एआय मॉडेल सादर केला अगदी वेगवान शिफारसींसाठी.

त्यांचा शिक्षण प्रवास समजण्यासाठी पोस्ट्स क्रमाने वाचा.

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


प्रॉम्प्ट बांधणी

आपण पाहिले की प्रॉम्प्ट अभियांत्रिकी का महत्त्वाचे आहे - आता चला समजून घेऊया की प्रॉम्प्ट कसा बांधलेला असतो जेणेकरून आपण अधिक प्रभावी प्रॉम्प्ट डिझाईनसाठी भिन्न तंत्रांचा आढावा घेऊ शकू.

मूलभूत प्रॉम्प्ट

चला मूलभूत प्रॉम्प्टपासून सुरुवात करूया: मॉडेलला पाठवलेला एक टेक्स्ट इनपुट ज्यामध्ये इतर कोणताही संदर्भ नसतो. येथे एक उदाहरण आहे - जेव्हा आपण अमेरिकेचा राष्ट्रीय गाण्याचा सुरुवातीचा काही शब्द OpenAI Completion API कडे पाठवतो तेव्हा तो लगेच प्रतिसाद पुढील काही ओळींसह पूर्ण करतो, जे मूलभूत भाकीत वर्तन दर्शवते.

प्रॉम्प्ट (इनपुट) पूर्णता (आउटपुट)
ओह से, तुम्ही पाहत आहात असे वाटते की तुम्ही "द स्टार-स्पॅंगल्ड बॅनर," जो अमेरिकेचा राष्ट्रीय गाणा आहे, त्याचे गीत सुरू करत आहात. संपूर्ण गीत आहे ...

गुंतागुंतीचा प्रॉम्प्ट

आता चला त्या मूलभूत प्रॉम्प्टमध्ये संदर्भ आणि सूचना जोडूया. Chat Completion API आपल्याला एक गुंतागुंतीचा प्रॉम्प्ट तयार करण्याची परवानगी देतो ज्यामध्ये संदेशांची एक संकलन आहे:

  • इनपुट/आउटपुट जोड्या ज्यात वापरकर्ता इनपुट आणि सहायक प्रतिसाद असतो.
  • सिस्टीम मेसेज जी सहाय्यकाच्या वर्तन किंवा व्यक्तिमत्वासाठी संदर्भ सेट करते.

विनंती खालील स्वरूपात असते, जिथे टोकनायझेशन संदर्भ और संभाषणातून संबंधित माहिती प्रभावीपणे पकडतो. आता, सिस्टीम संदर्भ बदलणे पूर्णतेच्या गुणवत्तेवर उपयोगकर्त्याच्या इनपुट्सच्या प्रमाणेच प्रभाव टाकू शकते.

response = client.responses.create(
    model="gpt-5-mini",
    input=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who won the world series in 2020?"},
        {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
        {"role": "user", "content": "Where was it played?"}
    ]
)

सूचना प्रॉम्प्ट

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

प्रॉम्प्ट (इनपुट) पूर्णता (आउटपुट) सूचना प्रकार
सिव्हिल वॉरचे वर्णन लिहा एक सोपी परिच्छेद परत आणला सोपा
सिव्हिल वॉरचे वर्णन लिहा. मुख्य तारखा आणि घटना द्या आणि त्यांचे महत्त्व वर्णन करा एक परिच्छेद परत आणला आणि त्यानंतर महत्वाच्या घटनांच्या तारखांसह यादी आणि वर्णने गुंतागुंतीचा
एक परिच्छेदात सिव्हिल वॉरचे वर्णन करा. मुख्य तारखा व त्यांचे महत्त्व यांसह ३ बुलेट पॉइंट द्या. महत्त्वाच्या ऐतिहासिक व्यक्ती व त्यांच्या योगदानांसह आणखी ३ बुलेट पॉइंट द्या. आउटपुट JSON फाइल स्वरूपात परत करा आउटपुट अधिक तपशीलवार, JSON स्वरूपात पाठवतो ज्याला फाईलमध्ये कॉपी-पेस्ट करून आवश्यक तेव्हा याची पडताळणी करता येते गुंतागुंतीचा. फॉर्मॅट केलेला.

प्राथमिक सामग्री

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

  • एक सूचना (कारवाई)
  • संबंधित सामग्री (जी कार्यावर प्रभाव टाकते)

येथे एक उदाहरण आहे जिथे सूचना आहे "हे २ वाक्यात सारांश करा".

प्रॉम्प्ट (इनपुट) पूर्णता (आउटपुट)
जुपिटर हे सूर्यापासून पाचवे ग्रह आहे आणि सौरमाळेत सर्वात मोठा आहे. हे एक गॅस जायंट आहे ज्याचे वस्तुमान सूर्याच्या वस्तुमानाच्या एक हजाराव्या भागाचे आहे, पण सौरमालेतील बाकी सर्व ग्रहांच्या वस्तुमानाच्या त्याच्या दुप्पटाहून अधिक आहे. जुपिटर हे रात्रीच्या आकाशात मोकळ्या डोळ्याने पाहता येणारे सर्वात तेजस्वी वस्तूंपैकी एक आहे, आणि प्राचीन संस्कृतींना इतिहासासाठी नोंद करण्यापूर्वीपासून परिचित आहे. त्याचे नाव रोममधील देव जुपिटरवर ठेवले गेले आहे.[19] पृथ्वीवरून पाहिल्यावर, जुपिटर पुरावा प्रकाश इतका तेजस्वी असू शकतो की तो दिसणाऱ्या सावल्या टाकतो,[20] आणि हा चंद्र आणि वीनस नंतर सरासरीत तिसरा तेजस्वी नैसर्गिक वस्तू म्हणून मानला जातो.
हे २ लहान वाक्यांत सारांश करा
जुपिटर, सूर्यापासून पाचवा ग्रह, सौरमाळेत सर्वात मोठा ग्रह आहे आणि रात्रीच्या आकाशातील सर्वात तेजस्वी वस्तूंपैकी एक मानला जातो. त्याचे नाव रोममधील देव जुपिटरसाठी आहे, तो एक गॅस जायंट आहे ज्याचे वस्तुमान सौरमालेतील इतर सर्व ग्रहांच्या दुप्पटाहून अधिक आहे.

प्राथमिक सामग्रीचा विभाग अधिक प्रभावी सूचनांसाठी विविध पद्धतींनी वापरला जाऊ शकतो:

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

चला हे प्रत्यक्षात पाहूया.

उदाहरणांचा वापर

ही अशी एक पद्धत आहे जिथे तुम्ही प्राथमिक सामग्री वापरून एखाद्या सूचनेसाठी हवे असलेले आउटपुटचे काही उदाहरणे "मॉडेलला पुरवता" आणि तो त्या नमुन्यावर आधारित इच्छित आउटपुट काढतो. उदाहरणांच्या संख्येनुसार, आपल्याकडे झिरो-शॉट, वन-शॉट, फ्यू-शॉट प्रॉम्प्टिंग इत्यादी होऊ शकते.

प्रॉम्प्ट आता तीन घटकांचा बनलेला आहे:

  • एक कार्याचे वर्णन
  • इच्छित आउटपुटची काही उदाहरणे
  • नवीन उदाहरणाची सुरुवात (जी अप्रत्यक्ष कामाचे वर्णन आहे)
शिकण्याचा प्रकार प्रॉम्प्ट (इनपुट) पूर्णता (आउटपुट)
झिरो-शॉट "The Sun is Shining". याला स्पॅनिशमध्ये अनुवाद करा "El Sol está brillando".
वन-शॉट "The Sun is Shining" => ""El Sol está brillando".
"It's a Cold and Windy Day" =>
"Es un día frío y ventoso".
फ्यू-शॉट The player ran the bases => Baseball
The player hit an ace => Tennis
The player hit a six => Cricket
The player made a slam-dunk =>
Basketball

लक्षात घ्या की झिरो-शॉट प्रॉम्प्टिंगमध्ये स्पष्ट सूचना ("स्पॅनिशमध्ये अनुवाद करा") द्यावी लागते, पण वन-शॉट प्रॉम्प्टिंगमध्ये ती सूचना अप्रत्यक्षपणे समजते. फ्यू-शॉट उदाहरणात अधिक उदाहरणे जोडल्याने मॉडेल अधिक अचूक निष्कर्ष काढू शकतात, कोणतीही अतिरिक्त सूचना न देता.

प्रॉम्प्ट संकेत

प्राथमिक सामग्रीचा वापर करण्याचा आणखी एक तंत्र म्हणजे उदाहरणांच्या ऐवजी संकेत देणे. या प्रकरणात, आपण मॉडेलला पाहिजे असलेले प्रतिसाद स्वरूप दर्शवणारा एक तुकडा देऊन त्याला योग्य दिशेने प्रक्षोभित करतो. मॉडेल नंतर "संकेत घेतो" आणि त्या शैलीत उत्तर पुढे चालू ठेवतो.

संकेतांची संख्या प्रॉम्प्ट (इनपुट) पूर्णता (आउटपुट)
0 जुपिटर हे सूर्यापासून पाचवे ग्रह आहे आणि सौरमाळेत सर्वात मोठा आहे. हे एक गॅस जायंट आहे ज्याचे वस्तुमान सूर्याच्या वस्तुमानाच्या एक हजाराव्या भागाचे आहे, पण सौरमालेतील बाकी सर्व ग्रहांच्या वस्तुमानाच्या त्याच्या दुप्पटाहून अधिक आहे. जुपिटर हे रात्रीच्या आकाशात मोकळ्या डोळ्याने पाहता येणारे सर्वात तेजस्वी वस्तूंपैकी एक आहे, आणि प्राचीन संस्कृतींना इतिहासासाठी नोंद करण्यापूर्वीपासून परिचित आहे.
हे सारांश करा
जुपिटर हा आपल्या सौरमालेतील सर्वात मोठा ग्रह आहे आणि सूर्यापासून पाचवा ग्रह आहे. तो एक गॅस जायंट आहे ज्याचे वस्तुमान सूर्याच्या वस्तुमानाच्या १/१००० भागाचे आहे, पण तो इतर सर्व ग्रहांच्या एकत्रित वस्तुमानापेक्षा जास्त जड आहे. प्राचीन संस्कृतींना जुपिटर परिचित आहे आणि तो सहजतेने रात्रीच्या आकाशात दिसतो.
1 जुपिटर हे सूर्यापासून पाचवे ग्रह आहे आणि सौरमाळेत सर्वात मोठा आहे. हे एक गॅस जायंट आहे ज्याचे वस्तुमान सूर्याच्या वस्तुमानाच्या एक हजाराव्या भागाचे आहे, पण सौरमालेतील बाकी सर्व ग्रहांच्या वस्तुमानाच्या त्याच्या दुप्पटाहून अधिक आहे. जुपिटर हे रात्रीच्या आकाशात मोकळ्या डोळ्याने पाहता येणारे सर्वात तेजस्वी वस्तूंपैकी एक आहे, आणि प्राचीन संस्कृतींना इतिहासासाठी नोंद करण्यापूर्वीपासून परिचित आहे.
हे सारांश करा
आपण काय शिकलो ते म्हणजे जुपिटर
ते सूर्यापासून पाचवे आणि सौरमालेतील सर्वात मोठे ग्रह आहे. तो एक गॅस जायंट असून त्याचे वस्तुमान सूर्याच्या वस्तुमानाच्या एक हजाराव्या भागाचे असून सौरमालेतील इतर सर्व ग्रहांच्या वस्तुमानाच्या दुप्पटाहून अधिक आहे. तो सहज मोकळ्या डोळ्याने दिसतो आणि प्राचीन काळातही परिचित होता.
2 यूपिटर सूर्यापासून पाचव्या स्थानावर असलेला ग्रह आहे आणि सौरमंडलातील सर्वात मोठा ग्रह आहे. हा एक वायव्य विशाल ग्रह आहे ज्याचे वस्तुमान सुर्याच्या वस्तुमानाच्या हजाराव्या भागइतके आहे, पण सौरमंडलातील इतर सर्व ग्रहांच्या एकत्रित वस्तुमानाच्या दुप्पटच्या सव्वा वेळेसारखे आहे. यूपिटर ही रात्रच्या आकाशात सावध डोळ्याने दिसणाऱ्या सर्वात तेजस्वी वस्तूंमध्ये एक आहे, आणि तो प्राचीन संस्कृतींपासून इतिहासाच्या आधीच ज्ञात होता.
हे सारांश करा
आपण शिकलोली टॉप 3 तथ्ये:
1. यूपिटर सूर्यापासून पाचव्या स्थानावर असलेला ग्रह आहे आणि सौरमंडलातील सर्वात मोठा ग्रह आहे.
2. हा एक वायव्य विशाल ग्रह आहे ज्याचे वस्तुमान सुर्याच्या वस्तुमानाच्या हजाराव्या भागइतके आहे...
3. यूपिटर प्राचीन काळापासून सावध डोळ्याने दिसतो ...

प्रॉम्प्ट टेम्प्लेट

प्रॉम्प्ट टेम्प्लेट म्हणजे प्रॉम्प्टसाठी पूर्वनिर्धारित पाककृती जी संग्रहित केली जाऊ शकते आणि आवश्यकतेनुसार पुन्हा वापरली जाऊ शकते, ज्यामुळे प्रमाणबद्ध स्वरुपात अधिक सातत्यपूर्ण वापरकर्ता अनुभव चालवता येतात. त्याच्या सोप्या स्वरूपात, तो फक्त प्रॉम्प्ट उदाहरणांचा संग्रह आहे जसे की OpenAI कडून हे एक जे परस्परसंवादात्मक प्रॉम्प्ट घटक (वापरकर्ता आणि प्रणाली संदेश) आणि API-संचालित विनंती स्वरूप दोन्ही प्रदान करते - पुनर्वापरासाठी समर्थन देण्यासाठी.

त्याच्या अधिक क्लिष्ट स्वरूपात, जसे की LangChain कडून हे उदाहरण, त्यामध्ये प्लेसहोल्डर्स असतात जे वेगवेगळ्या स्रोतांमधून (वापरकर्ता इनपुट, प्रणाली संदर्भ, बाह्य डेटा स्रोत इत्यादी) डेटा वापरून बदलले जाऊ शकतात जेणेकरून प्रॉम्प्ट डायनामिकली तयार केला जाऊ शकतो. हे आपल्याला पुनर्वापरयोग्य प्रॉम्प्ट्सची ग्रंथालय तयार करण्याची परवानगी देते ज्याचा वापर कार्यक्रमानुसार प्रमाणबद्ध स्वरुपात सातत्यपूर्ण वापरकर्ता अनुभव देण्यासाठी केला जाऊ शकतो.

शेवटी, टेम्प्लेटची खरी किंमत म्हणजे प्रॉम्प्ट ग्रंथालये तयार आणि प्रकाशित करण्याची क्षमता, एखाद्या विशिष्ट अनुप्रयोग क्षेत्रासाठी - जिथे प्रॉम्प्ट टेम्प्लेट आता त्या अनुप्रयोग-संदर्भ किंवा उदाहरणांना ऑप्टिमाइझ करते जे प्रतिसाद अधिक संबंधित आणि अचूक बनवतात लक्ष्यित वापरकर्ता प्रेक्षकांसाठी. Prompts For Edu रिपॉझिटरी या दृष्टिकोनाचा चांगला उदाहरण आहे, शिक्षण क्षेत्रासाठी प्रॉम्प्ट्सची ग्रंथालय तयार करणे ज्यात धडे नियोजन, अभ्यासक्रम डिझाइन, विद्यार्थी ट्यूशन यांसारख्या मुख्य उद्दिष्टांवर भर दिला गेला आहे.

सहायक सामग्री

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

उदाहरणार्थ: जर एखाद्या अभ्यासक्रम निर्देशिकेमध्ये अतिशय व्यापक मेटाडेटा (नाव, वर्णन, स्तर, मेटाडेटा टॅग्स, प्रशिक्षक इत्यादी) उपलब्ध असेल त्या सगळ्या अभ्यासक्रमांसाठी:

  • आपण "फॉल 2023 साठी अभ्यासक्रम निर्देशिका सारांशित करा" असा एक सूचना निर्धारित करू शकतो
  • आपण मुख्य सामग्री वापरून इच्छित आउटपुटची काही उदाहरणे देऊ शकतो
  • आपण माध्यमिक सामग्री वापरून टॉप 5 "टॅग्स" ओळखू शकतो.

आता, मॉडेल काही उदाहरणांमध्ये दाखवलेल्या स्वरूपात एक सारांश देऊ शकतो - पण जर निकालात अनेक टॅग्स असतील तर ते माध्यमिक सामग्रीमध्ये ओळखलेल्या 5 टॅग्सना प्राधान्य देऊ शकते.


प्रॉम्प्टिंग सर्वोत्तम पद्धती

आता आपण जाणतो की प्रॉम्प्ट कसे रचित करता येतात, आपण त्यांना कसे डिझाइन करायचे आहे ते विचारू शकतो जेणेकरून सर्वोत्तम पद्धती प्रतिबिंबित होतील. आपण हे दोन भागात विचार करू शकतो - योग्य मनःस्थिती ठेवणे आणि योग्य तंत्र लागू करणे.

प्रॉम्प्ट इंजिनिअरिंग मनःस्थिती

प्रॉम्प्ट इंजिनिअरिंग हा एक प्रयोग आणि चुका करणारा प्रक्रिया आहे, त्यामुळे तीन व्यापक मार्गदर्शक घटक लक्षात ठेवा:

  1. डोमेन समज महत्त्वाची आहे. प्रतिसादाची अचूकता आणि सुसंगतता हा त्या डोमेन या कार्यक्षेत्रावर अवलंबून असते जिथे ती अॅप्लिकेशन किंवा वापरकर्ता कार्य करतो. आपली अंतर्ज्ञान आणि डोमेन तज्ञता वापरून तंत्रांची सानुकूलता करा. उदाहरणार्थ, आपल्या प्रणाली प्रॉम्प्टमध्ये डोमेन-विशिष्ट व्यक्तिमत्त्व निश्चित करा, किंवा आपल्या वापरकर्ता प्रॉम्प्टमध्ये डोमेन-विशिष्ट टेम्पलेट्स वापरा. डोमेन-विशिष्ट संदर्भ प्रतिबिंबित करणारी माध्यमिक सामग्री द्या, किंवा मोडेलला परिचित वापर नमुने दाखवण्यासाठी डोमेन-विशिष्ट सूचक आणि उदाहरणे वापरा.

  2. मॉडेल समज महत्त्वाची आहे. आपण जाणतो की मॉडेल्स स्वभावाने संभाव्य आहेत. पण मॉडेल अंमलबजावण्या त्या प्रशिक्षण डेटासेटच्या संदर्भात भिन्न असू शकतात (पूर्व-प्रशिक्षित ज्ञान), त्याच्या क्षमता (उदा. API किंवा SDK द्वारे) आणि जाहिरातीच्या स्वरूपावर (उदा. कोड विरुद्ध प्रतिमा किंवा मजकूर) आधारित. आपण वापरत असलेल्या मॉडेलच्या शक्ती आणि मर्यादा समजून घ्या, आणि त्या ज्ञानाचा वापर करून आपली कामगिरी प्राथमिकता द्या किंवा सानुकूलित टेम्प्लेट्स तयार करा जे मॉडेलच्या क्षमतांसाठी ऑप्टिमाइझ्ड असतील.

  3. पुनरावृत्ती आणि प्रमाणीकरण महत्त्वाचे आहे. मॉडेल्स वेगाने विकसित होत आहेत, तसेच प्रॉम्प्ट इंजिनिअरिंगसाठी तंत्रांनाही. एक डोमेन तज्ञ म्हणून, तुमच्याकडे कदाचित इतर संदर्भ किंवा निकष असतील तुमच्या विशिष्ट अॅप्लिकेशनसाठी, जे व्यापक समुदायासाठी लागू होणार नाहीत. प्रॉम्प्ट इंजिनिअरिंगसाठी उपकरणे आणि तंत्रे वापरा ज्याने "प्रॉम्प्ट रचना सुरू करा", नंतर आपल्या स्वतःच्या अंतर्ज्ञान आणि डोमेन तज्ञतेने निकाल पुनरावृत्ती आणि प्रमाणीकरण करा. आपले ज्ञान नोंदवा आणि एक ज्ञान भांडार तयार करा (उदा. प्रॉम्प्ट लायब्ररी), जे इतरांनी नवीन बेसलाइन म्हणून वापरू शकतात, भविष्यातील जलद पुनरावृत्तीसाठी.

सर्वोत्तम पद्धती

आता आपण पाहूया सामान्य सर्वोत्तम पद्धती ज्या OpenAI आणि Azure OpenAI तज्ज्ञांनी शिफारस केल्या आहेत.

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

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

कार्य

अभिनंदन! तुम्ही धड्याच्या शेवटी पोहचला आहात! आता त्या संकल्पना आणि तंत्रे प्रत्यक्ष उदाहरणांसह तपासण्याची वेळ आलेली आहे!

आपल्या कार्यासाठी, आपण एका जुपिटर नोटबुकचा वापर करणार आहोत ज्यात तुम्ही इंटरॅक्टिव्हरित्या सराव पूर्ण करू शकता. तुम्ही तुमच्या स्वतःच्या मार्कडाउन आणि कोड सेल्स वापरून नोटबुक विस्तृत करू शकता, कल्पना आणि तंत्रे स्वतंत्रपणे शोधण्यासाठी.

सुरू करण्यासाठी, रिपॉही फोर्क करा, नंतर

  • (शिफारस केलेले) GitHub Codespaces सुरू करा
  • (पर्यायी) रिपॉ क्लोन करा आणि तो स्थानिक डिव्हाइसवर Docker Desktop सह वापरा
  • (पर्यायी) नोटबुक तुमच्या आवडत्या नोटबुक रनटाइम वातावरणात उघडा.

नंतर, तुमचे पर्यावरण चल सेट करा

  • रिपॉच्या मूळमध्ये .env.copy फाईल .env मध्ये कॉपी करा आणि AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT आणि AZURE_OPENAI_DEPLOYMENT मूल्ये भरा. कसे करावे ते जाणून घेण्यासाठी Learning Sandbox विभागाकडे परत या.

नंतर, जुपिटर नोटबुक उघडा

  • रनटाइम कर्नेल निवडा. जर तुम्ही पर्याय 1 किंवा 2 वापरत असाल, तर विकास कंटेनरद्वारे दिलेला डीफॉल्ट Python 3.10.x कर्नेल निवडा.

तुम्ही सराव चालवण्यासाठी तयार आहात. येथे योग्य व अयोग्य याचे काही उत्तर नाही - फक्त प्रयोग करून आणि अंतर्ज्ञान वाढवून पाहणे हे आहे, की दिलेल्या मॉडेल आणि अॅप्लिकेशन डोमेनसाठी काय कार्य करते.

या कारणास्तव या धड्यामध्ये कोणतीही कोड सोल्यूशन भाग नाहीत. त्याऐवजी, नोटबुकमध्ये "माझे समाधान:" अशी शीर्षके असलेली मार्कडाउन सेल्स असतील जिथे संदर्भासाठी एक उदाहरण आउटपुट दर्शवले आहे.

ज्ञान तपासणी

खालीलपैकी कोणता प्रॉम्प्ट काही योग्य सर्वोत्तम पद्धतींचे पालन करणारा चांगला प्रॉम्प्ट आहे?

  1. मला लाल कारची एक प्रतिमा दाखवा
  2. मला एक लाल कारची प्रतिमा दाखवा जी वोल्वो बनावट आणि XC90 मॉडेल आहे, जी कड्यावर थांबवलेली आहे आणि सूर्य मावळत आहे
  3. मला वोल्वो बनावट आणि XC90 मॉडेल असलेली लाल कार दाखवा

उत्तर: 2, हा सर्वोत्तम प्रॉम्प्ट आहे कारण तो "काय" हे तपशीलवार सांगतो आणि विशिष्ट बनावट व मॉडेलची माहिती देतो, तसेच संपूर्ण वातावरणाचे वर्णन करतो. 3 हा दुसऱ्या क्रमांकाचा आहे कारण त्यात देखील खूप वर्णन आहे.

🚀 आव्हान

पाहा, तुम्ही "संकेत" तंत्र कसे वापरू शकता: प्रॉम्प्ट पूर्ण करा "मला वोल्वो बनावट आणि ... अशी लाल कारची प्रतिमा दाखवा". त्याचा प्रतिसाद काय येतो, आणि तुम्ही ते कसे सुधाराल?

उत्कृष्ट कामगिरी! तुमचे शिक्षण सुरू ठेवा

तुम्हाला प्रॉम्प्ट इंजिनिअरिंग संकल्पनांची अधिक माहिती हवी आहे का? या विषयावर इतर उत्तम संसाधने शोधण्यासाठी सतत शिकण्याचे पृष्ठ येथे जा.

धडा 5 कडे चला जिथे आपण प्रगत प्रॉम्प्टिंग तंत्र पाहू!


अस्वीकरण: हा दस्तऐवज AI भाषांतर सेवा Co-op Translator चा वापर करून अनुवादित केला आहे. जरी आम्ही अचूकतेसाठी प्रयत्न करतो, तरी कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेची कमतरता असू शकते. मूळ दस्तऐवज त्याच्या मूळ भाषेत अधिकृत स्रोत मानला पाहिजे. महत्त्वाची माहिती असल्यास, व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराच्या वापरामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थलावणीसाठी आम्ही जबाबदार नाही.