مهندسی اعلان چگونه کار میکند
بهدلیل شیوهای که مدلهای OpenAI آموزش میبینند، قالبهای اعلان خاصی وجود دارند که بهویژه خوب عمل میکنند و به خروجیهای مفیدتر مدل منجر میشوند. راهنمای رسمی مهندسی اعلان OpenAI معمولاً بهترین نقطهٔ شروع برای نکات مربوط به اعلاننویسی است.
در ادامه چند قالب اعلان را معرفی میکنیم که بهنظر ما خوب عمل میکنند، اما آزادانه قالبهای دیگر را نیز بررسی کنید؛ شاید برای کار شما مناسبتر باشند.
قواعد سرانگشتی و مثالها
توجه: «{text input here}» یک جاینگهدار برای متن/زمینهٔ واقعی است
۱. از جدیدترین مدل استفاده کنید
برای بهترین نتایج، عموماً توصیه میکنیم از جدیدترین و توانمندترین مدلها استفاده کنید. مهندسی اعلان برای مدلهای جدیدتر معمولاً آسانتر است.
توجه: هنگام اعلاننویسی برای یک مدل استدلال در مقایسه با اعلاننویسی برای یک مدل GPT، تفاوتهایی وجود دارد که باید در نظر گرفت. جزئیات بیشتر را اینجا ببینید.
۲. دستورالعملها را در ابتدای اعلان قرار دهید و از ### یا """ برای جدا کردن دستورالعمل از زمینه استفاده کنید
کمتر مؤثر ❌:
متن زیر را بهصورت فهرست گلولهای از مهمترین نکات خلاصه کنید.
{text input here}بهتر ✅:
متن زیر را بهصورت فهرست گلولهای از مهمترین نکات خلاصه کنید.
متن: """
{text input here}
"""۳. دربارهٔ زمینه، نتیجه، طول، قالب، سبک و موارد مشابهِ مطلوب تا حد امکان مشخص، توصیفی و دقیق باشید
دربارهٔ زمینه، نتیجه، طول، قالب، سبک و موارد مشابه مشخص باشید
کمتر مؤثر ❌:
درباره OpenAI یک شعر بنویسید. بهتر ✅:
یک شعر کوتاه و الهامبخش درباره OpenAI بنویسید که بر عرضه اخیر محصول DALL-E تمرکز داشته باشد (DALL-E یک مدل ML برای تبدیل متن به تصویر است) و به سبک {famous poet} باشد۴. قالب خروجی مطلوب را با مثالها بیان کنید
کمتر مؤثر ❌:
موجودیتهای ذکرشده در متن زیر را استخراج کنید. ۴ نوع موجودیت زیر را استخراج کنید: نام شرکتها، نام افراد، موضوعات مشخص و تمها.
متن: {text}نشان دهید و توضیح دهید - وقتی الزامات قالب مشخص به مدلها نشان داده شود، بهتر پاسخ میدهند. این کار همچنین تجزیهٔ قابل اعتماد چندین خروجی را بهصورت برنامهنویسی آسانتر میکند.
بهتر ✅:
موجودیتهای مهم ذکرشده در متن زیر را استخراج کنید. ابتدا همه نام شرکتها را استخراج کنید، سپس همه نام افراد را، بعد موضوعات مشخصی را که با محتوا متناسباند استخراج کنید و در نهایت تمهای کلی و فراگیر را استخراج کنید
قالب مطلوب:
نام شرکتها: <comma_separated_list_of_company_names>
نام افراد: -||-
موضوعات مشخص: -||-
تمهای کلی: -||-
متن: {text}۵. با یادگیری بدون نمونه شروع کنید، سپس چند نمونه؛ اگر هیچکدام کار نکرد، تنظیم دقیق کنید
✅ یادگیری بدون نمونه
از متن زیر کلیدواژهها را استخراج کنید.
متن: {text}
کلیدواژهها:✅ چند نمونه - چند مثال ارائه دهید
از متنهای مربوطه در زیر کلیدواژهها را استخراج کنید.
متن ۱: Stripe رابطهای APIای ارائه میکند که توسعهدهندگان وب میتوانند برای یکپارچهسازی پردازش پرداخت در وبسایتها و برنامههای موبایل خود از آنها استفاده کنند.
کلیدواژههای ۱: Stripe, پردازش پرداخت, APIs, توسعهدهندگان وب, وبسایتها, برنامههای موبایل
##
متن ۲: OpenAI مدلهای زبانی پیشرفتهای را آموزش داده است که در درک و تولید متن بسیار خوب هستند. API ما دسترسی به این مدلها را فراهم میکند و میتوان از آن برای حل تقریباً هر کاری که شامل پردازش زبان است استفاده کرد.
کلیدواژههای ۲: OpenAI, مدلهای زبانی, پردازش متن, API.
##
متن ۳: {text}
کلیدواژههای ۳:✅ تنظیم دقیق: بهترین روشهای تنظیم دقیق را اینجا ببینید.
۶. توصیفهای «کلیگویانه» و غیردقیق را کاهش دهید
کمتر مؤثر ❌:
توضیح این محصول باید نسبتاً کوتاه باشد، فقط چند جمله، و نه خیلی بیشتر.بهتر ✅:
برای توصیف این محصول از یک پاراگراف ۳ تا ۵ جملهای استفاده کنید.۷. بهجای اینکه فقط بگویید چه کاری انجام نشود، بگویید در عوض چه کاری انجام شود
کمتر مؤثر ❌:
آنچه در ادامه میآید گفتوگویی میان یک عامل و یک مشتری است. نام کاربری یا گذرواژه را نپرسید. تکرار نکنید.
مشتری: نمیتوانم وارد حسابم شوم.
عامل:بهتر ✅:
آنچه در ادامه میآید گفتوگویی میان یک عامل و یک مشتری است. عامل تلاش خواهد کرد مشکل را تشخیص دهد و راهحلی پیشنهاد کند، در حالی که از پرسیدن هرگونه سؤال مرتبط با PII خودداری میکند. بهجای درخواست PII، مانند نام کاربری یا گذرواژه، کاربر را به مقاله راهنمای www.samplewebsite.com/help/faq ارجاع دهید
مشتری: نمیتوانم وارد حسابم شوم.
عامل:۸. ویژهٔ تولید کد - از «واژههای آغازین» برای سوق دادن مدل بهسوی یک الگوی خاص استفاده کنید
کمتر مؤثر ❌:
# یک تابع ساده python بنویس که
# 1. از من یک عدد برحسب مایل بپرسد
# 2. مایل را به کیلومتر تبدیل کنددر مثال کد زیر، افزودن «import» به مدل اشاره میکند که باید نوشتن را با Python آغاز کند. (بهطور مشابه، «SELECT» نشانهٔ خوبی برای شروع یک دستور SQL است.)
بهتر ✅:
# یک تابع ساده python بنویس که
# 1. از من یک عدد برحسب مایل بپرسد
# 2. مایل را به کیلومتر تبدیل کند
import۹. از ویژگی «تولید هر چیز» استفاده کنید
توسعهدهندگان میتوانند از ویژگی «تولید هر چیز» برای توصیف یک کار یا خروجی مورد انتظار به زبان طبیعی استفاده کنند و یک اعلان متناسب دریافت کنند.
دربارهٔ استفاده از ویژگی «تولید هر چیز» بیشتر بیاموزید.
پارامترها
بهطور کلی، دریافتهایم که `model` و `temperature` رایجترین پارامترها برای تغییر خروجی مدل هستند.
`model` - مدلهای با عملکرد بالاتر معمولاً گرانترند و ممکن است تأخیر بیشتری داشته باشند.
`temperature` - معیاری برای اینکه مدل چند وقت یکبار توکنی با احتمال کمتر را خروجی میدهد. هرچه
temperatureبالاتر باشد، خروجی تصادفیتر (و معمولاً خلاقانهتر) خواهد بود. بااینحال، این با «راستگویی» یکسان نیست. برای بیشتر کاربردهای واقعمحور، مانند استخراج داده و پرسشوپاسخ راستگو، مقدارtemperatureبرابر با ۰ بهترین است.`max_completion_tokens` (حداکثر طول) - طول خروجی را کنترل نمیکند، بلکه یک حد توقف سخت برای تولید توکن است. در حالت ایدهآل، اغلب به این حد نمیرسید، زیرا مدل شما یا وقتی فکر کند کارش تمام شده متوقف میشود، یا وقتی به دنبالهٔ توقفی برسد که شما تعریف کردهاید.
`stop` (دنبالههای توقف) - مجموعهای از نویسهها (توکنها) که وقتی تولید شوند، باعث توقف تولید متن میشوند.
برای توضیح سایر پارامترها، مرجع API را ببینید.
