Skip to content

Latest commit

 

History

History
227 lines (137 loc) · 35.9 KB

File metadata and controls

227 lines (137 loc) · 35.9 KB

پرامپٹ انجینئرنگ کے بنیادی اصول

تعارف

یہ ماڈیول تخلیقی AI ماڈلز میں مؤثر پرامپٹس بنانے کے لیے ضروری تصورات اور تکنیکوں کا احاطہ کرتا ہے۔ آپ جس طرح LLM کو اپنی پرامپٹ لکھتے ہیں، وہ بھی اہمیت رکھتا ہے۔ ایک احتیاط سے تیار کردہ پرامپٹ بہتر معیار کے جوابات حاصل کر سکتا ہے۔ لیکن اصطلاحات جیسے پرامپٹ اور پرامپٹ انجینئرنگ کا اصل مطلب کیا ہے؟ اور میں LLM کو بھیجے جانے والے پرامپٹ ان پٹ کو کیسے بہتر بنا سکتا ہوں؟ یہ وہ سوالات ہیں جن کا ہم اس باب اور اگلے باب میں جواب دینے کی کوشش کریں گے۔

جنریٹیو AI صارف کی درخواستوں کے جواب میں نیا مواد (مثلاً، متن، تصاویر، آڈیو، کوڈ وغیرہ) تخلیق کرنے کی صلاحیت رکھتا ہے۔ یہ بڑے زبان کے ماڈلز جیسے اوپن اے آئی کے جی پی ٹی ("جنریٹیو پری ٹرینڈ ٹرانسفارمر") سیریز کا استعمال کرتے ہوئے حاصل کرتا ہے جو قدرتی زبان اور کوڈ کے استعمال کے لیے تربیت یافتہ ہیں۔

صارفین اب ان ماڈلز کے ساتھ چیٹ جیسی مانوس طرزوں کا استعمال کرتے ہوئے بات چیت کر سکتے ہیں، کسی تکنیکی مہارت یا تربیت کی ضرورت نہیں ہے۔ ماڈلز پرامپٹ پر مبنی ہیں - صارفین ٹیکسٹ ان پٹ (پرامپٹ) بھیجتے ہیں اور AI کا جواب (تکمیل) واپس حاصل کرتے ہیں۔ وہ پھر "AI کے ساتھ بات چیت" کر سکتے ہیں، ملٹی ٹرن گفتگو میں، اپنی پرامپٹ کو اس وقت تک بہتر بنا سکتے ہیں جب تک کہ جواب ان کی توقعات کے مطابق نہ ہو۔

"پرامپٹس" اب جنریٹیو AI ایپس کے لیے بنیادی پروگرامنگ انٹرفیس بن چکے ہیں، ماڈلز کو یہ بتاتے ہیں کہ کیا کرنا ہے اور واپس کیے گئے جوابات کے معیار کو متاثر کرتے ہیں۔ "پرامپٹ انجینئرنگ" ایک تیزی سے بڑھتا ہوا مطالعہ کا میدان ہے جو پرامپٹس کے ڈیزائن اور اصلاح پر توجہ مرکوز کرتا ہے تاکہ پیمانے پر مستقل اور معیاری جوابات فراہم کیے جا سکیں۔

سیکھنے کے مقاصد

اس سبق میں، ہم سیکھیں گے کہ پرامپٹ انجینئرنگ کیا ہے، یہ کیوں اہمیت رکھتا ہے، اور ہم کسی دیے گئے ماڈل اور ایپلیکیشن کے مقصد کے لیے مزید مؤثر پرامپٹس کیسے تیار کر سکتے ہیں۔ ہم پرامپٹ انجینئرنگ کے بنیادی تصورات اور بہترین طریقوں کو سمجھیں گے - اور ایک انٹرایکٹو Jupyter Notebooks "سینڈ باکس" ماحول کے بارے میں جانیں گے جہاں ہم ان تصورات کو حقیقی مثالوں پر لاگو ہوتا ہوا دیکھ سکتے ہیں۔

اس سبق کے آخر میں ہم قابل ہو جائیں گے:

  1. وضاحت کریں کہ پرامپٹ انجینئرنگ کیا ہے اور یہ کیوں اہمیت رکھتا ہے۔
  2. پرامپٹ کے اجزاء کو بیان کریں اور ان کا استعمال کیسے کیا جاتا ہے۔
  3. پرامپٹ انجینئرنگ کے بہترین طریقے اور تکنیک سیکھیں۔
  4. اوپن اے آئی اینڈ پوائنٹ کا استعمال کرتے ہوئے حقیقی مثالوں پر سیکھی گئی تکنیکوں کا اطلاق کریں۔

کلیدی اصطلاحات

پرامپٹ انجینئرنگ: AI ماڈلز کی رہنمائی کے لیے ان پٹس کو ڈیزائن کرنے اور بہتر بنانے کا عمل تاکہ مطلوبہ آؤٹ پٹس تیار کیے جا سکیں۔ ٹوکینائزیشن: ٹیکسٹ کو چھوٹے یونٹس میں تبدیل کرنے کا عمل، جسے ماڈل سمجھ سکتا ہے اور پروسیس کر سکتا ہے۔ انسٹرکشن ٹیونڈ LLMs: بڑے زبان کے ماڈلز (LLMs) جو اپنی جواب کی درستگی اور مطابقت کو بہتر بنانے کے لیے مخصوص ہدایات کے ساتھ ٹھیک کیے گئے ہیں۔

سیکھنے کا سینڈ باکس

پرامپٹ انجینئرنگ فی الحال سائنس سے زیادہ آرٹ ہے۔ اس کے لیے ہماری بصیرت کو بہتر بنانے کا بہترین طریقہ یہ ہے کہ زیادہ مشق کریں اور آزمائشی اور غلطی کے طریقہ کار کو اپنائیں جو ایپلیکیشن ڈومین کی مہارت کو تجویز کردہ تکنیکوں اور ماڈل سے متعلقہ اصلاحات کے ساتھ جوڑتا ہے۔

اس سبق کے ساتھ آنے والا Jupyter Notebook آپ کو ایک سینڈ باکس ماحول فراہم کرتا ہے جہاں آپ جو کچھ سیکھتے ہیں اسے آزما سکتے ہیں - جیسے آپ جاتے ہیں یا آخر میں کوڈ چیلنج کے حصے کے طور پر۔ مشقوں کو انجام دینے کے لیے، آپ کو ضرورت ہوگی:

  1. ایک Azure OpenAI API کلید - تعینات کردہ LLM کے لیے سروس اینڈ پوائنٹ۔
  2. ایک Python رن ٹائم - جس میں نوٹ بک کو چلایا جا سکتا ہے۔
  3. مقامی اینوائرمنٹ ویری ایبلز - اب تیار ہونے کے لیے SETUP مراحل کو مکمل کریں۔

نوٹ بک اسٹارٹر مشقوں کے ساتھ آتی ہے - لیکن آپ کو مزید مثالوں یا آئیڈیاز کو آزمانے کے لیے اپنی مارک ڈاؤن (تفصیل) اور کوڈ (پرامپٹ درخواستیں) کے سیکشن شامل کرنے کی ترغیب دی جاتی ہے - اور پرامپٹ ڈیزائن کے لیے اپنی بصیرت بنائیں۔

وضاحتی رہنما

کیا آپ اس سبق میں شامل ہونے سے پہلے اس کا بڑا خاکہ حاصل کرنا چاہتے ہیں؟ اس وضاحتی رہنما کو دیکھیں، جو آپ کو ان اہم موضوعات کا احساس دیتا ہے جن پر آپ کو غور کرنا ہے۔ سبق کا روڈ میپ آپ کو بنیادی تصورات اور چیلنجوں کو سمجھنے سے لے کر ان سے متعلقہ پرامپٹ انجینئرنگ تکنیکوں اور بہترین طریقوں کے ساتھ نمٹنے تک لے جاتا ہے۔ نوٹ کریں کہ اس گائیڈ میں "ایڈوانسڈ ٹیکنیکس" سیکشن اس نصاب کے اگلے باب میں شامل مواد کا حوالہ دیتا ہے۔

ہمارا اسٹارٹ اپ

