کتاب prompt engineering for generative ai که مربوط به مبحث مهندسی پرامپت است یکی از چالش برانگیزترین مباحث کار با چت بات های رایج است. این کتاب را از یکی از انتشارات مطرح دنیا، با افتخار، در اختیار شما عزیزان قرار دادیم. دانلود کامل کتاب در انتهای مطلب.
قبلا کتاب ساده تری از مهندسی پرامپت خدمت شما تقدیم کرده بودیم.
خلاصه کتاب prompt engineering for generative ai
عنوان انگلیسی: Prompt Engineering for Generative AI: Future-Proof Inputs for Reliable AI Outputs
نام فارسی کتاب: مهندسی پرامپت برای هوش مصنوعی مولد: ورودیهای مصون نسبت به گذشت زمان برای خروجیهای هوش مصنوعی قابل اعتماد
نویسندگان: جیمز فونیکس (James Phoenix) و مایک تیلور (Mike Taylor)
ناشر: اوریلی مدیا (O’Reilly Media, Inc.)
تعداد صفحات: ۴۲۲ صفحه
نمره در گودریدز (Goodreads.com): 3.65 از 5 (بر اساس 91 رأی)
نمره در آمازون (Amazon.com): 4.5 از 5 (بر اساس 77 رأی)
مقدمه
این کتاب به عنوان یک راهنمای ضروری برای توسعهدهندگانی معرفی می شود. افرادی که قصد دارند از مدلهای زبان بزرگ (LLM) مانند ChatGPT و مدلهای انتشار (Diffusion Models) مانند DALL-E و Stable Diffusion استفاده کنند. همچنین افرادی که میخواهند نتایج قابل اعتماد و قابل استفادهای در سیستمهای خودکار تولید کنند. ایده اصلی کتاب این است که هوش مصنوعی مولد پتانسیل بیسابقهای دارد. اما بسیاری از توسعهدهندگان در استخراج خروجیهای مطمئن برای کاربردهای تولیدی (Production) با مشکل مواجه میشوند. این کتاب با معرفی یک سری اصول بنیادین به نام مهندسی پرامپت، به کاربران مواردی را آموزش میدهد. مثلا اینکه چگونه با این مدلها به طور مؤثر کار کنند و خروجیهای مورد نظر را با دقت بالا و در مقیاس وسیع به دست آورند. این اصول نه تنها برای مدلهای فعلی، بلکه برای مدلهای آتی نیز کاربرد دارند.
ایده اصلی کتاب مهندسی پرامپت
ایده اصلی کتاب بر این پایه استوار است که برای تبدیل هوش مصنوعی مولد از یک ابزار غیرقابل پیشبینی به یک جزء قابل اعتماد در سیستمهای خودکار، باید در ورودیها (پرامپتها) یک رویکرد مهندسیشده و ساختاریافته اعمال شود. این رویکرد حول پنج اصل کلیدی پرامپتنویسی میچرخد. این کتاب آموزش مبانی فنی مدلها و سپس معرفی روشهای استاندارد و پیشرفته برای تولید متن و تصویر را داراست. همچنین با استفاده از چارچوبهایی مانند LangChain و مدلهایی مانند Stable Diffusion، یک جعبه ابزار عملی برای ساختن برنامههای کاربردی هوش مصنوعی ارائه میدهد. تمرکز اصلی، قابلیت اطمینان (Reliability) و مقیاسپذیری (Scalability) در استفاده از هوش مصنوعی است.
نکات کلیدی کتاب prompt engineering for generative ai
- پنج اصل پرامپتنویسی: اصول اساسی و مدل-آگنوستیک برای بهبود تعامل با مدلهای هوش مصنوعی.
- روشهای تولید متن ساختاریافته: تکنیکهایی برای وادار کردن LLMها به تولید فرمتهای دیتایی مشخص مانند JSON و YAML.
- LangChain و RAG: استفاده از چارچوب LangChain برای زنجیرهسازی پرامپتها و تکنیک بازیابی تقویتشده با بازیابی (RAG) برای افزایش دانش مدل.
- عوامل خودمختار: ساخت عوامل هوش مصنوعی با استفاده از الگوهایی مانند ReAct که قادر به استدلال و استفاده از ابزارها هستند.
- کنترل تولید تصویر: تکنیکهای پیشرفته برای مدلهای انتشار مانند Stable Diffusion، از جمله ControlNet برای کنترل دقیق ژست و ترکیب تصویر.
۱. اصول پنجگانه پرامپتنویسی
این فصل، ستون فقرات فلسفه مهندسی پرامپت را بنا مینهد. در واقع پنج اصل اساسی و مدل-آگنوستیک را معرفی میکند که برای استخراج نتایج قابل اعتماد از مدلهای هوش مصنوعی مولد حیاتی هستند. اولین اصل، اعطای دستورالعمل واضح (Give Direction)، بر لزوم ارائه دستورات روشن و دقیق در پرامپت تأکید میکند تا ابهام از بین برود. دومین اصل، تعیین قالب خروجی (Specify Format)، به اهمیت درخواست خروجیها در قالبهای ساختاریافته مانند JSON یا YAML میپردازد. این امر برای یکپارچهسازی آسان در سیستمهای خودکار بسیار مهم است.
سومین اصل، ارائه مثالها (Provide Examples)، استفاده از پرامپتهای کمشات (Few-Shot) را برای نشان دادن دقیق آنچه مورد انتظار است، تشویق میکند. اصل چهارم، ارزیابی کیفیت (Evaluate Quality)، بر نیاز به داشتن معیارهایی برای اندازهگیری و بهبود مداوم خروجی هوش مصنوعی تأکید دارد. چرا که کیفیت خروجی میتواند متغیر باشد. در نهایت، اصل پنجم، تقسیم کار (Divide Labor)، راهنمایی میکند که وظایف پیچیده باید به زیروظایف کوچکتر و قابل مدیریتتر تقسیم شوند. این امر باعث می شود تا قابلیت اطمینان و دقت مدل افزایش یابد. این فصل با ارائه یک نمای کلی از این اصول، پایهای محکم برای کار عملی در فصلهای بعدی فراهم میکند.
۲. مقدمهای بر مدلهای زبان بزرگ برای تولید متن
این فصل کتاب prompt engineering for generative ai به بررسی مبانی فنی و معماری مدلهای زبان بزرگ (LLM) میپردازد. با این رویکرد، درک عمیقتری از نحوه کار آنها به دست آید. محتوای فصل با پرسش «مدلهای تولید متن چه هستند؟» آغاز می شود. در ادامه با توضیح بازنماییهای برداری (Vector Representations) مطلب ارائه می شود که جوهر عددی زبان را تشکیل میدهند. این بازنماییها، کلمات و عبارات را به بردارهایی در یک فضای چندبُعدی تبدیل میکنند. سپس، فصل به توضیح معماری ترانسفورمر (Transformer Architecture) میپردازد.درواقع با مکانیسم توجه (Attention Mechanism)، روابط متنی بین کلمات را هماهنگ کرده و امکان درک عمیق مفهوم را فراهم میکند.
تولید متن احتمالی (Probabilistic Text Generation)، مکانیسم تصمیمگیری مدل برای پیشبینی و انتخاب توکن بعدی را شرح میدهد. این بخش همچنین یک مرور تاریخی از مدلها ارائه میدهد. تکامل آنها از پیدایش معماریهای ترانسفورمر تا مدلهای پیشرفته امروزی مانند GPT و ChatGPT Gemini و مدلهای متنباز مانند Llama را پوشش میدهد. همچنین نقاط قوت و ضعف آنها را مقایسه میکند.
۳. روشهای استاندارد برای تولید متن با ChatGPT
این فصل به ارائه تکنیکهای عملی و روزمره میپردازد که برای استفاده موثر و کارآمد از LLMها ضروری است. تمرکز بر ایجاد خروجیهای ساختاریافته با استفاده از روشهایی مانند تولید لیستها و ساخت دیتاهای JSON و YAML است. همچنین راهکارهایی برای فیلتر کردن و مدیریت بارهای نامعتبر ارائه میدهد. علاوه بر این، این فصل به تاکتیکهایی برای بهبود کیفیت ارتباط میپردازد. مانند استفاده از روش Explain It like I’m Five (ELI5) برای سادهسازی مفاهیم یا انجام ترجمه عمومی.
یکی از موضوعات مهم این فصل، تکنیک تفکیک سبک متن (Text Style Unbundling) است. این تکنیک امکان استخراج ویژگیهای خاص متنی (مانند لحن، طول یا ساختار) را فراهم میکند تا محتوای جدیدی با همان ویژگیها تولید شود. همچنین، راهکارهای عملی برای مدیریت محدودیتهای پنجره زمینه مدلها (Context Window) معرفی میشوند. به ویژه در زمینه خلاصهسازی متون بلند با استفاده از روشهای تکهتکه کردن (Chunking) و در نظر گرفتن توکنسازی (Tokenization). در نهایت، تاکتیکهایی مانند پرامپتینگ نقش (Role Prompting)و اجتناب از توهمات با ارجاع معرفی می شوند. همچنین اعطای “زمان فکر کردن”، و ارزیابی داخلی پاسخهای مدل (Self-Eval) برای افزایش استدلال و دقت مدل معرفی میشوند.
۴. تکنیکهای پیشرفته برای تولید متن با LangChain
این فصل، تمرکز را به ابزارهای برنامهنویسی پیشرفتهتر میآورد و چارچوب LangChain را به عنوان یک ابزار قدرتمند برای ساخت برنامههای کاربردی مبتنی بر LLM معرفی میکند. این چارچوب امکان ترکیب ماژولهای مختلف را برای ایجاد جریانهای کاری پیچیده و قابل نگهداری فراهم میآورد. بخش کلیدی فصل به زنجیرهسازی پرامپت (Prompt Chaining) میپردازد که در آن وظایف پیچیده به چندین گام متوالی یا موازی با استفاده از زبان عبارت LangChain (LCEL) تقسیم میشوند.
تجزیهکنندههای خروجی (Output Parsers) برای تضمین این که خروجی مدل همیشه در قالب مورد انتظار (مانند JSON) دریافت میشود و برای تجزیه و استفاده توسط سایر ماژولها آماده است، آموزش داده میشوند.
همچنین، قابلیت ارزیابیهای LangChain (LangChain Evals) برای سنجش خودکار و کیفی خروجی مدل معرفی میشود. فصل به انواع مختلفی از زنجیرههای سند (Document Chains) میپردازد که برای پردازش اسناد طولانیتر از پنجره زمینه مدل ضروری هستند؛ از جمله روشهای Stuff، Refine، Map Reduce و Map Re-rank که هر کدام استراتژی متفاوتی برای مدیریت متون بزرگ در اختیار توسعهدهنده قرار میدهند و کارایی و دقت پاسخ را بهبود میبخشند.
۵. پایگاههای دیتا برداری با FAISS و Pinecone
این فصل به طور کامل به مفهوم تولید تقویتشده با بازیابی (RAG) میپردازد، تکنیکی حیاتی برای حل مشکل «توهمات» (Hallucinations) مدلها و اضافه کردن دانش اختصاصی و بهروز به آنها. مبحث با معرفی جاسازیها (Embeddings) آغاز میشود که اسناد متنی را به بردارهای عددی قابل جستجو در پایگاههای دیتا برداری (Vector Databases) تبدیل میکنند. این پایگاههای دیتا برای ذخیره و بازیابی سریع و دقیق این بردارها بر اساس شباهت معنایی طراحی شدهاند.
پیادهسازی عملی RAG با استفاده از FAISS به عنوان یک کتابخانه برداری کارآمد برای بازیابی حافظه محلی تشریح میشود. سپس، فصل به استفاده از Pinecone به عنوان یک پایگاه دانش برداری میزبانیشده (Hosted) میپردازد که برای کاربردهای مقیاسپذیر در محیطهای تولیدی ایدهآل است. تکنیکهای پیشرفتهتر مانند جستجوی خودکار (Self-Querying) نیز مورد بررسی قرار میگیرند، که به مدل اجازه میدهند تا پرامپت کاربر را به یک پرسوجوی ساختاریافته برای پایگاه دانش برداری تبدیل کند، و در نهایت پاسخهای آگاهانهتری تولید شود.
۶. عوامل خودمختار با حافظه و ابزار
این فصل، سطح توانایی مدلهای هوش مصنوعی را به عوامل خودمختار (Autonomous Agents) ارتقا میدهد که قادر به برنامهریزی و انجام وظایف چندمرحلهای با استدلال هستند. چارچوب اصلی، الگوی استدلال و اقدام (Reason and Act یا ReAct) است که به عامل اجازه میدهد به صورت پویا استدلال کند و تصمیم بگیرد که کدام ابزارها (Tools) را برای انجام گام بعدی فراخوانی کند.
این ابزارها شامل دسترسی به جستجوی وب، پایگاه دانش یا اجرای کد هستند، که قابلیتهای عامل را فراتر از دیتاهای آموزشی مدل گسترش میدهند. مفهوم زنجیره فکری (Chain-of-Thought) به عنوان یک تکنیک پرامپتنویسی برای افزایش وضوح استدلال عامل، قبل از اقدام، معرفی میشود. همچنین، فصل به اهمیت حافظه (Memory) در عوامل میپردازد تا عامل بتواند سوابق تعاملات قبلی را حفظ کند و در وظایف طولانیمدت سازگار و آگاه به زمینه عمل نماید. در پایان، چارچوبهای عامل پیشرو مانند LangChain، AutoGen و CrewAI که توسعه این سیستمهای پیچیده را ساده میکنند، معرفی میشوند و نگرانیهای اخلاقی و حقوقی مربوط به استقرار عوامل هوش مصنوعی خودمختار مورد بحث قرار میگیرد.
۷. مقدمهای بر مدلهای انتشار برای تولید تصویر
این فصل گذار از تولید متن به تولید تصویر با هوش مصنوعی مولد را نشان میدهد و بر روی مدلهای انتشار (Diffusion Models) متمرکز است. فصل به طور مفصل توضیح میدهد که این مدلها چگونه کار میکنند: آنها با شروع از یک تصویر نویزدار و تکرار فرآیند حذف نویز بر اساس راهنمایی پرامپت متنی، تصویر نهایی را ایجاد میکنند. نقش معماری ترانسفورمر در این زمینه برای درک و کدگذاری متن ورودی به جاسازیهای متنی (Text Embeddings) حیاتی است، زیرا این جاسازیها سیگنال هدایتکنندهای را برای فرآیند انتشار فراهم میکنند. همچنین، این فصل به بررسی ساختار و اجزای یک پرامپت مؤثر برای مدلهای انتشار میپردازد. در نهایت، موضوع ارزیابی مدل مولد (Generative Model Evaluation)، شامل معیارهایی برای اندازهگیری واقعگرایی (Fidelity) و تنوع (Diversity) تصاویر تولید شده، بررسی میشود که برای اطمینان از خروجیهای باکیفیت ضروری است.
۸. روشهای استاندارد برای تولید تصویر با Midjourney
این فصل یک راهنمای عملی برای استفاده از Midjourney، یکی از قدرتمندترین ابزارهای تجاری برای تولید تصویر، ارائه میدهد. این راهنما به کاربران آموزش میدهد که چگونه با استفاده از پارامترهای کلیدی مانند نسبت ابعاد (Aspect Ratio)، سبکسازی (Stylize) و آشوب (Chaos)، بر جنبههای مختلف خروجی تصویر کنترل داشته باشند. تکنیکهایی مانند استفاده از پرامپتهای تصویری (Image Prompts) برای هدایت سبک، و جایگشتها (Permutations) برای تولید سریع چندین نسخه با تنوعهای پرامپتی مختلف، مورد بررسی قرار میگیرند. همچنین، فصل به تکنیکهای پیشرفتهتر ویرایش تصویر در Midjourney میپردازد؛ از جمله ارجاعات سبک (Style References) برای حفظ یک سبک بصری ثابت در چندین تصویر، و قابلیتهای Blend (ترکیب)، Pan (حرکت افقی) و Zoom (بزرگنمایی) که انعطافپذیری قابل توجهی در فرآیند هنری و ترکیببندی ایجاد میکنند. در پایان، مروری مختصر بر چگونگی تولید تصویر با مدلهای انتشار متنباز برای کاربرانی که به دنبال گزینههای جایگزین هستند، ارائه میشود.
۹. تکنیکهای پیشرفته برای تولید تصویر با Stable Diffusion
این فصل عمیقاً بر روی مدل Stable Diffusion و تکنیکهای پیشرفته برای سفارشیسازی و کنترل دقیق آن تمرکز دارد. این مدل متنباز به دلیل انعطافپذیری خود در تنظیم دقیق، یک انتخاب محبوب در میان توسعهدهندگان است. فصل با بررسی پارامترهای کلیدی مانند مقیاس CFG (CFG Scale)، نمونهبردارها (Samplers) و Seed آغاز میشود که هر کدام نقش حیاتی در تعیین ظاهر و حس تصویر نهایی دارند.
بخش مهم فصل، معرفی ControlNet است، یک ابزار انقلابی که به کاربران اجازه میدهد ورودیهای تصویری اضافی مانند نقشههای عمق (Depth Maps)، لبههای Canny یا OpenPose را برای کنترل دقیق ترکیب، ژست و ساختار کلی تصویر تولید شده، فراهم آورند. همچنین، تکنیکهای ویرایش تصویری مانند Inpainting (پر کردن یا جایگزینی بخشهایی از تصویر) و Outpainting (گسترش مرزهای تصویر) و روش تولید تصویر از تصویر (Image-to-Image) برای تبدیل تصاویر موجود بر اساس پرامپتهای جدید، پوشش داده میشود. در نهایت، مفهوم تنظیم دقیق با LoRA (Low-Rank Adaptation) برای آموزش مدل بر روی سبکها یا مجموعههای دیتای اختصاصی مورد بررسی قرار میگیرد.
۱۰. ساخت برنامههای کاربردی مبتنی بر هوش مصنوعی
فصل نهایی، نقشهای برای توسعهدهندگان فراهم میکند تا تمام دانش آموختهشده را در چارچوب یک برنامه کاربردی قابل استقرار و مقیاسپذیر در دنیای واقعی ترکیب کنند. این فصل بر چگونگی ادغام یکپارچه مدلهای زبان بزرگ و مدلهای انتشار در یک معماری نرمافزاری منسجم تمرکز دارد. این مرحله، انتقال از پرامپتهای یکباره به سیستمهای تولیدی (Production Systems) را نشان میدهد. فصل به چالشهای معماری سیستم در یک محیط مبتنی بر هوش مصنوعی میپردازد، از جمله مدیریت جریان دانش بین سرویسهای مختلف، و اهمیت استفاده از پایگاههای دانش برداری و عوامل خودمختار در یک سیستم بزرگتر. همچنین، بر لزوم استقرار اخلاقی برنامههای هوش مصنوعی و نیاز به مکانیسمهای نظارت و نگهداری پس از استقرار تأکید میکند تا عملکرد مداوم حفظ شده و از مشکلات مدل (مانند Model Drift) جلوگیری شود. این فصل، اصول مهندسی پرامپت را به یک مهارت توسعه نرمافزار کاربردی در مقیاس بزرگ تبدیل میکند.
.
دانلود کتاب کتاب prompt engineering for generative ai: