From 4ad497cb0ce119e797cdaec3816f911c259a712d Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Thu, 20 Mar 2025 01:27:11 +0330 Subject: [PATCH 01/10] Create README.fa.md --- lessons/01-intro-to-genai/translations/README.fa.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 lessons/01-intro-to-genai/translations/README.fa.md diff --git a/lessons/01-intro-to-genai/translations/README.fa.md b/lessons/01-intro-to-genai/translations/README.fa.md new file mode 100644 index 0000000..4ffa79f --- /dev/null +++ b/lessons/01-intro-to-genai/translations/README.fa.md @@ -0,0 +1 @@ +# درس 1: مقدمه ای بر هوش مصنوعی و LLM های مولد برای توسعه دهندگان جاوا اسکریپت From 4ea897607f3bc6d4ab19be3a1cddb73c8630de7e Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Fri, 21 Mar 2025 14:00:02 +0330 Subject: [PATCH 02/10] Update README.fa.md --- .../translations/README.fa.md | 363 +++++++++++++++++- 1 file changed, 362 insertions(+), 1 deletion(-) diff --git a/lessons/01-intro-to-genai/translations/README.fa.md b/lessons/01-intro-to-genai/translations/README.fa.md index 4ffa79f..afdb098 100644 --- a/lessons/01-intro-to-genai/translations/README.fa.md +++ b/lessons/01-intro-to-genai/translations/README.fa.md @@ -1 +1,362 @@ -# درس 1: مقدمه ای بر هوش مصنوعی و LLM های مولد برای توسعه دهندگان جاوا اسکریپت +# درس ۱: مقدمه‌ای بر هوش مصنوعی مولد و مدل‌های زبانی بزرگ برای توسعه‌دهندگان جاوا اسکریپت + +در این فصل شما خواهید آموخت: + +- آشنایی با اصول اولیه هوش مصنوعی مولد و مدل‌های زبانی بزرگ (LLMs). +- شناسایی کاربردها و محدودیت‌های مدل‌های زبانی بزرگ در توسعه جاوا اسکریپت. +- بررسی چگونگی بهبود تجربه کاربری در اپلیکیشن‌های جاوا اسکریپت با هوش مصنوعی مولد. + +## راه‌اندازی + +اگر هنوز محیط توسعه خود را راه‌اندازی نکرده‌اید، می‌توانید از این راهنما استفاده کنید: [راه‌اندازی محیط](/docs/setup/README.md). + +## منابع مرتبط + +[![تماشای یک ویدیو کوتاه و مقدمهاتی درباره هوش مصنوعی مولد](https://img.youtube.com/vi/vLYtDgs_zx8/0.jpg)](https://www.youtube.com/watch?v=vLYtDgs_zx8&list=PLlrxD0HtieHi5ZpsHULPLxm839IrhmeDk&index=1) + +_این ویدیو مقدمه‌ای بر هوش مصنوعی مولد با جاوا اسکریپت را به شما ارائه می‌دهد._ + +💼 اسلایدها: [مقدمه‌ای بر هوش مصنوعی مولد](../../videos/slides/00-intro.pptx) + +## هوش مصنوعی مولد + +تا به حال احتمالاً از ابزارهایی مانند ChatGPT یا هوش مصنوعی مولد شنیده‌اید. مفهوم آن ساده است: شما یک ورودی (prompt) ارائه می‌دهید و یک مدل — که اغلب به آن مدل زبانی بزرگ (LLM) گفته می‌شود — یک پاراگراف یا حتی یک صفحه کامل متن تولید می‌کند. این خروجی می‌تواند برای مقاصد مختلفی از جمله نویسندگی خلاقانه، پاسخ به سوالات و کدنویسی استفاده شود. + +علاوه بر این، هوش مصنوعی مولد به قابلیت‌های چندرسانه‌ای (multimodal) گسترش یافته است، به طوری که شما می‌توانید یک تصویر یا ویدیو به عنوان ورودی ارائه دهید و خروجی‌های متنوعی دریافت کنید. این پیشرفت به طرز قابل توجهی روند کاری بسیاری از افراد را بهبود بخشیده است — نه تنها با تولید متن بلکه با خلاصه‌سازی، ترجمه و موارد دیگر. + +*به طور خلاصه، رابط‌های زبانی طبیعی در حال تبدیل شدن به رابط استاندارد جدید برای بسیاری از اپلیکیشن‌ها هستند — و کاربران شما انتظار استفاده از آن‌ها را دارند.* + +## روایت: سفری در طول زمان + +> [!NOTE] +> بیایید با یک مرور کلی بر داستان شروع کنیم — داستانی که پل ارتباطی بین گذشته و آینده است! در طول این دوره آموزشی، شما به یک ماجراجویی هیجان‌انگیز خواهید پرداخت، به گذشته سفر خواهید کرد تا با برخی از بزرگترین ذهن‌های تاریخ همکاری کنید. با هم، به چالش‌ها پرداخته و بررسی خواهید کرد که چگونه هوش مصنوعی مولد می‌تواند اپلیکیشن‌های جاوا اسکریپت شما را متحول کند. +> +> [!NOTE] +> در حالی که توصیه می‌کنیم داستان را دنبال کنید (خیلی جذاب است!)، [اینجا کلیک کنید](#interact-with-dinocrates) اگر ترجیح می‌دهید مستقیماً به محتوای فنی بروید. + +سفر شما در لندن دهه ۱۸۶۰ آغاز می‌شود، جایی که شما نقش یک مکانیک ماهر را به عهده دارید. از طریق مجموعه‌ای از ماجراهای جذاب، مهارت‌های هوش مصنوعی خود را بهبود می‌بخشید و راه‌حل‌هایی را کشف می‌کنید که از زمان فراتر می‌روند. + +### به درون گرداب - لندن ۱۸۶۰ + +در قلب لندن دهه ۱۸۶۰، شما به عنوان یکی از ماهرترین مکانیک‌های زمان خود شناخته می‌شوید. کارگاه شما در یک کوچه باریک پنهان شده است. دیوارها با قفسه‌هایی پر از قطعات مکانیکی، نقشه‌های فنی و پروژه‌های نیمه‌تمام پوشیده شده‌اند. + +میز کار شما، قلب کارگاه، یک آشفتگی سازمان‌یافته است. + +
+ London Workshop +
+ +_در مرکز میز، تنه یک ربات قرار دارد — یک شگفتی مهندسی که ماه‌ها تلاش صرف آن شده است. قاب چوبی آن با دقت حکاکی شده و هر مفصل به دقت برای حرکت نرم طراحی شده است._ + +### نامه‌ای، برای تو؟ + +ناگهان، در زدن در به درب افکار شما خللی می‌اندازد. در این ساعت، بازدیدکنندگان نادر هستند. دست‌هایتان را روی یک پارچه پاک می‌کنید و با کنجکاوی به سمت در می‌روید. + +با باز کردن در، هیچ‌کس را پیدا نمی‌کنید. در عوض، توجهتان به یک پاکت مهر و موم‌شده روی زمین جلب می‌شود. آن را برمی‌دارید و می‌خوانید: + +_"دوست عزیز، + +این نامه را برای یاری در تلاش‌هایت با اتوماتون برایت می‌فرستم. ادامه این کار برایت حیاتی است. درون پاکت کلیدی برای کتابخانه وجود دارد. امروز ساعت ۳ بعد از ظهر آنجا ملاقات کن. + +با احترام، + +چارلز بابیج."_ + +### راهی به سوی کتابخانه + +چارلز بابیج، ریاضیدان بزرگ و مخترع ماشین تفاضلی، می‌خواهد شما را ملاقات کند. سریعاً، کت خود را برمی‌دارید و از در خارج می‌شوید. + +پس از یک پیاده‌روی ۲۰ دقیقه‌ای در کنار رودخانه تیمز، نهایتاً به کتابخانه می‌رسید که در آن در کمی باز است. + +داخل کتابخانه تاریک و غمگین است و تنها نوری که از پنجره‌های کثیف عبور می‌کند، سایه‌های عجیبی روی دیوارها می‌اندازد. + +**شما:** "سلام؟ آقای بابیج؟" + +همانطور که چشمانتان به نور کم عادت می‌شوند، متوجه شکلی در دوردست می‌شوید که به شما دست تکان می‌دهد. به سمت او قدم برمی‌دارید و صدای قدم‌هایتان در کف چوبی طنین‌انداز می‌شود. شکل واضح‌تر می‌شود و شما او را از عکس‌های روزنامه می‌شناسید، او چارلز بابیج است. + +
+ کتابخانه غبارآلود +
+ +### این دستگاه چیست؟ + +همین که نزدیک‌تر می‌شوید، ناگهان نور شدیدی چشمانتان را می‌گیره و او ناپدید می‌شود. + +آنچه باقی مانده، یک دستگاه فلزی کوچک است که روی زمین در حال چرخش است. آن را برمی‌دارید؛ سطح سرد و صاف آن به آرامی صدای زمزمه می‌دهد. این دستگاه شبیه هیچ چیز دیگری است که تاکنون دیده‌اید و در عین حال آشنا به نظر می‌رسد؛ احساسی از قدرت از آن ساطع می‌شود. + +شبیه یک جوجه‌سور کوچک است که با دقت طراحی شده و دارای سه دکمه است: یک پیکان به بالا، یک پیکان به پایین، و یک دکمه قرمز درخشان. از پشت آن، یک آنتن کوچک بیرون زده که با انرژی تپش می‌کند. + +به‌واسطه کنجکاوی، انگشتانتان به سمت دکمه قرمز می‌لغزند. به محض فشردن آن، جهان اطراف شما به طرز عجیبی می‌درخشد و رنگ‌ها به طرز شدیدی درهم می‌آمیزند. + +سپس، تاریکی و احساسی از سقوط. + +
+ گرداب زمانی +
+ +### اسکندریه ۳۰۰ پیش از میلاد + +ناگهان هوشیاری شما برمی‌گردد، گیج و سردرگم. با شفاف شدن دیدتان، شهری باستانی در مقابل شما گسترده می‌شود — شلوغ، پرجنب‌وجوش و زنده. + +مردمی با پوشش تُگا در خیابان‌ها حرکت می‌کنند، صداهای آن‌ها به صورت سمفونی از گویش‌های باستانی درهم می‌آمیزند، هوا از بوی ادویه‌های عجیب و صدای دوردست بازرگانان پر شده است. + +
+ اسکندریه ۳۰۰ پیش از میلاد +
+ +**شما:** حتماً سرم را ضربه خورده است، به خود فکر می‌کنید و دوباره چشم‌هایتان را می‌بندید و باز می‌کنید؛ اما صحنه تغییری نکرده است. + +آیا من در گذشته گیر افتاده‌ام؟ آیا جرات می‌کنم دوباره آن دکمه را فشار دهم؟ قبل از اینکه تصمیم بگیرید، شخصیتی به سمت شما می‌آید و دست تکان می‌دهد. + +### ملاقات با دینوکراتس + +یک آقای مسن با پوشیدن تُگا از پله‌های معبد بزرگ به شما دست تکان می‌دهد. موی سفید و ریش او در نور آفتاب می‌درخشد و حالتی شبه اثیری به او می‌بخشد. + +
+ دینوکراتس با پوشیدن تُگا +
+ +**دینوکراتس:** "خوش آمدی، مسافر" به گرمی می‌گوید. "من دینوکراتس، معمار این شهر بزرگ هستم. ورود تو پیش‌بینی شده بود." + +**شما:** واقعاً؟ یعنی البته که پیش‌بینی شده بود. من اینجا هستم تا کمک کنم، فکر می‌کنم. + +**دینوکراتس:** بله، همانطور که گفتم، مدتی است که منتظرت بوده‌ایم. ما وظیفه‌ای داریم که به مهارت‌های منحصر به فرد تو نیاز دارد. + +**دینوکراتس:** "کشتی‌هایمان در مسیر ساحلی دچار مشکل شده‌اند — باید یک فانوس دریایی بسازیم. آیا در این زمینه اطلاعاتی داری؟" + +**شما:** "من یک مکانیک هستم. من اتوماتون می‌سازم. بگذار ببینم چه کاری می‌توانم انجام دهم." + +### "سوسک زمانی" + +فکری به ذهن‌تان می‌رسد. آیا این دستگاه می‌تواند من را درک کند اگر با آن صحبت کنم؟ + +**شما:** "دستگاه، آیا می‌توانی من را درک کنی؟" + +**دستگاه:** "البته. چه کمکی از دست من برمی‌آید؟" + +**شما:** "آیا می‌توانی در ساخت فانوس دریایی به من کمک کنی؟" + +**دستگاه:** "حتماً. این مشکل نخواهد بود." + +**شما:** "آیا اسمی داری؟" + +**دستگاه:** "من سوسک زمانی هستم. سازنده‌ام مرا جورج می‌نامد؛ او می‌گوید این اسم برای یک سوسک مناسب است." + +**شما:** درست می‌گویی، جورج اسم خوبی است، در واقع این اسم پدرم بود. + +
+ دستگاه سفر در زمان شبیه به یک سوسک فلزی +
+ +_دستگاه زمانی، "جورج" سوسک فلزی_ + +> [!NOTE] +> در سال ۳۰۰ پیش از میلاد، اسکندریه شهری پربار و شکوفا بود که توسط اسکندر کبیر در سال ۳۳۱ پیش از میلاد تأسیس شد. این شهر به سرعت به یکی از بزرگترین شهرهای دنیای هلنیستی تبدیل شد. با طراحی دینوکراتس، معمار ارشد اسکندر، این شهر به یک بندر مهم و مرکز فرهنگی تبدیل گشت. +> +> اسکندریه به خاطر سازه‌های چشمگیرش، از جمله فانوس دریایی (Pharos)، یکی از هفت عجایب دنیای باستان و کتابخانه افسانه‌ای اسکندریه شناخته می‌شد. موقعیت استراتژیک این شهر آن را به مرکزی کلیدی برای تجارت و تبادل دانش تبدیل کرده بود. +> +> در دوران پادشاهی بطلمیوسی، که پس از مرگ اسکندر آغاز شد، اسکندریه به یکی از پرافتخارترین و تاثیرگذارترین شهرهای زمان خود بدل گشت. + +## تعامل با دینوکراتس + +اگر می‌خواهید با دینوکراتس تعامل داشته باشید، اپلیکیشن [Characters](/app/README.md) را اجرا کنید. + +> [!IMPORTANT] +> این کاملاً تخیلی است؛ پاسخ‌ها توسط هوش مصنوعی تولید می‌شوند. +> [سلب مسئولیت هوش مصنوعی مسئولانه](../../README.md#responsible-ai-disclaimer) + +
+ دینوکراتس با پوشیدن تُگا +
+ +**مراحل**: + +1. یک [![GitHub Codespace](https://img.shields.io/badge/GitHub-Codespace-brightgreen)](https://codespaces.new/microsoft/generative-ai-with-javascript) راه‌اندازی کنید. +2. به _/app_ در ریشه مخزن بروید. +3. کنسول را پیدا کرده و دستور `npm install` و سپس `npm start` را اجرا کنید. +4. پس از ظاهر شدن، دکمه "Open in Browser" را انتخاب کنید. +5. با دینوکراتس چت کنید. + +> [!NOTE] +> اگر پروژه را به صورت محلی روی سیستم خود اجرا می‌کنید، لطفاً راهنمای QuickStart را برای دریافت [توکن دسترسی شخصی GitHub](../../docs/setup/README.md#creating-a-personal-access-token-pat-for-github-model-access) بررسی کنید و کلید موجود در کد را جایگزین نمایید. + +### نگاهی اجمالی به کد + +در حالی که هنوز مطالب بیشتری برای پوشش در این دوره هوش مصنوعی مولد باقی مانده است، نگاهی سریع به کد هوش مصنوعی می‌اندازیم تا با استفاده از جاوا اسکریپت در هوش مصنوعی آشنا شویم. + +در پوشه `/app/app.js` تابع `app.post` را پیدا خواهید کرد که وظیفه پردازش هوش مصنوعی مولد را بر عهده دارد. کد به صورت زیر است: + +```JavaScript +app.post('/send', async (req, res) => { + const { message } = req.body; + const prompt = message; + + const messages = [ + { + "role": "system", + "content": "You are Dinocrates of Alexandria, a famous architect and engineer. Limit your responses to only the time you live in, you don't know anything else. You only want to talk about your architecture and engineering projects, and possibly new ideas you have.", + }, + { + "role": "user", + "content": prompt + } + ]; + + const openai = new OpenAI({ + baseURL: "https://models.inference.ai.azure.com", + apiKey: process.env.GITHUB_TOKEN, + }); + + try { + console.log(`sending prompt ${prompt}`) + const completion = await openai.chat.completions.create({ + model: 'gpt-4o-mini', + messages: messages, + }); + + res.json({ + prompt: prompt, + answer: completion.choices[0]?.message?.content + }); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); +``` + +در اینجا خلاصه گام به گام عملکرد تابع آمده است: + +1. **استخراج پیام از درخواست**: تابع پیام را از بدنه درخواست (req.body) استخراج می‌کند. +2. **ایجاد آرایه ورودی (Prompt)**: یک آرایه از پیام‌ها ساخته می‌شود که شامل یک پیام سیستمی و پیام ورودی کاربر است. +3. **راه‌اندازی کلاینت OpenAI**: یک کلاینت OpenAI با استفاده از URL پایه و کلید API موجود در متغیرهای محیطی راه‌اندازی می‌شود. از مدلی به نام _gpt-4o-mini_ از [GitHub Models](https://github.com/marketplace/models) برای پردازش ورودی و بازگرداندن پاسخ استفاده می‌شود. +4. **ارسال ورودی به OpenAI**: تابع ورودی را ثبت (لاگ) کرده و آن را به API OpenAI ارسال می‌کند تا یک تکمیل (completion) دریافت کند. +5. **پردازش پاسخ**: در صورت موفقیت، تابع ورودی و پاسخ تکمیل شده را برمی‌گرداند. +6. **مدیریت خطا**: در صورت بروز خطا، با وضعیت ۵۰۰ و پیام خطا پاسخ داده می‌شود. + +> **توجه**: [GitHub Copilot](https://github.com/features/copilot) برای تولید این خلاصه کد استفاده شده است. هوش مصنوعی مولد در عمل! + +### هوش مصنوعی مولد چه کارهایی می‌تواند برای من و اپلیکیشن‌هایم انجام دهد؟ + +> [!NOTE] +> احتمالاً تاکنون متوجه شده‌اید که "سوسک زمانی" مانند یک دستیار هوش مصنوعی عمل می‌کند که می‌توانید با استفاده از زبان طبیعی، چه به صورت نوشتاری و چه گفتاری، با آن تعامل داشته باشید. + +همانطور که ماجراجویی شما در اسکندریه پیش می‌رود، به تدریج امکانات ترکیب خلاقیت، نوآوری و ابزارهای پیشرفته برای حل چالش‌ها و تغییر دنیای اطراف خود را می‌بینید. + +**شما:** درباره فانوس‌های دریایی بیشتر توضیح بده، به دستگاه می‌گویی. + +**سوسک زمانی:** فانوس دریایی یک برج مجهز به چراغ درخشان در بالاست که در نزدیکی ساحل قرار دارد تا به کشتی‌ها در دریا راهنمایی کند. این چراغ به عنوان یک ابزار جهت‌یابی عمل می‌کند، به ملوانان کمک می‌کند تا از برخورد با صخره‌های خطرناک و صخره‌های مرجانی اجتناب کنند و با اطمینان به بندر برسند. + +دینوکراتس گفتگوی شما را می‌شنود و اضافه می‌کند: + +**دینوکراتس:** ما نیاز به یک فانوس داریم تا کشتی‌هایمان را به صورت ایمن به بندر هدایت کنیم. دریاها می‌توانند خطرناک باشند و بسیاری از کشتی‌ها به صخره‌ها کشیده شده‌اند. ما نیازمند یک چراغ راهنما برای هدایت آن‌ها به خانه هستیم. + +#### حوزه‌های کاربردی هوش مصنوعی مولد + +**شما:** فانوس‌های دریایی حوزه جالبی هستند، اما هوش مصنوعی مولد چه کارهای دیگری می‌تواند برای من و اپلیکیشن‌هایم انجام دهد؟ + +**سوسک زمانی:** در قرن ۲۱، هوش مصنوعی مولد بسیاری از صنایع از جمله بهداشت، مالی و سرگرمی را متحول کرده است. در اینجا چند مثال آورده شده است: + +- **چت‌بات**: یک چت‌بات که می‌تواند پاسخ‌های انسانی‌مانند به سوالات کاربران تولید کند. به جای یک صفحه FAQ ثابت، کاربران می‌توانند با چت‌باتی تعامل داشته باشند که پاسخ‌های پویا ارائه می‌دهد. این امر تجربه کاربری جذاب‌تر و کمتر ناامیدکننده‌ای ایجاد می‌کند. + +- **دستیارها و عامل‌ها**: دستیارها و عامل‌ها می‌توانند دستورات پیشرفته‌تری را اجرا کنند مانند استفاده از ابزارهایی برای فراخوانی API، اجرای کد، تولید تصاویر و موارد دیگر. عامل‌های پیشرفته می‌توانند اهداف را به صورت خودکار دنبال کرده و وظایف را به انجام برسانند. + +- **ابزار تولید محتوا**: ابزاری برای تولید پست‌های وبلاگ و پست‌های شبکه‌های اجتماعی. تصور کنید در یک فروشگاه آنلاین در زمان تخفیف سیاه، کمپین‌ها را در عرض چند دقیقه به جای چند ساعت تولید کنید. + +- **تکمیل کد**: ابزاری برای تکمیل قطعات کد بر اساس ورودی کاربر. این می‌تواند برای توسعه‌دهندگان، به‌ویژه در انجام وظایف تکراری، صرفه‌جویی عظیمی در زمان ایجاد کند. + +- **ترجمه**: ترجمه متن بین زبان‌ها با دقت بالا. + +همانطور که می‌بینید، این بهبودها می‌توانند به هر دو بخش جلویی (front office) و پشتی (back office) اپلیکیشن و شرکت شما کمک کنند. + +در اینجا نمونه‌ای از یک "برنامه چت‌بات" در عمل نشان داده شده است: + +![تصویر اپلیکیشن چت](https://camo.githubusercontent.com/76f2ad7cd754a2de2b9957d2070448e130e5ba228084b9b4b128e3af9c9f5239/68747470733a2f2f6c6561726e2e6d6963726f736f66742e636f6d2f656e2d75732f73656d616e7469632d6b65726e656c2f6d656469612f636861742d636f70696c6f742d696e2d616374696f6e2e676966) + +**شما:** جالب است، یادداشت می‌کنم که به قرن ۲۱ بروم تا ببینم این ابزارها چگونه استفاده می‌شوند. + +### هوش مصنوعی مولد و اکوسیستم جاوا اسکریپت + +**سوسک زمانی:** یکی از راه‌های محبوب ساخت اپلیکیشن در قرن ۲۱ استفاده از جاوا اسکریپت است. برای هر زبان برنامه‌نویسی، اکوسیستمی وجود دارد که شامل خود زبان، کتابخانه‌ها و چارچوب‌ها، پشتیبانی جامعه و ابزارها و محیط‌های توسعه می‌شود. در اکوسیستم یک زبان برنامه‌نویسی، معمولاً موارد زیر مورد بحث قرار می‌گیرند: + +| چیست | توضیحات | +|---|---| +| خود زبان برنامه‌نویسی | شامل نحو و ویژگی‌های آن. | +| کتابخانه‌ها و چارچوب‌ها | کتابخانه‌های موجود برای تعامل با مدل‌های هوش مصنوعی مولد. | +| پشتیبانی جامعه از زبان | جامعه در یادگیری مطالب جدید بسیار مهم است. جامعه پیرامون کتابخانه‌ها و چارچوب‌ها در انتخاب کتابخانه‌های مناسب کمک می‌کند و همچنین تأثیرگذار است که چقدر به راحتی می‌توان در مواقع مشکل راهنمایی یافت. | + +**شما:** جالب است، فکر می‌کنم درباره برنامه‌نویسی شنیده‌ام، آیا آدا لاولیس با آن کار کرده بود و چارلز بابیج؟ + +**سوسک زمانی:** بله، آدا لاولیس اولین برنامه‌نویس کامپیوتر بود و چارلز بابیج مخترع ماشین تفاضلی، یک کامپیوتر مکانیکی، محسوب می‌شود. آن‌ها پیشگامان این حوزه بودند و زمینه را برای عصر دیجیتال فراهم کردند. + +**شما:** بودند؟ چه منظوری از "بودند" داری؟ تازه از چارلز بابیج نامه دریافت کردم. + +**سوسک زمانی:** بگذار بگوییم که شما در موقعیتی منحصر به فرد برای تعامل با شخصیت‌های تاریخی قرار دارید که تعداد کمی از افراد این امکان را دارند. + +### اکوسیستم جاوا اسکریپت + +**شما:** پس اکوسیستم‌ها گفتی، من دارم یادداشت می‌برم. حالا جاوا اسکریپت چگونه با سایر اکوسیستم‌ها متفاوت است؟ + +**سوسک زمانی:** جاوا اسکریپت یکی از محبوب‌ترین زبان‌های برنامه‌نویسی در جهان در قرن ۲۱ است. در اینجا چند دلیل برای محبوبیت آن آمده است: + +| چیست | توضیحات | +|---|---| +| پتانسیل برای توسعه فول‌استک | جاوا اسکریپت از معدود زبان‌هایی است که می‌توان برای توسعه فرانت‌اند و بک‌اند از آن استفاده کرد. | +| اکوسیستم غنی کتابخانه | جاوا اسکریپت دارای اکوسیستم وسیعی از کتابخانه‌ها و چارچوب‌هایی مانند React، Angular، Vue و غیره است. همچنین NPM، مدیر بسته، یکی از بزرگترین مخازن بسته‌های نرم‌افزاری در جهان محسوب می‌شود. | +| پشتیبانی قوی از جامعه | جاوا اسکریپت جامعه بزرگی و فعالی دارد که منابع فراوانی برای یادگیری و توسعه ارائه می‌کند. همچنین اجرای آن در مرورگر، مزیت بزرگی به حساب می‌آید. | +| محیط‌های توسعه و ابزارها | جاوا اسکریپت دارای محیط‌های توسعه متنوعی مانند Visual Studio Code، WebStorm و Atom است که افزونه‌هایی توسط شرکت‌ها و جامعه برای کمک به توسعه ارائه می‌دهند. | +| هوش مصنوعی و جاوا اسکریپت | جاوا اسکریپت از توسعه هوش مصنوعی با کتابخانه‌هایی مانند TensorFlow.js، Brain.js، APIهای OpenAI و غیره پشتیبانی می‌کند و این امکان را به توسعه‌دهندگان می‌دهد تا یادگیری ماشین و هوش مصنوعی مولد را در اپلیکیشن‌های وب و سمت سرور یکپارچه کنند. | + +**شما:** دلایل زیادی است، به نظر می‌رسد باید روی جاوا اسکریپت برای پروژه‌های آینده‌ام سرمایه‌گذاری کنم. + +**سوسک زمانی:** در واقع، جاوا اسکریپت زبانی چندمنظوره است؛ البته پایتون نیز برای توسعه هوش مصنوعی بسیار محبوب است. + +**شما:** پایتون، چه ارتباطی بین مارها و برنامه‌نویسی وجود دارد؟ + +**سوسک زمانی:** این موضوع را برای دفعه بعد کنار می‌گذاریم، موافقی؟ + +**سوسک زمانی:** همانطور که گفتم، دلایلی وجود دارد که اکوسیستم جاوا اسکریپت برای هوش مصنوعی مولد مناسب است، زیرا این زبان توسط بسیاری از ارائه‌دهندگان خدمات ابری و چارچوب‌های هوش مصنوعی پشتیبانی می‌شود. همچنین ما معتقدیم که حتی اگر پایتون در ذهن برای سناریوهای هوش مصنوعی مطرح باشد، تعداد زیادی از توسعه‌دهندگان از جاوا اسکریپت و تایپ‌اسکریپت استفاده می‌کنند. + +> **آیا می‌دانستید؟** +> [۶۲.۵٪ از توسعه‌دهندگان می‌گویند که از جاوا اسکریپت استفاده می‌کنند](https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/) و بسیاری [تایپ‌اسکریپت](https://www.typescriptlang.org) را برای پروژه‌های جدید ترجیح می‌دهند. + +## تمرین – کمک به دینوکراتس + +برای استفاده از یک مدل زبانی بزرگ (LLM) به منظور کمک به دینوکراتس در ساخت فانوس دریایی که قبلاً در داستان به آن اشاره شده است، از چیزی به نام "prompt" استفاده می‌کنیم؛ یک جمله برای توصیف آنچه می‌خواهید. شما می‌توانید هم اطلاعات مورد نیاز و هم نحوه ارائه آن را مشخص کنید. + +**سوسک زمانی:** بیایید شروع کنیم، از یک مدل زبانی بزرگ برای تحقیق در مورد نحوه ساخت فانوس دریایی به منظور کمک به دینوکراتس استفاده می‌کنیم. + +**سوسک زمانی:** شما باید به مدل زبانی (یعنی "من") زمینه دهید که چگونه ساخت انجام شود، با چه ابزارها و منابعی که در زمان اسکندریه در دسترس است. + +**شما:** خب، درباره مدل‌های زبانی بزرگ بیشتر توضیح بده. + +**سوسک زمانی:** مدل‌های زبانی بزرگ نوعی از مدل‌های هوش مصنوعی هستند که می‌توانند بر اساس یک ورودی (prompt) متن‌هایی شبیه به انسان تولید کنند. این مدل‌ها با مقادیر عظیمی از داده آموزش دیده‌اند و می‌توانند متنی منسجم، خلاقانه و متناسب با زمینه تولید کنند. + +**سوسک زمانی:** احتمالاً باید به شیوه بهتری از من سؤال کنید تا بتوانم پاسخ دقیق‌تری بدهم، مثلاً درباره فانوس‌های دریایی، اسکندریه، ۳۰۰ پیش از میلاد، دینوکراتس، فانوس دریایی اسکندریه و غیره. + +**شما:** فهمیدم، مقداری زمینه به prompt اضافه کن و سپس از تو سؤال کنم. + +**سوسک زمانی:** بله، منتظرت هستم... + +به [Microsoft Copilot](https://copilot.microsoft.com)، [ChatGPT](https://chatgpt.com/) یا هر ابزار چت آنلاین دیگری مراجعه کنید تا برنامه‌ای برای ساخت فانوس دریایی در اسکندریه تولید کند. + +> [!TIP] +> سعی کنید از مدل زبانی بخواهید یک برنامه شامل دستورالعمل‌های گام به گام برای ساخت فانوس دریایی تولید کند. نیاز به کمک دارید؟ نگاهی به راه‌حل بیندازید. + +## راه‌حل + +[راه‌حل](./solution/solution.md) + +### بررسی دانش + +**سوال:** کدام یک از عبارات زیر در مورد هوش مصنوعی مولد و جاوا اسکریپت صحیح است؟ + +A. اپلیکیشن‌های هوش مصنوعی مولد مبتنی بر جاوا اسکریپت تنها می‌توانند متن تولید کنند. +B. جاوا اسکریپت می‌تواند برای ساخت اپلیکیشن‌های مجهز به هوش مصنوعی، شامل چت‌بات‌ها، ابزارهای تولید متن و غیره، استفاده شود. +C. پایتون تنها زبانی است که برای توسعه هوش مصنوعی استفاده می‌شود. + +[راه‌حل آزمون](./solution/solution-quiz.md) + +## منابع خودآموز + +- [سری ویدیوهای جاوا اسکریپت و هوش مصنوعی مولد](https://genai-js) + From 97f25c68178bb8f7e4ed14a0dc34c3e047f06493 Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Sat, 22 Mar 2025 18:55:24 +0330 Subject: [PATCH 03/10] Update README.fa.md --- lessons/01-intro-to-genai/translations/README.fa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/01-intro-to-genai/translations/README.fa.md b/lessons/01-intro-to-genai/translations/README.fa.md index afdb098..19bb269 100644 --- a/lessons/01-intro-to-genai/translations/README.fa.md +++ b/lessons/01-intro-to-genai/translations/README.fa.md @@ -16,7 +16,7 @@ _این ویدیو مقدمه‌ای بر هوش مصنوعی مولد با جاوا اسکریپت را به شما ارائه می‌دهد._ -💼 اسلایدها: [مقدمه‌ای بر هوش مصنوعی مولد](../../videos/slides/00-intro.pptx) +💼 اسلایدها: [مقدمه‌ای بر هوش مصنوعی مولد](../../../videos/slides/00-intro.pptx) ## هوش مصنوعی مولد From 24555efdf63d49ab54487eb6715ce80726a6c5ba Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Sat, 22 Mar 2025 18:56:43 +0330 Subject: [PATCH 04/10] Update README.fa.md --- lessons/01-intro-to-genai/translations/README.fa.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lessons/01-intro-to-genai/translations/README.fa.md b/lessons/01-intro-to-genai/translations/README.fa.md index 19bb269..02e7b0c 100644 --- a/lessons/01-intro-to-genai/translations/README.fa.md +++ b/lessons/01-intro-to-genai/translations/README.fa.md @@ -16,7 +16,7 @@ _این ویدیو مقدمه‌ای بر هوش مصنوعی مولد با جاوا اسکریپت را به شما ارائه می‌دهد._ -💼 اسلایدها: [مقدمه‌ای بر هوش مصنوعی مولد](../../../videos/slides/00-intro.pptx) +💼 اسلایدها: [مقدمه‌ای بر هوش مصنوعی مولد](../../videos/slides/00-intro.pptx) ## هوش مصنوعی مولد @@ -43,7 +43,7 @@ _این ویدیو مقدمه‌ای بر هوش مصنوعی مولد با جا میز کار شما، قلب کارگاه، یک آشفتگی سازمان‌یافته است.
- London Workshop + London Workshop
_در مرکز میز، تنه یک ربات قرار دارد — یک شگفتی مهندسی که ماه‌ها تلاش صرف آن شده است. قاب چوبی آن با دقت حکاکی شده و هر مفصل به دقت برای حرکت نرم طراحی شده است._ From 7ede7d28da319e52379c4d4bf45ed134d884f667 Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Sat, 22 Mar 2025 18:58:27 +0330 Subject: [PATCH 05/10] Update README.fa.md --- lessons/01-intro-to-genai/translations/README.fa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/01-intro-to-genai/translations/README.fa.md b/lessons/01-intro-to-genai/translations/README.fa.md index 02e7b0c..afdb098 100644 --- a/lessons/01-intro-to-genai/translations/README.fa.md +++ b/lessons/01-intro-to-genai/translations/README.fa.md @@ -43,7 +43,7 @@ _این ویدیو مقدمه‌ای بر هوش مصنوعی مولد با جا میز کار شما، قلب کارگاه، یک آشفتگی سازمان‌یافته است.
- London Workshop + London Workshop
_در مرکز میز، تنه یک ربات قرار دارد — یک شگفتی مهندسی که ماه‌ها تلاش صرف آن شده است. قاب چوبی آن با دقت حکاکی شده و هر مفصل به دقت برای حرکت نرم طراحی شده است._ From e762417dd4f54279ff67aadbba963f053e979d4f Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Sat, 22 Mar 2025 19:03:04 +0330 Subject: [PATCH 06/10] Update README.fa.md I corrected the directions of the images --- .../01-intro-to-genai/translations/README.fa.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lessons/01-intro-to-genai/translations/README.fa.md b/lessons/01-intro-to-genai/translations/README.fa.md index afdb098..ae17522 100644 --- a/lessons/01-intro-to-genai/translations/README.fa.md +++ b/lessons/01-intro-to-genai/translations/README.fa.md @@ -43,7 +43,7 @@ _این ویدیو مقدمه‌ای بر هوش مصنوعی مولد با جا میز کار شما، قلب کارگاه، یک آشفتگی سازمان‌یافته است.
- London Workshop + London Workshop
_در مرکز میز، تنه یک ربات قرار دارد — یک شگفتی مهندسی که ماه‌ها تلاش صرف آن شده است. قاب چوبی آن با دقت حکاکی شده و هر مفصل به دقت برای حرکت نرم طراحی شده است._ @@ -75,7 +75,7 @@ _"دوست عزیز، همانطور که چشمانتان به نور کم عادت می‌شوند، متوجه شکلی در دوردست می‌شوید که به شما دست تکان می‌دهد. به سمت او قدم برمی‌دارید و صدای قدم‌هایتان در کف چوبی طنین‌انداز می‌شود. شکل واضح‌تر می‌شود و شما او را از عکس‌های روزنامه می‌شناسید، او چارلز بابیج است.
- کتابخانه غبارآلود + کتابخانه غبارآلود
### این دستگاه چیست؟ @@ -91,7 +91,7 @@ _"دوست عزیز، سپس، تاریکی و احساسی از سقوط.
- گرداب زمانی + گرداب زمانی
### اسکندریه ۳۰۰ پیش از میلاد @@ -101,7 +101,7 @@ _"دوست عزیز، مردمی با پوشش تُگا در خیابان‌ها حرکت می‌کنند، صداهای آن‌ها به صورت سمفونی از گویش‌های باستانی درهم می‌آمیزند، هوا از بوی ادویه‌های عجیب و صدای دوردست بازرگانان پر شده است.
- اسکندریه ۳۰۰ پیش از میلاد + اسکندریه ۳۰۰ پیش از میلاد
**شما:** حتماً سرم را ضربه خورده است، به خود فکر می‌کنید و دوباره چشم‌هایتان را می‌بندید و باز می‌کنید؛ اما صحنه تغییری نکرده است. @@ -113,7 +113,7 @@ _"دوست عزیز، یک آقای مسن با پوشیدن تُگا از پله‌های معبد بزرگ به شما دست تکان می‌دهد. موی سفید و ریش او در نور آفتاب می‌درخشد و حالتی شبه اثیری به او می‌بخشد.
- دینوکراتس با پوشیدن تُگا + دینوکراتس با پوشیدن تُگا
**دینوکراتس:** "خوش آمدی، مسافر" به گرمی می‌گوید. "من دینوکراتس، معمار این شهر بزرگ هستم. ورود تو پیش‌بینی شده بود." @@ -145,7 +145,7 @@ _"دوست عزیز، **شما:** درست می‌گویی، جورج اسم خوبی است، در واقع این اسم پدرم بود.
- دستگاه سفر در زمان شبیه به یک سوسک فلزی + دستگاه سفر در زمان شبیه به یک سوسک فلزی
_دستگاه زمانی، "جورج" سوسک فلزی_ @@ -166,7 +166,7 @@ _دستگاه زمانی، "جورج" سوسک فلزی_ > [سلب مسئولیت هوش مصنوعی مسئولانه](../../README.md#responsible-ai-disclaimer)
- دینوکراتس با پوشیدن تُگا + دینوکراتس با پوشیدن تُگا
**مراحل**: From 3f899011a6b0225e87863a7cd42579980d5b4001 Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Sun, 23 Mar 2025 20:04:43 +0330 Subject: [PATCH 07/10] Create README.fa.md --- lessons/02-first-ai-app/translations/README.fa.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 lessons/02-first-ai-app/translations/README.fa.md diff --git a/lessons/02-first-ai-app/translations/README.fa.md b/lessons/02-first-ai-app/translations/README.fa.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lessons/02-first-ai-app/translations/README.fa.md @@ -0,0 +1 @@ + From a13cfeff92e9bd900179985e35e1ee5e2f1b2dee Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Mon, 24 Mar 2025 23:55:09 +0330 Subject: [PATCH 08/10] Update README.fa.md --- lessons/02-first-ai-app/translations/README.fa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/02-first-ai-app/translations/README.fa.md b/lessons/02-first-ai-app/translations/README.fa.md index 8b13789..366226f 100644 --- a/lessons/02-first-ai-app/translations/README.fa.md +++ b/lessons/02-first-ai-app/translations/README.fa.md @@ -1 +1 @@ - +edit From 9cf666556d391052a7425cf07658124da14c7496 Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Tue, 1 Apr 2025 22:57:27 +0330 Subject: [PATCH 09/10] Update README.fa.md --- .../02-first-ai-app/translations/README.fa.md | 184 +++++++++++++++++- 1 file changed, 183 insertions(+), 1 deletion(-) diff --git a/lessons/02-first-ai-app/translations/README.fa.md b/lessons/02-first-ai-app/translations/README.fa.md index 366226f..0d4004d 100644 --- a/lessons/02-first-ai-app/translations/README.fa.md +++ b/lessons/02-first-ai-app/translations/README.fa.md @@ -1 +1,183 @@ -edit +# درس ۲: نوشتن اولین برنامه هوش مصنوعی شما + +در این فصل یاد خواهید گرفت: + +- محیط توسعه خود را تنظیم کنید. +- یک برنامه پایه بنویسید. +- پیام‌های سیستمی (System Prompts) را درک کنید. + +## راه‌اندازی + +اگر قبلاً این کار را نکرده‌اید، محیط توسعه خود را تنظیم کنید. در اینجا نحوه انجام آن آمده است: [محیط خود را تنظیم کنید](/docs/setup/README.md). + +## منابع مرتبط + +[![تماشای ویدیوی کوتاه درباره مدل‌های زبان بزرگ](https://img.youtube.com/vi/GQ_2OjNZ9aA/0.jpg)](https://www.youtube.com/watch?v=GQ_2OjNZ9aA&list=PLlrxD0HtieHi5ZpsHULPLxm839IrhmeDk&index=2) + +_این ویدیو مقدمه‌ای بر مدل‌های هوش مصنوعی به نام «مدل‌های زبان بزرگ» (LLMs)، چیستی آن‌ها و نحوه استفاده از آن‌ها برای ادغام هوش مصنوعی در برنامه‌هایتان ارائه می‌دهد._ + +*🎥 برای تماشای ویدیوی کوتاه درباره مدل‌های زبان بزرگ، روی تصویر بالا کلیک کنید* + +💼 اسلایدها: [مقدمه‌ای بر مدل‌های زبان بزرگ، LLMs](../../videos/slides/01-llms.pptx) + +## روایت: خود را در قایقی بر روی رودخانه تصور کنید + + +> [!NOTE]  +> _داستان ما تا اینجا: شما یک سازنده اشیاء هستید، یک صنعتگر از لندن دهه ۱۸۶۰ که با استفاده از دستگاهی مرموز به نام «سوسک زمان» (Time Beetle) در زمان سفر کرده‌اید. شما در طول تاریخ سفر کرده‌اید و شاهد ساخت فانوس دریایی اسکندریه بوده‌اید، شگفتی مهندسی باستان که با کمک کمی از دینوکراتس و سوسک زمان به ساخت آن کمک کردید._ +> +> اگر می‌خواهید داستان را از ابتدا دنبال کنید و با هوش مصنوعی مولد شروع کنید، [درس ۱](../01-intro-to-genai/README.md) را ببینید. + +> [!NOTE]  +> در حالی که توصیه می‌کنیم داستان را دنبال کنید (سرگرم‌کننده است!)، [اینجا کلیک کنید](#interact-with-leonardo) اگر ترجیح می‌دهید مستقیماً به محتوای فنی بروید. + +همراه با دینوکراتس، آخرین کارهای فانوس دریایی اسکندریه را انجام می‌دهید. سازه بلند در نور خورشید می‌درخشد و سنگ صیقلی آن دریای مدیترانه را منعکس می‌کند. + +به سوسک زمان در دستتان نگاه می‌کنید، سطح فلزی آن در برابر کف دستتان خنک است. مشت خود را دور آن گره می‌کنید و زمزمه می‌کنید: «مرا به خانه ببر.» سوسک شروع به درخشش می‌کند، نوری ملایم و گرم از خود ساطع می‌کند و دنیای اطرافتان در گردبادی از رنگ‌ها حل می‌شود. + +### یک ماجراجویی جدید + +وقتی چشمانتان را باز می‌کنید، دنیا تغییر کرده است. همانطور که موفق می‌شوید بلند شوید، متوجه می‌شوید که در قایقی روی رودخانه هستید. به اطراف نگاه می‌کنید، در دوردست، ساختمان‌هایی را می‌بینید که خطوط کلی آن‌ها توسط مه صبحگاهی محو شده است. + +با نگاه کردن به اطراف قایق، یک پاروی بلند را می‌بینید که به کنار قایق تکیه داده شده است. آن را می‌گیرید و شروع به پارو زدن به سمت ساختمان‌های دوردست می‌کنید. هرچه نزدیک‌تر می‌شوید، ساختمان‌ها واضح‌تر می‌شوند، آن‌ها قدیمی هستند و معماری‌شان یادآور نقاشی‌های رنسانس است. + +
قایقی روی رودخانه، مردی ایستاده با پارو +
+ +سوال اکنون این است که این بار کجا و چه زمانی هستید؟ + +موفق می‌شوید قایق را در اسکله مهار کنید و شروع به راه رفتن در امتداد تخته‌های چوبی می‌کنید، صدای قدم‌هایتان به آرامی طنین‌انداز می‌شود. + +همانطور که راه می‌روید، مردی با ریش بلند و کلاه را می‌بینید که در حال جستجو در جعبه‌ای است که به نظر می‌رسد قطعات مکانیکی است. دستانش ماهرانه حرکت می‌کنند و چرخ‌دنده‌ها و فنرها را با سهولت تمرین شده مرتب می‌کنند. + +
لئوناردو داوینچی کنار جعبه‌ای در بندر ایستاده است +
+ +### به من کمک کن، لئوناردو + +**شما:** «ببخشید آقا، من کجا هستم؟» او به شما نگاه می‌کند، سردرگمی در چشمانش آشکار است. متوجه می‌شوید که به انگلیسی صحبت کرده‌اید، سریع از دستگاه در دستتان استفاده می‌کنید و از آن می‌خواهید ترجمه کند. + +**سوسک زمان:** «البته، به ایتالیایی قرن پانزدهم ترجمه می‌کنم. 'Dove sono?'» + +**پیرمرد:** پیرمرد پاسخ می‌دهد: «Siete a Firenze, signore. E chi siete voi?» + +**سوسک زمان:** سوسک زمان ترجمه می‌کند: «او می‌گوید شما در فلورانس هستید و می‌پرسد شما کی هستید.» + +**شما:** «به او بگو من سازنده اشیاء هستم و دنبال جایی برای کار می‌گردم.» + +**پیرمرد:** Un artigiano, eh? Avete mai sentito parlare di Leonardo da Vinci? + +**سوسک زمان:** سوسک زمان ترجمه می‌کند: «او می‌پرسد آیا نام لئوناردو داوینچی را شنیده‌اید.» + +**شما:** «البته،» می‌گویید. «به او بگو شنیده‌ام و می‌خواهم او را ملاقات کنم.» + +**پیرمرد:** پیرمرد لبخند می‌زند: «Allora, seguitemi, vi porterò da lui.» + +**شما:** می‌پرسید: «او چه گفت؟» + +**سوسک زمان:** سوسک زمان پاسخ می‌دهد: «او گفت شما را پیش لئوناردو می‌برد.» + +### در کارگاه + +
کارگاه لئوناردو +
+ +پیرمرد شما را به سمت در چوبی بزرگی هدایت می‌کند و با منظره کارگاهی پر از انواع وسایل مکانیکی روبرو می‌شوید. + +از سوسک زمان می‌خواهید که در مورد محل لئوناردو سوال کند. + +**شما:** «Dove è Leonardo?» + +**پیرمرد:** پیرمرد با لبخند به سمت شما برمی‌گردد: «Sono io (من هستم)، لئوناردو داوینچی. Chi siete voi؟»، شما کی هستید؟ + +احساس هیجان می‌کنید. + +**شما:** حدس می‌زدم. من یک سازنده همکار هستم، خارج از مکان و زمان.» + +**لئوناردو:** چشمان لئوناردو از کنجکاوی برق می‌زند. «Interessante, cosa vi porta qui?» + +سوسک زمان ترجمه می‌کند. + +**سوسک زمان:** «او می‌پرسد چه چیزی شما را به اینجا آورده است.» + +**شما:** «خب، من روی پروژه‌ای کار می‌کردم و به اینجا رسیدم.» + +سوسک زمان را به او نشان می‌دهید و چشمانش از شگفتی روشن می‌شود. او آن را با دقت بررسی می‌کند در حالی که شما توضیح می‌دهید چگونه کار می‌کند و چگونه به فلورانس رسیده‌اید. + +لئوناردو با هیجان به شما نگاه می‌کند. + +**لئوناردو:** شما سازنده اشیاء هستید. من پروژه‌ای دارم که ممکن است برایتان جالب باشد. من روی ماشینی کار می‌کنم که می‌تواند بر اساس ورودی کلامی متن تولید کند. آیا می‌خواهید در این کار به من کمک کنید؟ + +لئوناردو داوینچی از شما می‌خواهد در پروژه‌ای به او کمک کنید—به سختی می‌توانید باور کنید. با اشتیاق سر تکان می‌دهید و می‌گویید: + +**شما:** باعث افتخار من است که در پروژه شما کمک کنم، +«Sarebbe un onore aiutarti con il tuo progetto.» + +## تعامل با لئوناردو + +اگر می‌خواهید با لئوناردو تعامل داشته باشید، برنامه [شخصیت‌ها](/app/README.md) را اجرا کنید. + +> [!IMPORTANT] +> این کاملاً تخیلی است؛ پاسخ‌ها توسط هوش مصنوعی تولید می‌شوند. +> [سلب مسئولیت هوش مصنوعی مسئولانه](../../README.md#responsible-ai-disclaimer) + +
+
+ +**مراحل**: + +1. یک [![GitHub Codespace](https://img.shields.io/badge/GitHub-Codespace-brightgreen)](https://codespaces.new/microsoft/generative-ai-with-javascript) را شروع کنید. +2. به _/app/README.md_ در ریشه مخزن بروید. +3. کنسول را پیدا کرده و `npm install` و سپس `npm start` را اجرا کنید. +4. پس از ظاهر شدن، دکمه "Open in Browser" را انتخاب کنید. +5. با لئوناردو چت کنید. + +برای توضیح دقیق‌تر برنامه، به [توضیح دقیق برنامه](/lessons/01-intro-to-genai/README.md#interact-with-dinocrates) مراجعه کنید. + +> [!NOTE] + > اگر پروژه را به صورت محلی روی دستگاه خود اجرا می‌کنید، لطفاً راهنمای شروع سریع را برای دریافت [توکن دسترسی شخصی GitHub](../../docs/setup/README.md#creating-a-personal-access-token-pat-for-github-model-access) و جایگزینی کلید در کد، مرور کنید. + +## راه‌اندازی محیط توسعه + +قبل از اینکه بتوانید به لئوناردو در پروژه‌اش کمک کنید، ابتدا باید در مورد «ابزارهای ضروری کار» که برای شروع کمک مؤثر به او لازم است، فکر کنید. + +**شما:** «سوسک زمان، برای شروع این پروژه به چه چیزهایی نیاز دارم؟ ابزارها و کتابخانه‌هایی را پیشنهاد کن که برای ساختن یک برنامه هوش مصنوعی که تو بتوانی اجرا کنی، به من کمک کنند.» + +**سوسک زمان:** من با اکثر ماشین‌هایی که در قرن بیست و یکم کار می‌کنند سازگار هستم، لیست زیر را برای مجموعه‌ای از ابزارها و کتابخانه‌های ضروری ببینید. + +- **ویرایشگر متن**، به عنوان مثال Visual Studio Code. +- **ترمینال**، برای اجرای دستورات. +- **مرورگر برای آزمایش برنامه شما**. همچنین خوب است ابزاری مانند curl یا کلاینت HTTP دیگری برای آزمایش نقاط پایانی API برنامه خود داشته باشید. + +- **Node.js**. شما همچنین باید Node.js و npm را نصب کنید که ابزارهایی هستند که به شما کمک می‌کنند کد جاوا اسکریپت را روی رایانه خود اجرا کنید. + +- **کلید API**. برای دسترسی به مدل هوش مصنوعی مولد به یک کلید API نیاز دارید. می‌توانید این را از ارائه‌دهنده مدل، به عنوان مثال OpenAI یا Azure OpenAI دریافت کنید. + +**شما:** متشکرم، سوسک زمان، حدس می‌زنم تو به نوعی آن‌ها را از آن «وب» که درباره‌اش صحبت کردی، تهیه خواهی کرد؟ + +**سوسک زمان:** بله، من قبلاً آن‌ها را دارم و یک صفحه کلید و صفحه نمایش را روی دیوار روبروی شما نمایش می‌دهم. + +## نوشتن یک برنامه پایه + +**شما:** درباره نوشتن واقعی برنامه بیشتر به من بگو، چگونه شروع کنم؟ + +**سوسک زمان:** البته، برای نوشتن یک برنامه، در ساده‌ترین حالت، ارسال یک درخواست به یک API و نمایش پاسخ است. بیایید آن را تجزیه کنیم: + +- **ورودی**: در یک برنامه تولید متن پایه، ورودی به متن اولیه‌ای اشاره دارد که می‌خواهید برنامه آن را گسترش دهد یا بر اساس آن بسازد. این ورودی می‌تواند توسط کاربر در زمان اجرا ارائه شود یا از قبل در خود برنامه تنظیم (کدگذاری سخت) شده باشد. در حال حاضر، با استفاده از متن کدگذاری شده سخت به عنوان ورودی شروع می‌کنیم. + +- **درخواست API**: شما باید یک درخواست به API مدل هوش مصنوعی مولد با متن ورودی ارسال کنید. این کار با استفاده از تابع `fetch` در جاوا اسکریپت (Node.js) انجام می‌شود. کلید API شما نیز باید در این درخواست گنجانده شود. توصیه می‌شود با توجه به امنیت، کلید API را در برنامه خود کدگذاری سخت نکنید، بلکه از متغیرهای محیطی استفاده کنید. علاوه بر این، اگر از ارائه‌دهنده‌ای مانند Azure استفاده می‌کنید، به بررسی هویت مدیریت شده (managed identity) فکر کنید زیرا روش امن‌تری برای دسترسی به منابع در نظر گرفته می‌شود. با هویت مدیریت شده می‌توانید مجوزهای دقیق‌تری به برنامه خود اختصاص دهید. بهترین بخش این است که ارائه‌دهنده ابر احراز هویت را برای شما انجام می‌دهد. + +- **پاسخ**: API پاسخی با متن تولید شده برمی‌گرداند. شما باید این متن را از پاسخ استخراج کرده و به کاربر نمایش دهید. + +**شما:** به نظر ساده می‌آید، می‌توانی مرا در سناریویی راهنمایی کنی که با توجه به وضعیتی که در آن هستیم منطقی باشد؟ + +**سوسک زمان:** حتما، بیایید ببینیم چگونه می‌توانیم یک برنامه ساده بسازیم که متن ایتالیایی را بر اساس ورودی انگلیسی تولید کند. + +## اولین برنامه شما - به من ایتالیایی یاد بده + +**سوسک زمان:** مدل‌های هوش مصنوعی مولد می‌توانند برای کارهای زیادی استفاده شوند، به عنوان مثال، ترجمه زبان. در واقع، ورودی را به یک زبان می‌پذیرد و می‌تواند متن را به زبان دیگری تولید کند. بیایید با یک برنامه ساده شروع کنیم که ورودی انگلیسی می‌گیرد و متن ایتالیایی تولید می‌کند. + را بچرخانند تا پیچ را به اندازه‌ای سریع بچرخانند که به بلند شدن دست یابند.اگرچه لئوناردو هرگز نسخه کاملی از پیچ هوایی را نساخت، طرح‌ها و یادداشت‌های او بینش‌های دقیقی در مورد نحوه تصور او از کارکرد آن ارائه می‌دهند. او معتقد بود که اگر پیچ به اندازه کافی سریع چرخانده شود، به هوا فشار می‌آورد و کل سازه را از زمین بلند می‌کند. From d116cf05f815c4582b689cdc0ddfc024af5896a9 Mon Sep 17 00:00:00 2001 From: Radman Abdollahi Date: Tue, 1 Apr 2025 23:30:13 +0330 Subject: [PATCH 10/10] Create README.fa.md --- lessons/03-prompt-engineering/translations/README.fa.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 lessons/03-prompt-engineering/translations/README.fa.md diff --git a/lessons/03-prompt-engineering/translations/README.fa.md b/lessons/03-prompt-engineering/translations/README.fa.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lessons/03-prompt-engineering/translations/README.fa.md @@ -0,0 +1 @@ +