اب، آئیے بات کرتے ہیں کہ یہ موضوع ہمارے اسٹارٹ اپ مشن سے کیسے متعلق ہے کہ تعلیم میں AI کی جدت کو لایا جائے۔ ہم ذاتی نوعیت کی تعلیم کے AI سے چلنے والی ایپلیکیشنز بنانا چاہتے ہیں - تو آئیے سوچتے ہیں کہ ہماری ایپلیکیشن کے مختلف صارفین "پرامپٹس" کو کیسے "ڈیزائن" کر سکتے ہیں:

  • ایڈمنسٹریٹرز AI سے کہہ سکتے ہیں کہ نصاب کے ڈیٹا کا تجزیہ کریں تاکہ کوریج میں موجود خلا کی نشاندہی کی جا سکے۔ AI نتائج کا خلاصہ کر سکتا ہے یا انہیں کوڈ کے ساتھ بصری شکل میں دکھا سکتا ہے۔
  • تعلیم دینے والے AI سے کہہ سکتے ہیں کہ کسی ہدف کے سامعین اور موضوع کے لیے سبق کا منصوبہ بنائیں۔ AI مخصوص فارمیٹ میں ذاتی نوعیت کا منصوبہ بنا سکتا ہے۔
  • طلباء AI سے کہہ سکتے ہیں کہ انہیں کسی مشکل مضمون میں پڑھائیں۔ AI اب طلباء کو ان کے درجے کے مطابق اسباق، اشارے اور مثالوں کے ساتھ رہنمائی کر سکتا ہے۔

یہ تو بس شروعات ہے۔ تعلیم کے لیے پرامپٹس کو دیکھیں - ایک اوپن سورس پرامپٹس لائبریری جو تعلیم کے ماہرین نے تیار کی ہے - امکانات کا وسیع تر احساس حاصل کرنے کے لیے! سینڈ باکس میں ان میں سے کچھ پرامپٹس کو چلانے کی کوشش کریں یا دیکھیں کہ کیا ہوتا ہے!

پرامپٹ انجینئرنگ کیا ہے؟

ہم نے اس سبق کا آغاز پرامپٹ انجینئرنگ کو ایک خاص ایپلیکیشن کے مقصد اور ماڈل کے لیے مستقل اور معیاری جوابات (تکمیل) فراہم کرنے کے لیے ٹیکسٹ ان پٹس (پرامپٹس) کو ڈیزائن اور بہتر بنانے کے عمل کے طور پر تعریف کر کے کیا۔ ہم اسے 2 قدمی عمل کے طور پر سوچ سکتے ہیں:

  • دیے گئے ماڈل اور مقصد کے لیے ابتدائی پرامپٹ کو ڈیزائن کرنا
  • جواب کے معیار کو بہتر بنانے کے لیے پرامپٹ کو بہتر بنانا

یہ لازمی طور پر ایک آزمائشی اور غلطی کا عمل ہے جس کے لیے بہترین نتائج حاصل کرنے کے لیے صارف کی بصیرت اور کوشش کی ضرورت ہوتی ہے۔ تو یہ کیوں اہم ہے؟ اس سوال کا جواب دینے کے لیے، ہمیں پہلے تین تصورات کو سمجھنے کی ضرورت ہے:

  • ٹوکینائزیشن = ماڈل پرامپٹ کو کیسے "دیکھتا" ہے
  • بیس LLMs = فاؤنڈیشن ماڈل پرامپٹ کو کیسے "پروسیس" کرتا ہے
  • انسٹرکشن-ٹیونڈ LLMs = ماڈل اب "ٹاسک" کو کیسے دیکھ سکتا ہے

ٹوکینائزیشن

ایک LLM پرامپٹس کو ٹوکینز کی ترتیب کے طور پر دیکھتا ہے جہاں مختلف ماڈلز (یا ماڈل کے ورژن) ایک ہی پرامپٹ کو مختلف طریقوں سے ٹوکینائز کر سکتے ہیں۔ چونکہ LLMs ٹوکینز پر تربیت یافتہ ہیں (اور خام متن پر نہیں)، اس لیے پرامپٹس کے ٹوکینائز ہونے کا طریقہ پیدا ہونے والے جواب کے معیار پر براہ راست اثر ڈالتا ہے۔

یہ سمجھنے کے لیے کہ ٹوکینائزیشن کیسے کام کرتی ہے، OpenAI Tokenizer جیسے ٹولز آزمائیں جیسا کہ نیچے دکھایا گیا ہے۔ اپنی پرامپٹ کو کاپی کریں - اور دیکھیں کہ یہ ٹوکینز میں کیسے تبدیل ہوتی ہے، اس بات پر توجہ دیتے ہوئے کہ وائٹ اسپیس کردار اور اوقاف کے نشانات کیسے سنبھالے جاتے ہیں۔ نوٹ کریں کہ یہ مثال ایک پرانے LLM (GPT-3) کو دکھاتی ہے - اس لیے ایک نئے ماڈل کے ساتھ کوشش کرنے سے مختلف نتیجہ برآمد ہو سکتا ہے۔

تصور: فاؤنڈیشن ماڈلز

