
محیط توسعه هوش مصنوعی خود را تنظیم کنید
می 21, 2025
RAG: ناجی مدلهای زبان بزرگ از توهم و فراموشی! 🧠✨
ژوئن 4, 2025
تکنیک های اصلی هوش مصنوعی که بایدبدانید
هوش مصنوعی مولد: خلق محتوای شگفتانگیز با جادوی تکنولوژی
مقدمه:
هوش مصنوعی مولد (Generative AI) یه جورایی مثل یه هنرمند دیجیتاله که میتونه با استفاده از الگوریتمها و دادهها، محتوای جدید و خلاقانه تولید کنه. از تولید متن و تصویر گرفته تا ساخت موسیقی و ویدیو، این تکنولوژی داره همه چیز رو متحول میکنه. تو این مقاله، میخوایم با تکنیکهای اصلی هوش مصنوعی مولد آشنا بشیم و ببینیم چطور دارن دنیای ما رو تغییر میدن.
تکنیکهای اصلی هوش مصنوعی مولد:
- شبکههای مولد تخاصمی (GANs):
- GANها از دو تا شبکه عصبی تشکیل شدن: یه تولیدکننده (Generator) و یه تمیزدهنده (Discriminator). تولیدکننده سعی میکنه دادههای جدیدی تولید کنه که شبیه دادههای اصلی باشن، و تمیزدهنده سعی میکنه تشخیص بده کدوم دادهها واقعی هستن و کدومها توسط تولیدکننده ساخته شدن. این رقابت بین این دو شبکه باعث میشه که تولیدکننده روز به روز بهتر بشه و دادههای واقعیتری تولید کنه.
- کاربردها: تولید تصاویر با کیفیت بالا، ساخت ویدیوهای جعلی (Deepfake)، افزایش کیفیت تصاویر قدیمی و طراحی لباس و محصولات جدید.
- مدلهای زبانی بزرگ (LLMs):
- LLMها با استفاده از حجم عظیمی از دادههای متنی آموزش داده میشن و میتونن متنهای طولانی و منسجم تولید کنن. این مدلها میتونن شعر بنویسن، کد تولید کنن، به سوالات پاسخ بدن و حتی داستان بگن.
- کاربردها: تولید محتوای وبلاگ، نوشتن ایمیل، ترجمه زبانها، خلاصهسازی متون و ساخت چتباتها.
- خودرمزگذارها (Autoencoders):
- خودرمزگذارها یه جورایی مثل دستگاه فشردهسازی و باز کردن فایل زیپ هستن. این مدلها دادهها رو به یه فرم فشرده تبدیل میکنن و بعد سعی میکنن اونها رو دوباره بازسازی کنن. این فرایند باعث میشه که مدل بتونه ویژگیهای مهم دادهها رو یاد بگیره و از اونها برای تولید دادههای جدید استفاده کنه.
- کاربردها: کاهش نویز تصاویر، تولید تصاویر با وضوح بالا و تشخیص ناهنجاریها در دادهها.
- مدلهای انتشار (Diffusion Models):
- این مدلها با اضافه کردن نویز به تصاویر شروع میکنن و بعد سعی میکنن اون نویز رو حذف کنن تا به تصویر اصلی برسن. این فرایند باعث میشه که مدل بتونه نحوه ساخت تصاویر رو یاد بگیره و تصاویر جدیدی تولید کنه.
- کاربردها: تولید تصاویر با کیفیت بسیار بالا، ویرایش تصاویر و ساخت انیمیشن.
کاربرد
کاربردهای هیجانانگیز هوش مصنوعی مولد:
- هنر و خلاقیت: خلق آثار هنری دیجیتال، ساخت موسیقی و تولید فیلمهای کوتاه.
- بازاریابی و تبلیغات: تولید محتوای تبلیغاتی جذاب و متقاعدکننده، ساخت تصاویر و ویدیوهای تبلیغاتی و طراحی لوگو و هویت بصری.
- پزشکی و سلامت: تولید تصاویر پزشکی با کیفیت بالا، طراحی داروهای جدید و تشخیص بیماریها.
- آموزش و پرورش: تولید محتوای آموزشی تعاملی و جذاب، ساخت بازیهای آموزشی و شخصیسازی تجربه یادگیری.
چالشها و ملاحظات اخلاقی:
- انتشار اطلاعات نادرست (Deepfakes): استفاده نادرست از هوش مصنوعی مولد برای تولید اخبار جعلی و گمراه کردن مردم.
- نقض حقوق مالکیت معنوی: تولید محتوایی که شبیه آثار دیگران است و نقض حقوق کپیرایت.
- تعصب و تبعیض: تولید محتوایی که بر اساس دادههای تبعیضآمیز آموزش داده شده و باعث ترویج تبعیض میشود.
آنچه در این درس خواهید آموخت:
- 🌟 تکمیل دورههای LLM و جریانهای چت
- 🔗 توابع و افزونهها با LLMها
- 🔎 بازیابی-تولید افزوده (RAG)
- 👀 رویکردهای هوش مصنوعی مبتنی بر بینایی
- 🔊 ساخت و رونویسی صدا
در این درس، اصول اولیه ساخت برنامههای چت با استفاده از تکمیل مدلهای زبانی و توابع در .NET را بررسی خواهیم کرد. همچنین نحوه استفاده از Semantic Kernel و Microsoft Extensions AI (MEAI) را برای ایجاد چتباتها بررسی خواهیم کرد. و از Semantic Kernel برای ایجاد افزونهها یا قابلیتهایی که توسط چتبات بر اساس ورودی کاربر فراخوانی میشوند، استفاده خواهیم کرد.
تکمیل متن و چت

