اگه به Prompt engineering علاقهمند هستید و چیزهای زیادی هم ازش نمیدونید و البته که دوست دارید با مدلهای زبانی مثل GPT که مخفف “Generative Pre-training Transformer” هست کار کنید و دستوراتی بهش بدید که بهترین خروجی رو بهتون بده این یک راهنمای ساده برای شماست.
نکات مهم در مورد این راهنما:
- این راهنما درباره نحوه استفاده از مدلهای زبان بزرگ LLM برای دریافت نتایج بهتر است.
- روشهای توصیف شده در اینجا میتوانند به صورت ترکیبی برای اثرگذاری بیشتر استفاده شوند.
- برخی از مثالها فقط با مدل gpt-4 کار میکنند.
- اگر یک مدل در یک کار شکست خورد، ارزش دارد که با مدل دیگری امتحان کنید، منظور این است که پرامپتها در مدلها خروجی متفاوتی دارند.
دستورالعملهای واضح بنویسید
مدلهای زبانی نمیتونن ذهن شمارو بخونن، باید دقیقا و مشخص چیزی که لازم دارید رو بیان کنید، مثلا اگر به نظرتون متنها بیش از حد خلاصه میشه بخواید که متن خروجی خلاصه نشه و کامل توضیح بده، یا بخواید جواب تخصصی و حرفهای داده باشه، پس چیزی که مهمه اینه که در کنار بیان شفاف سوالمون درخواست کنیم جواب رو در چه قالب یا فرمتی بهمون تحویل بده، هرچی یه مدل زبانی کمتر مجبور باشه به خودش برای خوندن ذهن شما فشار بیاره، خروجی که بهتون میده رضایتبخشتر هست.
چیزهایی که میتونه کابرد داشته باشه:
- برای دستور یا پرمپت خودتون مثالهایی رو وارد کنید
- از جداکنندهها یا کاما و نقطه برای جدا بودن جمله و قسمتبندی متن استفاده کنید.
- طول پاسخ رو مشخص کنید، کوتاه یا طولانی یا خلاصه نشود یا کامل باشد یا حداقل N کلمه باشد و بلعکس.
- نوشتن هدف شما از پرامپت در بعضی مواقع میتواند کمک کند، مثلا متنی را که نوشتی برای ایمیل به کارفرما لازم دارم.
مشخص کنید مدل زبانی از چه منابعی استفاده کند
مدلهای زبانی یا همون LM ها یکی از تواناییهاشون ابداع پاسخ هست، یعنی میتونن در مورد چیزی که حتی نمیدونن هم پاسخ ارائه بدن، به همین خاطر لازم هست از یک مدل زبانی درخواست کنید که از چه منابعی استفاده کنه، برای مثال میتونید بگید سوالی که در مورد سلامت از اون پرسیدید رو از منابع پزشکی و علمی معتبر پیدا کن یا حتی به شکلی مشخصتر دقیقا بگید از کجا جواب رو پیدا کنه.
البته اینها در مواردی هست که تصمیم دارید مطمئن بشید جوابی که به شما داده میشه درست و بر اساس منبع هست.
تاکتیکهای خوب:
- از مدل درخواست کنید بر اساس متن مشخص شده در منابع جواب دهد.
- از مدل درخواست کند با نوشتن نقل قول از متن منبع پاسخ شمارا بدهد.
به مدل زبانی زمان دهید تا خوب فکر کند
جواب دادن به بعضی از سوالها نیاز به زمان داره، در صورتی که مدلهای زبانی معمولا سعی میکنن در سریعتر زمین ممکن جواب شمارو پیدا کنن، اینجاست که نیاز به پرامپتها و دستوراتی دارید که مدل رو بیشتر به فکر فرو ببره، برای مثال جای اینکه بنویسیم ۲ ضربدر ۲ میشود چند؟ میتوانیم بنویسیم چطور میتوان ضرب ۲ در ۲ را محاسبه کرد، فرمول آن را برای من بنویس و در نهایت به آن جواب بده و همچنین از نظر من جواب آن عدد ۴ است، جواب من را با جواب خودت مقایسه کن و به جواب هردوی ما نظر بده.
چیزهایی که خوب جواب میدهد:
- از مدل بخواهید برای جواب خود استدلال ارائه دهد
- برای مدل مراحل مشخص کنید، مثلا ابتدا این کار را انجام بده، سپس کار دوم را انجام بده و …
- وظایف مدل را مشخص کنید، مثلا ابتدا پرامپت یا سوال را میپرسیم و در ادامه میگوییم وظیفه تو این است خلاصه این متن را به من نمایش دهی، در واقع مشخص میکنیم سوال ما درست است که میتواند کلی باشد اما نیاز نیست به همه سوال پاسخ دهی.
مثالهایی برای نوشتن پرامپت با جزئیات بیشتر
پرامپت بد | پرامپت خوب |
چگونه اعداد را در اکسل اضافه کنم؟ | چگونه می توانم یک ردیف از مقادیر دلار را در اکسل جمع کنم؟ من میخواهم این کار را بهطور خودکار برای یک صفحه کامل از ردیفها انجام دهم که تمام مجموع آنها در سمت راست در ستونی به نام “Total” ختم میشود. |
رئیس جمهور کیه؟ | رئیس جمهور مکزیک در سال ۲۰۲۱ چه کسی بود |
برای محاسبه دنباله فیبوناچی کد بنویس | برای محاسبه موثر دنباله فیبوناچی، یک تابع TypeScript بنویس. کد را آزادانه کامنت کن و توضیح بده دقیقا هر قطعه کد چه کاری انجام میده و چرا به این شکل نوشته شده |
این متن را خلاصه کن | این متن را در ۳ پاراگراف خلاصه کن و سپس لیستی از نکات کلیدی موجود در متن برای من فهرست کن. |