ایک بار جب پرامپٹ ٹوکینائز ہو جاتا ہے، تو "بیس LLM" (یا فاؤنڈیشن ماڈل) کا بنیادی کام اس ترتیب میں ٹوکین کی پیش گوئی کرنا ہے۔ چونکہ LLMs کو بڑے پیمانے پر ٹیکسٹ ڈیٹا سیٹس پر تربیت دی گئی ہے، اس لیے ان کے پاس ٹوکینز کے درمیان شماریاتی تعلقات کا اچھا احساس ہوتا ہے اور وہ کچھ اعتماد کے ساتھ اس پیشین گوئی کو کر سکتے ہیں۔ نوٹ کریں کہ وہ پرامپٹ یا ٹوکین میں الفاظ کے معنی کو نہیں سمجھتے؛ وہ صرف ایک پیٹرن دیکھتے ہیں جسے وہ اپنی اگلی پیشین گوئی کے ساتھ "مکمل" کر سکتے ہیں۔ وہ صارف کی مداخلت یا کسی پہلے سے قائم شدہ شرط کے ذریعے ختم ہونے تک ترتیب کی پیشین گوئی جاری رکھ سکتے ہیں۔

کیا آپ دیکھنا چاہتے ہیں کہ پرامپٹ پر مبنی تکمیل کیسے کام کرتی ہے؟ اوپر دی گئی پرامپٹ کو Azure OpenAI Studio Chat Playground میں ڈیفالٹ سیٹنگز کے ساتھ درج کریں۔ سسٹم کو پرامپٹس کو معلومات کی درخواستوں کے طور پر برتنے کے لیے ترتیب دیا گیا ہے - اس لیے آپ کو ایک ایسی تکمیل نظر آنی چاہیے جو اس سیاق و سباق کو پورا کرتی ہو۔

لیکن اگر صارف کچھ مخصوص دیکھنا چاہتا تھا جو کچھ معیارات یا ٹاسک کے مقصد کو پورا کرتا ہو؟ یہیں پر انسٹرکشن-ٹیونڈ LLMs تصویر میں آتے ہیں۔

تصور: انسٹرکشن ٹیونڈ LLMs

ایک انسٹرکشن ٹیونڈ LLM فاؤنڈیشن ماڈل سے شروع ہوتا ہے اور اسے واضح ہدایات پر مشتمل مثالوں یا ان پٹ/آؤٹ پٹ جوڑوں (مثلاً، ملٹی ٹرن "پیغامات") کے ساتھ ٹھیک کرتا ہے - اور AI کی کوششوں کا جواب اس ہدایت کی پیروی کرنے کی کوشش کرتا ہے۔

یہ انسانی تاثرات کے ساتھ کمک سیکھنے (RLHF) جیسی تکنیکوں کا استعمال کرتا ہے جو ماڈل کو ہدایات پر عمل کرنے اور تاثرات سے سیکھنے کی تربیت دے سکتا ہے تاکہ یہ ایسے جوابات تیار کرے جو عملی ایپلیکیشنز کے لیے زیادہ موزوں ہوں اور صارف کے مقاصد کے لیے زیادہ متعلقہ ہوں۔

آئیے اسے آزماتے ہیں - اوپر کی پرامپٹ کو دوبارہ دیکھیں، لیکن اب سسٹم پیغام کو درج ذیل ہدایت کو سیاق و سباق کے طور پر فراہم کرنے کے لیے تبدیل کریں:

آپ کو فراہم کردہ مواد کا خلاصہ دوسری جماعت کے طالب علم کے لیے کریں۔ نتیجہ کو ایک پیراگراف میں 3-5 بلٹ پوائنٹس کے ساتھ رکھیں۔

دیکھیں کہ نتیجہ اب مطلوبہ مقصد اور فارمیٹ کی عکاسی کرنے کے لیے کیسے ٹیون کیا گیا ہے؟ ایک استاد اب اپنی کلاس کے لیے اپنی سلائیڈز میں اس جواب کو براہ راست استعمال کر سکتا ہے۔

ہمیں پرامپٹ انجینئرنگ کی ضرورت کیوں ہے؟

