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

Techboy

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

درخواست های LLM را با Prompty بسازید و مدیریت کنید

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

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

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

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

استفاده از مدل‌های مختلف هوش مصنوعی به پیچیدگی می‌افزاید. یک تیم ممکن است از یک مدل زبان بزرگ (LLM) مانند Open AI’s GPT، Facebook’s Llama، Anthropic’s Claude یا یک ابزار سفارشی مبتنی بر یک مدل منبع باز از Hugging Face استفاده کند. شاید آن‌ها تصمیم گرفتند برنامه‌ای بسازند که از یک مدل زبان کوچک محلی مانند مایکروسافت Phi استفاده کند.

معرفی Prompty

چیزی که نیاز است یک روش مدل-آگنوستیک برای کار با LLM است که به ما امکان می‌دهد آنها را در ابزارهای توسعه خود آزمایش کنیم تا بتوانیم بدون تغییر زمینه از آنها استفاده کنیم. اینجاست که پروژه Prompty تحت حمایت مایکروسافت می آید این یک افزونه کد ویژوال استودیو است که به حل بسیاری از مشکلات مربوط به کار با LLM و سایر ابزارهای هوش مصنوعی کمک می‌کند.

می‌توانید Prompty را در GitHub پیدا کنید، جایی که یک پروژه منبع باز فعال است. می‌توانید کد را ارسال کنید یا از تیم توسعه درخواست کنید. اگر ترجیح می دهید شروع به نوشتن کد کنید، Prompty در بازار Visual Studio Code موجود است و با سیستم فایل و ویرایشگر کد آن. مستندات در وب‌سایت پروژه وجود دارد، و اگرچه در حال حاضر کمی نازک است، اما برای شروع کار کافی است.

Prompty یک ابزار بسیار ساده است. فرمت آسان برای درک آن از زبان های پیکربندی آشنا مانند YAML سرچشمه می گیرد. این رویکرد منطقی است، زیرا کاری که ما با درخواست‌ها انجام می‌دهیم، پیکربندی یک هوش مصنوعی مولد است. یک اعلان را می توان راهی برای تعریف فضای معنایی در نظر گرفت که مدل برای ارائه پاسخ های خود جستجو می کند.

یک کنترل کننده احراز هویت برای حداقل API در ASP.NET Core بسازید

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

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

ساخت درخواست با Prompty

کار با Prompty در کد شما تفاوتی با کار با هر کتابخانه دیگری ندارد. در کنار افزونه کد ویژوال استودیو، باید یک چارچوب برنامه ایجاد کنید که حاوی بسته‌های مناسب باشد. هنگامی که یک اسکلت برنامه با دسترسی به نقطه پایانی LLM دارید، می توانید از پسوند Prompty برای افزودن یک دارایی سریع به کد خود استفاده کنید. در داخل اکسپلورر کد ویژوال استودیو، روی پوشه ریشه برنامه خود راست کلیک کرده و یک Prompty جدید ایجاد کنید. با این کار یک فایل .prompty به پوشه اضافه می شود که می توانید در صورت لزوم نام آن را تغییر دهید.

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

معمولاً می‌توانید از Prompty برای آزمایش درخواست‌های خود و نمایش خروجی در پنجره خروجی Visual Studio Code استفاده کنید. این به شما امکان می‌دهد رفتاری را که خروجی LLM شما استفاده می‌کند، اصلاح کنید، به‌عنوان مثال، بین خروجی غیررسمی و گپ به خروجی رسمی‌تر تغییر دهید. شما باید متغیرهای محیطی مناسب، از جمله هر توکن احراز هویت را ارائه دهید. مثل همیشه، تمرین خوبی است که اینها را در یک فایل جداگانه نگهداری کنید تا سهواً آنها را فاش نکنید.

نحوه پیاده سازی احراز هویت در حداقل API ها در ASP.NET Core

استفاده از Prompty با ارکستراتور LM

