۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

با Microsoft Prompt Engine دستورات هوش مصنوعی موثر طراحی کنید

ابزار منبع باز مایکروسافت به شما کمک می کند تا کدی را برای کار با هوش مصنوعی مولد بنویسید، و اطمینان حاصل شود که نتایج اطلاعات صحیح را ارائه می دهند و در موضوع باقی می مانند.

ابزار منبع باز مایکروسافت به شما کمک می کند تا کدی را برای کار با هوش مصنوعی مولد بنویسید، و اطمینان حاصل شود که نتایج اطلاعات صحیح را ارائه می دهند و در موضوع باقی می مانند.

راه‌اندازی بینگ جدید مبتنی بر هوش مصنوعی مایکروسافت، سرمایه‌گذاری‌های این شرکت در مدل‌های زبان بزرگ OpenAI و هوش مصنوعی مولد را روشن کرد و آن‌ها را به سرویسی برای مشتریان تبدیل کرد. آزمایش‌های اولیه با این سرویس به سرعت جزئیات درخواست‌های از پیش تعریف‌شده‌ای را که مایکروسافت برای تمرکز ربات چت بینگ بر ارائه نتایج جستجو استفاده می‌کرد، نشان داد.

مدل های زبان بزرگ، مانند سری GPT OpenAI، بهتر است به عنوان ابزارهای سریع و پاسخ در نظر گرفته شوند. شما به مدل یک اعلان می دهید و با یک سری کلمات پاسخ می دهد که هم با محتوا و هم سبک دستور و در برخی موارد حتی با حال و هوای آن مطابقت دارد. مدل‌ها با استفاده از مقادیر زیادی داده آموزش داده می‌شوند که سپس برای یک کار خاص تنظیم می‌شوند. با ارائه یک اعلان با طراحی خوب و محدود کردن اندازه پاسخ، می‌توان ریسک تولید خروجی‌های دستوری درست اما ذاتاً غلط توسط مدل را کاهش داد.

معرفی مهندسی سریع

درخواست‌های Bing مایکروسافت نشان داد که برای شبیه‌سازی شخصیت مفیدی که می‌تواند محتوا را از نتایج جستجو بسازد، با استفاده از مدل Prometheus خود مایکروسافت به عنوان مجموعه‌ای از حلقه‌های بازخورد اضافی برای حفظ نتایج در موضوع و زمینه، محدود شده است. جالب‌ترین چیز در مورد این اعلان‌ها این است که واضح است که مایکروسافت در رشته مهندسی نرم‌افزار جدیدی سرمایه‌گذاری کرده است: مهندسی سریع .

این رویکردی است که شما نیز باید روی آن سرمایه‌گذاری کنید، به خصوص اگر با Azure OpenAI APIهای مایکروسافت کار می‌کنید. هوش مصنوعی‌های مولد، مانند مدل‌های زبان بزرگ، بخشی از چهره عمومی برنامه و کسب‌وکار شما خواهند بود، و شما باید آن‌ها را در برند و تحت کنترل نگه دارید. این به مهندسی سریع نیاز دارد: طراحی یک فرمان پیکربندی مؤثر، تنظیم مدل، و اطمینان از اینکه درخواست‌های کاربر منجر به خروجی‌های ناخواسته نمی‌شود.

هم مایکروسافت و هم OpenAI محیط‌های جعبه ایمنی را ارائه می‌کنند که در آن می‌توانید درخواست‌های پایه را بسازید و آزمایش کنید. می‌توانید در یک متن سریع جای‌گذاری کنید، نمونه محتوای کاربر را اضافه کنید و خروجی معمولی را ببینید. اگرچه یک عنصر تصادفی در مدل وجود دارد، شما خروجی های مشابهی برای هر ورودی دریافت خواهید کرد، بنابراین می توانید ویژگی ها را آزمایش کنید و “شخصیت” مدل خود را بسازید.

شروع به کار با Avalonia UI

این رویکرد فقط برای مدل‌های مبتنی بر چت و متن ضروری نیست. شما به جنبه‌ای از مهندسی سریع در یک ابزار توسعه‌دهنده مبتنی بر هوش مصنوعی مبتنی بر Codex یا در یک تولیدکننده تصویر DALL-E نیاز دارید که برای کلیپ آرت اسلاید یا به عنوان بخشی از یک گردش کار با کد پایین استفاده می‌شود. افزودن ساختار و کنترل به اعلان‌ها باعث می‌شود هوش مصنوعی مولد کارآمد بماند، به جلوگیری از خطاها کمک می‌کند و خطر سوء استفاده را کاهش می‌دهد.

استفاده از دستورات با Azure OpenAI

مهم است که به خاطر داشته باشید که ابزارهای دیگری برای کنترل هم بافت و هم سازگاری با مدل‌های زبان بزرگ فراتر از درخواست دارید. یکی دیگر از گزینه‌ها کنترل طول پاسخ (یا در مورد سیستم مبتنی بر ChatGPT، پاسخ‌ها) با محدود کردن تعداد نشانه‌هایی است که می‌توانند در یک تعامل استفاده شوند. این باعث می‌شود پاسخ‌ها مختصر باشند و احتمال اینکه خارج از موضوع نباشند کمتر می‌شود.

کار با Azure OpenAI API یک راه نسبتاً ساده برای ادغام مدل‌های زبان بزرگ در کد شما است، اما در حالی که آنها تحویل رشته‌ها به APIها را ساده می‌کنند، چیزی که لازم است راهی برای مدیریت آن رشته‌ها است. برای اعمال رشته‌های مهندسی سریع در برنامه‌تان، به‌کارگیری الگوها و شیوه‌های مناسب فراتر از گزینه‌های اولیه پرسش و پاسخ، کد زیادی نیاز است.

اعلام‌ها را با Prompt Engine مدیریت کنید

مایکروسافت روی یک پروژه منبع باز، Prompt Engine کار می کند تا دستورات را مدیریت کند و تحویل دهد. خروجی های مورد انتظار از یک مدل زبان بزرگ، با جاوا اسکریپت، سی شارپ، و Python همه در مخازن جداگانه GitHub منتشر می شوند. هر سه کارکرد اصلی یکسانی دارند: مدیریت زمینه هر گونه تعامل با یک مدل.

اگر از نسخه جاوا اسکریپت استفاده می‌کنید، از سه کلاس مختلف مدل پشتیبانی می‌شود: یک مدل مبتنی بر درخواست عمومی، یک مدل کد، و یک سیستم مبتنی بر چت. این یک راه مفید برای مدیریت اجزای مختلف یک اعلان خوب طراحی شده است، که از ورودی‌های خود و تعاملات کاربر (از جمله پاسخ‌های مدل) پشتیبانی می‌کند. این بخش آخر به عنوان راهی برای مدیریت زمینه بین تعاملات، حصول اطمینان از حفظ حالت در چت ها و بین خطوط کد در یک برنامه مهم است.

خطرات در حال ظهور منبع باز

شما گزینه‌های مشابهی را از نسخه پایتون دریافت می‌کنید که به شما امکان می‌دهد به سرعت از فرآیندهای مشابه کد جاوا اسکریپت. نسخه سی شارپ فقط از مدل‌های تجزیه و تحلیل عمومی و متن پشتیبانی می‌کند، اما به راحتی می‌توان آن‌ها را برای انتخاب شما از برنامه های کاربردی گزینه جاوا اسکریپت برای برنامه های کاربردی وب و برنامه های افزودنی Visual Studio Code خوب است، در حالی که ابزار Python یک انتخاب منطقی برای افرادی است که با بسیاری از ابزارهای مختلف یادگیری ماشین کار می کنند.

هدف این است که با مدل زبان بزرگ به‌عنوان یک همکار با کاربر رفتار کنیم و به شما این امکان را می‌دهد که حلقه‌های بازخورد خود را در اطراف هوش مصنوعی ایجاد کنید، مانند Prometheus مایکروسافت. با داشتن یک الگوی استاندارد برای کار با مدل، می‌توانید با ردیابی خروجی‌ها و اصلاح ورودی‌ها در صورت لزوم، در مورد اعلان‌های پایه خود تکرار کنید.

مدیریت تعاملات GPT با Prompt Engine

Prompt Engine به عنوان یک کتابخانه از مخازن آشنا مانند npm و pip با کد نمونه در مخازن GitHub آنها نصب می شود. هنگامی که ماژول کتابخانه های مناسب را وارد می کند، شروع به کار به اندازه کافی آسان است. با توضیحی از درخواست خود شروع کنید، به دنبال آن چند نمونه تعامل. به عنوان مثال، در جایی که زبان طبیعی را به کد تبدیل می‌کنید، هر تعامل یک جفت است که دارای یک جستار نمونه است که کد خروجی مورد انتظار در زبان مورد نظر شما به دنبال آن قرار می‌گیرد.

برای ساخت موثرترین درخواست باید چندین تعامل وجود داشته باشد. زبان هدف پیش‌فرض پایتون است، اما می‌توانید زبان‌های انتخابی خود را با استفاده از تماس CodeEngineConfig پیکربندی کنید.

با یک زبان مقصد و مجموعه‌ای از نمونه‌ها، اکنون می‌توانید یک درخواست از یک درخواست کاربر بسازید. رشته اعلان حاصل را می توان در تماس با Azure OpenAI API استفاده کرد. اگر می‌خواهید متن تماس بعدی خود را حفظ کنید، به سادگی پاسخ را به یک تعامل جدید اضافه کنید و به تماس بعدی منتقل می‌شود. از آنجایی که بخشی از نمونه اصلی تعاملات نیست، فراتر از جلسه کاربر فعلی باقی نخواهد ماند و توسط کاربر دیگری یا در تماس دیگری قابل استفاده نیست. این رویکرد ساخت دیالوگ‌ها را ساده می‌کند، اگرچه مهم است که کل نشانه‌های استفاده شده را پیگیری کنید تا درخواست شما از محدودیت‌های نشانه مدل فراتر نرود. Prompt Engine راهی برای اطمینان از اینکه طول اعلان از حداکثر تعداد نشانه برای مدل فعلی شما تجاوز نمی کند و در صورت لزوم دیالوگ های قدیمی تر را حذف می کند. این رویکرد به این معنی است که گفتگوها می‌توانند زمینه را از دست بدهند، بنابراین ممکن است لازم باشد به کاربران کمک کنید تا بفهمند محدودیت‌هایی برای طول مکالمه وجود دارد.

هوش مصنوعی واقعاً آنقدرها هم هوشمند نیست

اگر صراحتاً یک سیستم چت را هدف قرار می‌دهید، می‌توانید نام کاربر و ربات را با توضیحات متنی که شامل رفتارهای ربات و لحن است که می‌تواند در تعاملات نمونه گنجانده شود، پیکربندی کنید، و دوباره پاسخ‌ها را به Prompt Engine برگردانید تا زمینه را ایجاد کند. درخواست بعدی.

می توانید از Interaction های ذخیره شده در حافظه پنهان برای افزودن یک حلقه بازخورد به برنامه خود استفاده کنید، به عنوان مثال، به دنبال عبارات و عبارات ناخواسته بگردید، یا با استفاده از رتبه بندی پاسخ کاربر برای تعیین اینکه کدام تعامل بین درخواست ها ادامه دارد. ثبت اعلان‌های موفق و ناموفق به شما این امکان را می‌دهد که یک اعلان پیش‌فرض مؤثرتر بسازید و در صورت نیاز نمونه‌های جدیدی را اضافه کنید. مایکروسافت پیشنهاد می‌کند یک بانک پویا از نمونه‌ها بسازید که می‌توان آن‌ها را با جستارها مقایسه کرد، با استفاده از مجموعه‌ای از نمونه‌های مشابه برای ایجاد پویا اعلانی که درخواست کاربر شما را تقریب می‌کند و امیدواریم خروجی دقیق‌تری ایجاد کند.

Prompt Engine ابزار ساده ای است که به شما کمک می کند تا یک الگوی مناسب برای ساخت دستورات بسازید. این یک روش موثر برای مدیریت محدودیت‌های مدل‌های زبان بزرگ مانند GPT-3 و Codex است، و در عین حال برای ایجاد حلقه‌های بازخورد لازم که به جلوگیری از رفتار پیش‌بینی نشده مدل کمک می‌کند.