اب جب کہ ہم جانتے ہیں کہ LLMs پرامپٹس کو کیسے پروسیس کرتے ہیں، آئیے بات کرتے ہیں کہ ہمیں پرامپٹ انجینئرنگ کی کیوں ضرورت ہے۔ جواب اس حقیقت میں مضمر ہے کہ موجودہ LLMs کئی چیلنجز پیش کرتے ہیں جو قابل اعتماد اور مستقل تکمیل کو حاصل کرنا زیادہ مشکل بنا دیتے ہیں بغیر پرامپٹ کی تعمیر اور اصلاح میں کوشش کیے۔ مثال کے طور پر:

  1. ماڈل کے جوابات بے ترتیب ہیں۔ ایک ہی پرامپٹ مختلف ماڈلز یا ماڈل ورژنز کے ساتھ مختلف جوابات پیدا کرے گا۔ اور یہ مختلف اوقات میں اسی ماڈل کے ساتھ بھی مختلف نتائج پیدا کر سکتا ہے۔ پرامپٹ انجینئرنگ کی تکنیکیں ہمیں ان تغیرات کو کم سے کم کرنے میں مدد دے سکتی ہیں بہتر حفاظتی اقدامات فراہم کر کے۔

  2. ماڈلز جوابات تخلیق کر سکتے ہیں۔ ماڈلز کو بڑے لیکن محدود ڈیٹا سیٹس کے ساتھ پہلے سے تربیت دی گئی ہے، یعنی ان کے پاس تربیت کے دائرہ کار سے باہر کے تصورات کے بارے میں علم کی کمی ہے۔ نتیجے کے طور پر، وہ تکمیل پیدا کر سکتے ہیں جو غلط، خیالی، یا معلوم حقائق کے بالکل برعکس ہیں۔ پرامپٹ انجینئرنگ کی تکنیکیں صارفین کو ایسی تخلیقات کی نشاندہی کرنے اور ان کو کم کرنے میں مدد کرتی ہیں، مثلاً، AI سے حوالہ جات یا استدلال طلب کر کے۔

  3. ماڈلز کی صلاحیتیں مختلف ہوں گی۔ نئے ماڈلز یا ماڈل کی نسلوں میں زیادہ بھرپور صلاحیتیں ہوں گی لیکن لاگت اور پیچیدگی میں منفرد خصوصیات اور سمجھوتے بھی لائیں گے۔ پرامپٹ انجینئرنگ ہمیں بہترین طریقے اور ورک فلو تیار کرنے میں مدد کر سکتی ہے جو فرق کو دور کرتی ہے اور ماڈل کے مخصوص تقاضوں کو قابل پیمانہ، ہموار طریقوں سے اپناتی ہے۔

آئیے اسے OpenAI یا Azure OpenAI Playground میں دیکھتے ہیں:

  • مختلف LLM تعیناتیوں (مثلاً، OpenAI، Azure OpenAI، Hugging Face) کے ساتھ ایک ہی پرامپٹ کا استعمال کریں - کیا آپ نے تغیرات کو دیکھا؟
  • اسی LLM تعیناتی (مثلاً، Azure OpenAI playground) کے ساتھ بار بار ایک ہی پرامپٹ کا استعمال کریں - یہ تغیرات کیسے مختلف تھے؟

تخلیقات کی مثال

اس کورس میں، ہم اصطلاح "تخلیق" کا استعمال کرتے ہیں تاکہ اس مظہر کا حوالہ دیا جا سکے جہاں LLMs بعض اوقات اپنی تربیت کی حدود یا دیگر پابندیوں کی وجہ سے حقیقت میں غلط معلومات تیار کرتے ہیں۔ آپ نے اسے مقبول مضامین یا تحقیقی مقالوں میں "ہیلوسینیشن" کے طور پر بھی سنا ہوگا۔ تاہم، ہم سختی سے تجویز کرتے ہیں کہ "تخلیق" کو اصطلاح کے طور پر استعمال کریں تاکہ ہم انسان جیسے رویے کو مشین سے چلنے والے نتائج سے منسوب کر کے برتاؤ کو غلطی سے انسان جیسا نہ بنائیں۔ یہ ذمہ دار AI کے رہنما اصولوں کو اصطلاحات کے نقطہ نظر سے بھی مضبوط کرتا ہے، ان اصطلاحات کو ہٹا کر جو کچھ سیاق و سباق میں جارحانہ یا غیر شامل سمجھی جا سکتی ہیں۔