هنگامی که درخواست‌های خود را نوشتید و آزمایش کردید، می‌توانید داده‌های دارایی درخواستی را صادر کنید و از آن‌ها با انتخاب خود ارکستراتور LLM استفاده کنید، از جمله Prompt Flow در Azure AI Studio و کرنل معنایی برای ساخت عامل های مستقل مبتنی بر هوش مصنوعی . این رویکرد به شما این امکان را می‌دهد که از یک دستور Prompty به عنوان پایه یک برنامه کاربردی مبتنی بر نسل افزوده بازیابی (RAG) استفاده کنید، خطر خروجی‌های نادرست را با افزودن داده‌های زمینی و استفاده از دستور شما برای تولید یک رابط زبان طبیعی برای منابع داده خارجی کاهش می‌دهد.

توابع به دست آمده از توضیحات prompty برای ایجاد تعامل با LLM استفاده می کنند، که می توانید آن را در یک عملیات ناهمزمان بپیچید. نتیجه یک برنامه هوش مصنوعی با کد بسیار کمی فراتر از جمع آوری ورودی های کاربر و نمایش خروجی های LLM است. بسیاری از کارهای سنگین توسط ابزارهایی مانند Semantic Kernel انجام می شود، و با جدا کردن تعریف سریع از برنامه شما، می توان تعاملات LLM را در خارج از برنامه با استفاده از فایل دارایی .prompty به روز کرد.

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

این نکته آخر بسیار مهم است: Prompty در حال حاضر بر روی ایجاد دستورات برای LLM های میزبان ابری متمرکز شده است، اما ما در حال تغییر از مدل های بزرگ به ابزارهای کوچکتر و متمرکزتر هستیم، مانند Phi Silica مایکروسافت، که برای طراحی شده اند. روی واحدهای پردازش عصبی روی سخت افزار شخصی و لبه ای و حتی روی تلفن ها اجرا شود.

سرعت جستجو را با استفاده از SearchValues ​​در NET افزایش دهید

اگر می‌خواهیم برنامه‌های هوش مصنوعی لبه‌ای را ارائه کنیم، ابزارهایی مانند Prompty باید بخشی از زنجیره‌های ابزار ما باشند و باید با نقاط پایانی محلی کار کنند و فراخوان‌های API برای SDK‌های رایج ایجاد کنند. جالب است که ببینیم آیا مایکروسافت Prompty را برای کار با کلاس‌های Phi Silica که قول داده است در Windows App SDK به عنوان بخشی از Copilot Runtime ارائه دهد، گسترش دهد یا خیر. این به توسعه دهندگان Net و C++ ابزارهای لازم را برای مدیریت درخواست های محلی و همچنین مواردی که ابر را هدف قرار می دهند، می دهد.

رشد زنجیره ابزار هوش مصنوعی

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

اگر مدل‌ها را تنظیم می‌کنید، می‌توانید از Windows AI Toolkit استفاده کنید. اگر در حال ساخت دستورات هستید، پس Prompty برای شما مناسب است، در حالی که توسعه‌دهندگان می‌توانند از ابزارها برای انتخاب ارکستراتور در کنار Windows App SDK و انتخاب ابزار C+ یا C++ استفاده کنند. Visual Studio Code به شما امکان می دهد افزونه های مورد نیاز یک پروژه را انتخاب و انتخاب کنید، و معماران می توانند با استفاده از ماشین های مجازی Dev Box مایکروسافت یا GitHub Codespaces، محیط های توسعه مناسب را با زنجیره های ابزار مناسب بسازند و مدیریت کنند.

Prompty بخش بزرگی از ارائه یک رویکرد بالغ تر برای توسعه برنامه LLM است. با مستندسازی درخواست‌های خود در حین آزمایش و اشکال‌زدایی آن‌ها در خارج از کدتان، می‌توانید برنامه‌ها و درخواست‌ها را به صورت موازی بسازید، و به مهندسان و توسعه‌دهندگان برنامه‌ها کمک کنید تا همکاری مؤثرتری داشته باشند، دقیقاً مانند فناوری‌های فرانت‌اند مانند Figma که می‌توانند همکاری‌های مشابه با طراحان را تقویت کنند. در وب.