تکمیل متن میتواند اساسیترین شکل تعامل با مدل زبانی در یک برنامه هوش مصنوعی باشد. تکمیل متن، یک پاسخ واحد است که توسط مدل بر اساس ورودی یا درخواستی که به مدل داده میشود، تولید میشود.
تکمیل متن به خودی خود یک برنامه چت نیست، بلکه یک تعامل یکباره و تمامشده است. شما میتوانید از تکمیل متن برای کارهایی مانند خلاصه محتوا یا تحلیل احساسات استفاده کنید.
تکمیل متن
بیایید ببینیم چگونه میتوانید از تکمیل متن با استفاده از کتابخانه Microsoft.Extensions.AI در .NET استفاده کنید.
🧑💻 نمونه کد : در اینجا یک نمونه کار از این برنامه آمده است که میتوانید با آن همراه شوید.
نحوه اجرای کد نمونه
برای اجرای کد نمونه، باید:
- مطمئن شوید که یک GitHub Codespace با محیط مناسب، همانطور که در راهنمای راهاندازی توضیح داده شده است، راهاندازی کردهاید.
- مطمئن شوید که توکن گیتهاب خود را همانطور که در بخش بررسی قبل از پرواز توضیح داده شده است، پیکربندی کردهاید.
- یک ترمینال در فضای کد خود باز کنید (Ctrl+
or Cmd+) - به دایرکتوری کد نمونه بروید:
برنامه رااجراکنید
🗒️ توجه: این مثال GitHub Models را به عنوان سرویس میزبانی نشان داد. اگر میخواهید از Ollama استفاده کنید، این مثال را بررسی کنید (این مثال یک نمونه متفاوت را معرفی میکند
IChatClient).اگر میخواهید از Azure AI Foundry استفاده کنید، میتوانید از همان کد استفاده کنید، اما باید نقطه پایانی و اعتبارنامهها را تغییر دهید.
برای دستورالعملهای مربوط به نحوه راهاندازی Ollama، به شروع به کار با Ollama مراجعه کنید .
🙋 نیاز به کمک دارید؟ : اگر در اجرای این مثال با مشکلی مواجه شدید، یک مشکل در مخزن باز کنید و ما به شما در عیبیابی کمک خواهیم کرد.
اپلیکیشنهای چت
ساخت یک برنامه چت کمی پیچیدهتر است. مکالمهای با مدل وجود خواهد داشت که در آن کاربر میتواند درخواستهایی ارسال کند و مدل پاسخ خواهد داد. و مانند هر مکالمهای، باید مطمئن شوید که زمینه یا تاریخچه مکالمه را حفظ میکنید تا همه چیز منطقی باشد.
انواع مختلف نقشهای چت
در طول چت با مدل، پیامهای ارسالی به مدل میتوانند انواع مختلفی داشته باشند. در اینجا چند نمونه آورده شده است:
- سیستم : پیام سیستم، رفتار پاسخهای مدل را هدایت میکند. این پیام به عنوان دستورالعمل یا راهنمایی اولیه عمل میکند که زمینه، لحن و مرزهای مکالمه را تعیین میکند. کاربر نهایی آن چت معمولاً این پیام را نمیبیند، اما در شکلدهی به مکالمه بسیار مهم است.
- کاربر : پیام کاربر، ورودی یا درخواستی از کاربر نهایی است. این پیام میتواند یک سوال، یک جمله یا یک دستور باشد. مدل از این پیام برای تولید پاسخ استفاده میکند.
- دستیار : پیام دستیار، پاسخی است که توسط مدل تولید میشود. این پیامها بر اساس پیامهای سیستم و کاربر هستند و توسط مدل تولید میشوند. کاربر نهایی این پیامها را میبیند.
مدیریت تاریخچه چت
در طول چت با مدل، باید تاریخچه چت را پیگیری کنید. این مهم است زیرا مدل بر اساس پیام سیستم و سپس تمام رفت و آمدها بین کاربر و دستیار، پاسخهایی تولید میکند. هر پیام اضافی، زمینه بیشتری را اضافه میکند که مدل برای تولید پاسخ بعدی از آن استفاده میکند.
بیایید نگاهی به نحوه ساخت یک برنامه چت با استفاده از MEAI بیندازیم.
🧑💻 نمونه کد : میتوانید نمونههای کامل برنامه چت را در دایرکتوریهای BasicChat-01MEAI و BasicChat-02SK پیدا کنید .
🗒️ توجه: این کار را میتوان با Semantic Kernel نیز انجام داد. کد را اینجا ببینید .
🙋 به کمک نیاز دارید؟ : اگر در اجرای مثالهای برنامه چت با مشکلی مواجه شدید، یک مشکل را در مخزن باز کنید و ما به شما در عیبیابی کمک خواهیم کرد.
فراخوانی تابع
هنگام ساخت برنامههای هوش مصنوعی، شما فقط به تعاملات مبتنی بر متن محدود نمیشوید. میتوانید با فراخوانی توابع از پیش تعریف شده در کد خود بر اساس ورودی کاربر، عملکرد چتبات را گسترش دهید. به عبارت دیگر، فراخوانیهای تابع به عنوان پلی بین مدل و سیستمهای خارجی عمل میکنند.
🧑💻 نمونه کد : در اینجا یک نمونه کار از این برنامه آمده است که میتوانید با آن همراه شوید.
فراخوانی تابع در برنامههای چت
برای فراخوانی توابع با MEAI، باید چند مرحله راهاندازی را انجام دهید.
🧑💻 نمونه کد : در اینجا یک مثال کاربردی از فراخوانی تابع آورده شده است که میتوانید آن را دنبال کنید. برای اجرای این مثال، مراحل مشابه مثالهای قبلی را دنبال کنید، اما به
03-CoreGenerativeAITechniques/src/MEAIFunctionsدایرکتوری بروید.البته اول، تابعی را که میخواهید چتبات بتواند فراخوانی کند، تعریف کنید. در این مثال، ما قصد داریم پیشبینی آب و هوا را دریافت کنیم.
در مرحله بعد، ما یک شیء ایجاد خواهیم کرد ChatOptionsکه به MEAI میگوید کدام توابع در دسترس او هستند.
وقتی IChatClientشیء را نمونهسازی میکنیم، میخواهیم مشخص کنیم که از فراخوانی تابع استفاده خواهیم کرد.
سپس در نهایت، وقتی با مدل تعامل میکنیم، ChatOptionsشیءای را ارسال میکنیم که تابعی را که مدل میتواند در صورت نیاز به دریافت اطلاعات آب و هوا فراخوانی کند، مشخص میکند.
خلاصه
در این درس، یاد گرفتیم که چگونه از تکمیل متن استفاده کنیم، یک مکالمه چت را شروع و مدیریت کنیم و توابع را در برنامههای چت فراخوانی کنیم.
در درس بعدی خواهید دید که چگونه چت کردن با دادهها را شروع کنید و چیزی را که به عنوان یک چتبات مدل بازیابی افزوده (RAG) شناخته میشود، بسازید – و با بینایی و صدا در یک برنامه هوش مصنوعی کار کنید!
👀 رویکردهای هوش مصنوعی مبتنی بر بینایی