تخلیقات کیسے کام کرتی ہیں اس کا احساس حاصل کرنا چاہتے ہیں؟ ایسی پرامپٹ کے بارے میں سوچیں جو AI کو غیر موجود موضوع کے لیے مواد تیار کرنے کی ہدایت کرتی ہے (تاکہ یہ تربیتی ڈیٹا سیٹ میں نہ پایا جا سکے)۔ مثال کے طور پر - میں نے اس پرام آخر میں، ٹیمپلیٹس کی حقیقی قدر عمودی ایپلیکیشن ڈومینز کے لیے پرومپٹ لائبریریز تخلیق کرنے اور شائع کرنے کی صلاحیت میں مضمر ہے - جہاں پرومپٹ ٹیمپلیٹ اب آپٹیمائزڈ ہوتا ہے تاکہ ایپلیکیشن کے مخصوص سیاق و سباق یا مثالوں کو ظاہر کیا جا سکے جو مطلوبہ صارفین کے لیے جوابات کو زیادہ متعلقہ اور درست بناتے ہیں۔ Prompts For Edu ریپوزیٹری اس نقطہ نظر کی ایک بہترین مثال ہے، جو تعلیم کے ڈومین کے لیے پرومپٹس کی ایک لائبریری کو تیار کرتی ہے جس میں کلیدی مقاصد جیسے سبق کی منصوبہ بندی، نصاب کی ڈیزائننگ، طالب علم کی رہنمائی وغیرہ پر زور دیا جاتا ہے۔

معاون مواد

اگر ہم پرومپٹ کی تعمیر کو ایک ہدایت (کام) اور ایک ہدف (بنیادی مواد) کے طور پر سوچتے ہیں، تو ثانوی مواد اضافی سیاق و سباق کی طرح ہوتا ہے جو ہم فراہم کرتے ہیں تاکہ کسی نہ کسی طرح پیداوار کو متاثر کریں۔ یہ ٹیوننگ پیرامیٹرز، فارمیٹنگ ہدایات، موضوع کی ٹیکسونومیز وغیرہ ہو سکتی ہیں جو ماڈل کو اس کے جواب کو مطلوبہ صارف کے مقاصد یا توقعات کے مطابق درزی بنانے میں مدد کر سکتی ہیں۔

مثال کے طور پر: نصاب میں دستیاب تمام کورسز پر وسیع میٹا ڈیٹا (نام، وضاحت، سطح، میٹا ڈیٹا ٹیگز، انسٹرکٹر وغیرہ) کے ساتھ دیے گئے کورس کیٹلاگ:

  • ہم ایک ہدایت "فال 2023 کے لیے کورس کیٹلاگ کا خلاصہ" کر سکتے ہیں
  • ہم مطلوبہ پیداوار کی چند مثالیں فراہم کرنے کے لیے بنیادی مواد استعمال کر سکتے ہیں
  • ہم دلچسپی کے 5 "ٹیگز" کی شناخت کرنے کے لیے ثانوی مواد استعمال کر سکتے ہیں۔

اب، ماڈل چند مثالوں کے ذریعہ دکھائے گئے فارمیٹ میں خلاصہ فراہم کر سکتا ہے - لیکن اگر نتیجہ میں متعدد ٹیگز ہیں، تو یہ ثانوی مواد میں شناخت کیے گئے 5 ٹیگز کو ترجیح دے سکتا ہے۔


بہترین طریقے

اب جب کہ ہم جانتے ہیں کہ پرومپٹس کو تعمیر کیسے کیا جا سکتا ہے، ہم یہ سوچنا شروع کر سکتے ہیں کہ انہیں بہترین طریقوں کی عکاسی کرنے کے لیے ڈیزائن کیسے کیا جائے۔ ہم اسے دو حصوں میں سوچ سکتے ہیں - صحیح ذہنیت رکھنے اور صحیح تکنیکوں کو لاگو کرنے میں۔

پرومپٹ انجینئرنگ ذہنیت

پرومپٹ انجینئرنگ ایک آزمائشی اور غلطی کا عمل ہے لہذا تین وسیع رہنما عوامل کو ذہن میں رکھیں:

  1. ڈومین کی سمجھ اہمیت رکھتی ہے۔ جواب کی درستگی اور مطابقت اس ڈومین کا فنکشن ہے جس میں وہ ایپلیکیشن یا صارف کام کرتا ہے۔ اپنی بصیرت اور ڈومین کی مہارت کو مزید حسب ضرورت تکنیکوں کے لیے لاگو کریں۔ مثال کے طور پر، اپنے سسٹم پرومپٹس میں ڈومین مخصوص شخصیات کی وضاحت کریں، یا اپنے صارف پرومپٹس میں ڈومین مخصوص ٹیمپلیٹس استعمال کریں۔ ثانوی مواد فراہم کریں جو ڈومین مخصوص سیاق و سباق کی عکاسی کرتا ہے، یا ماڈل کو واقف استعمال کے نمونوں کی طرف رہنمائی کرنے کے لیے ڈومین مخصوص اشارے اور مثالیں استعمال کریں۔

  2. ماڈل کی سمجھ اہمیت رکھتی ہے۔ ہم جانتے ہیں کہ ماڈلز فطرتاً اسٹاکاسٹک ہیں۔ لیکن ماڈل کی نفاذ اس لحاظ سے بھی مختلف ہو سکتی ہے کہ وہ کس تربیتی ڈیٹا سیٹ کا استعمال کرتے ہیں (پری ٹرینڈ نالج)، وہ جو صلاحیتیں فراہم کرتے ہیں (مثلاً، API یا SDK کے ذریعے) اور جس قسم کے مواد کے لیے وہ آپٹیمائزڈ ہیں (مثلاً، کوڈ بمقابلہ تصاویر بمقابلہ متن)۔ آپ جو ماڈل استعمال کر رہے ہیں اس کی طاقتوں اور حدود کو سمجھیں، اور اس علم کو ترجیحات دینے والے کاموں یا حسب ضرورت ٹیمپلیٹس بنانے کے لیے استعمال کریں جو ماڈل کی صلاحیتوں کے لیے آپٹیمائزڈ ہوں۔

  3. تکرار اور توثیق اہمیت رکھتی ہے۔ ماڈلز تیزی سے ترقی کر رہے ہیں، اور پرومپٹ انجینئرنگ کی تکنیکیں بھی ترقی کر رہی ہیں۔ ایک ڈومین ماہر کے طور پر، آپ کے پاس آپ کی مخصوص ایپلیکیشن کے لیے دیگر سیاق و سباق یا معیار ہو سکتا ہے، جو وسیع تر کمیونٹی پر لاگو نہیں ہو سکتا۔ پرومپٹ انجینئرنگ ٹولز اور تکنیکوں کا استعمال کریں تاکہ "پرومپٹ کی تعمیر کو تیز کریں"، پھر اپنے بصیرت اور ڈومین کی مہارت کا استعمال کرتے ہوئے نتائج کو دہرائیں اور توثیق کریں۔ اپنی بصیرت کو ریکارڈ کریں اور ایک علمی بنیاد بنائیں (مثلاً، پرومپٹ لائبریریاں) جو دوسروں کے ذریعہ مستقبل میں تیز تر تکرار کے لیے ایک نیا معیار کے طور پر استعمال کی جا سکتی ہیں۔

بہترین طریقے

اب آئیے کچھ عام بہترین طریقوں کو دیکھتے ہیں جن کی سفارش OpenAI اور Azure OpenAI کے ماہرین کرتے ہیں۔

کیا کیوں
تازہ ترین ماڈلز کا جائزہ لیں۔ نئے ماڈل جنریشنز کے امکانات ہیں کہ ان میں بہتر خصوصیات اور معیار ہو - لیکن ان میں زیادہ اخراجات بھی شامل ہو سکتے ہیں۔ ان کے اثرات کا جائزہ لیں، پھر منتقلی کے فیصلے کریں۔
ہدایات اور سیاق و سباق کو الگ کریں چیک کریں کہ آیا آپ کا ماڈل/مہیا کنندہ حدود کو واضح طور پر ہدایات، بنیادی اور ثانوی مواد کے درمیان فرق کرنے کے لیے بیان کرتا ہے۔ یہ ماڈلز کو زیادہ درست طریقے سے ٹوکنز کو وزن دینے میں مدد کر سکتا ہے۔
مخصوص اور واضح ہوں مطلوبہ سیاق و سباق، نتائج، لمبائی، فارمیٹ، انداز وغیرہ کے بارے میں مزید تفصیلات دیں۔ یہ جوابات کے معیار اور مطابقت کو بہتر بنائے گا۔ قابل استعمال ٹیمپلیٹس میں ترکیبیں پکڑیں۔
وضاحتی ہوں، مثالیں استعمال کریں ماڈلز "دکھائیں اور بتائیں" کے طریقہ کار کے لیے بہتر جواب دے سکتے ہیں۔ zero-shot approach where you give it an instruction (but no examples) then try few-shot as a refinement, providing a few examples of the desired output. Use analogies.
Use cues to jumpstart completions Nudge it towards a desired outcome by giving it some leading words or phrases that it can use as a starting point for the response.
Double Down Sometimes you may need to repeat yourself to the model. Give instructions before and after your primary content, use an instruction and a cue, etc. Iterate & validate to see what works.
Order Matters The order in which you present information to the model may impact the output, even in the learning examples, thanks to recency bias. Try different options to see what works best.
Give the model an “out” Give the model a fallback completion response it can provide if it cannot complete the task for any reason. This can reduce chances of models generating false or fabricated responses.

As with any best practice, remember that your mileage may vary based on the model, the task and the domain. Use these as a starting point, and iterate to find what works best for you. Constantly re-evaluate your prompt engineering process as new models and tools become available, with a focus on process scalability and response quality.

Assignment

Congratulations! You made it to the end of the lesson! It's time to put some of those concepts and techniques to the test with real examples!

For our assignment, we'll be using a Jupyter Notebook with exercises you can complete interactively. You can also extend the Notebook with your own Markdown and Code cells to explore ideas and techniques on your own.

To get started, fork the repo, then

  • (Recommended) Launch GitHub Codespaces
  • (Alternatively) Clone the repo to your local device and use it with Docker Desktop
  • (Alternatively) Open the Notebook with your preferred Notebook runtime environment.

Next, configure your environment variables

  • Copy the .env.copy file in repo root to .env and fill in the AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_DEPLOYMENT کی قدریں شروع کریں۔ Learning Sandbox section پر واپس جائیں تاکہ سیکھ سکیں۔

اگلا، جیوپیٹر نوٹ بک کھولیں

  • رن ٹائم کرنل منتخب کریں۔ اگر آپ اختیارات 1 یا 2 استعمال کر رہے ہیں، تو صرف ڈیولپمنٹ کنٹینر کے ذریعے فراہم کردہ ڈیفالٹ Python 3.10.x کرنل منتخب کریں۔

آپ مشقیں چلانے کے لیے تیار ہیں۔ نوٹ کریں کہ یہاں کوئی صحیح اور غلط جواب نہیں ہیں - صرف آزمائشی اور غلطی کے ذریعے اختیارات کو تلاش کرنا اور یہ جاننا کہ کیا کام کرتا ہے کسی دیے گئے ماڈل اور ایپلیکیشن ڈومین کے لیے۔

اس وجہ سے اس سبق میں کوئی کوڈ حل کے حصے نہیں ہیں۔ اس کے بجائے، نوٹ بک میں "میرا حل:" کے عنوان سے مارک ڈاؤن سیلز ہوں گے جو حوالہ کے لیے ایک مثال پیداوار دکھاتے ہیں۔

علم کی جانچ

ذیل میں سے کون سا کچھ معقول بہترین طریقوں کی پیروی کرنے والا ایک اچھا پرومپٹ ہے؟

  1. مجھے ایک سرخ کار کی تصویر دکھائیں
  2. مجھے ایک سرخ کار کی تصویر دکھائیں جس کی ساخت Volvo اور ماڈل XC90 ہو، جو ایک چٹان کے کنارے پارک کی گئی ہو جس کے ساتھ سورج غروب ہو رہا ہو
  3. مجھے ایک سرخ کار کی تصویر دکھائیں جس کی ساخت Volvo اور ماڈل XC90 ہو

A: 2، یہ بہترین پرومپٹ ہے کیونکہ یہ "کیا" کے بارے میں تفصیلات فراہم کرتا ہے اور مخصوصات میں جاتا ہے (صرف کوئی کار نہیں بلکہ ایک مخصوص ساخت اور ماڈل) اور یہ مجموعی ماحول کو بھی بیان کرتا ہے۔ 3 اگلا بہترین ہے کیونکہ اس میں بھی بہت سی وضاحت شامل ہے۔

🚀 چیلنج

دیکھیں کہ آپ پرومپٹ کے ساتھ "اشارہ" تکنیک کا فائدہ اٹھا سکتے ہیں: جملہ مکمل کریں "مجھے ایک سرخ کار کی تصویر دکھائیں جس کی ساخت Volvo ہو اور"۔ یہ کیا جواب دیتا ہے، اور آپ اسے کیسے بہتر بنائیں گے؟

زبردست کام! اپنی تعلیم جاری رکھیں

مختلف پرومپٹ انجینئرنگ تصورات کے بارے میں مزید جاننا چاہتے ہیں؟ مستقل تعلیم کے صفحے پر جائیں تاکہ اس موضوع پر دیگر بہترین وسائل تلاش کریں۔

سبق 5 پر جائیں جہاں ہم جدید پرومپٹنگ تکنیکوں کو دیکھیں گے!

ڈس کلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ اگرچہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غلط فہمیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ماخذ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ورانہ انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