Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions README.fa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# مقدمه

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

## درباره من

سلام! من دیو هستم، مهندس هوش مصنوعی و بنیان‌گذار Datalumina®. در [کانال یوتیوب](https://www.youtube.com/@daveebbelaar?sub_confirmation=1) خود آموزش‌های عملی برای ساخت سیستم‌های هوش مصنوعی ارائه می‌کنم که در دنیای واقعی کاربرد دارند. همچنین به افراد کمک می‌کنم تا حرفه فریلنسری موفقی داشته باشند. برای اطلاعات بیشتر به لینک‌های زیر سر بزنید.

### منابع بیشتر

چه در حال یادگیری باشید، چه فریلنسر و چه کسب‌وکاری که به تخصص هوش مصنوعی نیاز دارد، برای شما مواردی داریم:

1. **یادگیری پایتون برای هوش مصنوعی و علم داده**
به جامعه رایگان **Data Alchemy** بپیوندید و از منابع و آموزش‌های آن استفاده کنید.
▶︎ [یادگیری پایتون برای هوش مصنوعی](https://www.skool.com/data-alchemy)

2. **آماده شروع یا گسترش حرفه فریلنسری هستید؟**
بیاموزید چگونه مشتری پیدا کنید و کسب‌وکار خود را رشد دهید.
▶︎ [پروژه‌های فریلنسری](https://www.datalumina.com/data-freelancer)

3. **به کمک تخصصی در پروژه بعدی نیاز دارید؟**
با من و تیمم کار کنید تا چالش‌های داده و هوش مصنوعی خود را حل کنید.
▶︎ [همکاری با ما](https://www.datalumina.com/solutions)

4. **در حال ساخت برنامه‌های هوش مصنوعی هستید؟**
با فریم‌ورک تولیدی ما به نام **GenAI Launchpad** آشنا شوید.
▶︎ [مشاهده GenAI Launchpad](https://launchpad.datalumina.com/)
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[نسخهٔ فارسی](README.fa.md)
# Introduction

This Cookbook contains examples and tutorials to help developers build AI systems, offering copy/paste code snippets that you can easily integrate into your own projects.
Expand Down
117 changes: 117 additions & 0 deletions agents/building-blocks/README.fa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# 7 بلوک ساختاری بنیادی عوامل AI

## آنچه من ساخت برنامه های واقعی AI را یاد گرفتم

این چیزی است که من بعد از امتحان کردن چارچوب های بی شماری عامل و صحبت با توسعه دهندگان در حال ساخت محصولات واقعی هوش مصنوعی مشاهده کردم: ** این چارچوب ها در تولید استفاده نمی شوند **.

بیشتر برنامه های موفقیت آمیز هوش مصنوعی که من دیده ام با بلوک های ساختمانی سفارشی ساخته شده اند ، نه چارچوب.این امر به این دلیل است که مؤثرترین "عوامل هوش مصنوعی" در واقع به هیچ وجه عامل نیست.آنها بیشتر نرم افزارهای تعیین کننده با تماس های استراتژیک LLM هستند که دقیقاً در جایی که ارزش آن را اضافه می کنند ، قرار می گیرند.

مشکل این است که بیشتر چارچوب ها "به LLM برخی از ابزارها را می دهید و به آن اجازه می دهد همه چیز را بفهمد".اما در واقعیت ، شما نمی خواهید LLM شما تصمیم بگیرد.شما می خواهید که یک چیز را که در آن خوب است - استدلال با زمینه - در حالی که کد شما همه چیز را اداره می کند.

** راه حل ساده تر از اکثر چارچوب ها به نظر می رسد. ** در اینجا رویکردی است که در واقع کار می کند:

- آنچه را که در واقع در مؤلفه های اساسی ایجاد می کنید ، تجزیه کنید
- با بهترین روشهای مهندسی نرم افزار ، هر مشکل را حل کنید
- ** فقط یک مرحله LLM را شامل می شود ** وقتی که با کد تعیین کننده غیرممکن است

برقراری تماس API LLM گرانترین و خطرناک ترین عملیات در توسعه نرم افزار مدرن است.در حالی که فوق العاده قدرتمند است ، می خواهید به هر قیمتی از آن جلوگیری کنید و فقط در صورت لزوم از آن استفاده کنید.

این امر به ویژه در مورد سیستم های اتوماسیون پس زمینه صادق است.تفاوت زیادی بین ساخت دستیاران شخصی (مانند Chatgpt ، مکان نما) وجود دارد که کاربران در آن حلقه هستند ، در مقابل ایجاد سیستم های کاملاً خودکار که اطلاعات را پردازش می کنند یا بدون مداخله انسانی ، گردش کار را کنترل می کنند.بیشتر شما در حال ساخت چت های بعدی نیستید - شما در حال ساخت اتوماسیون پس زمینه هستید تا کار یا شرکت خود کارآمدتر شود.

** اما وقتی این تماس LLM را برقرار می کنید ، همه چیز در مورد مهندسی زمینه است. ** برای دریافت یک پاسخ خوب ، شما به متن مناسب در زمان مناسب ارسال شده به مدل مناسب نیاز دارید.شما باید تمام اطلاعات ، ارسال ها و ورودی کاربر را از قبل پردازش کنید تا LLM بتواند به راحتی و با اطمینان مشکل را حل کند.این اساسی ترین مهارت در کار با LLMS است.

نمایندگان AI به سادگی گردش کار هستند - اگر دقیق هستید ، نمودارهای حرکتی (DAG) را هدایت می کنند ، یا اگر حلقه ها را شامل می شوید ، فقط نمودارهایی را انجام می دهید.بیشتر مراحل در این گردش کار باید کد منظم باشد - نه تماس های LLM.

## 7 بلوک ساختمان

با توجه به همه اینها ، شما فقط به این هفت بلوک اصلی ساختمان نیاز دارید تا تقریباً هر مشکل تجاری را حل کنید.مشکل بزرگ خود را برطرف کنید ، آن را به مشکلات کوچکتر برسانید ، سپس با استفاده از این بلوک های ساختمانی که به هم زنجیر شده اند ، هرکدام را حل کنید - اینگونه است که شما عوامل AI مؤثر را می سازید.

اینها ابتدایی اساسی هستند.اما چگونه واقعاً آنها را ترکیب می کنید؟این جایی است که [Orchestration گردش کار] (https://github.com/daveebbelaar/ai -cookbook/tree/main/patterns/workflows) وارد می شود - زنجیرهای سریع ، مسیریابی ، تأمل و سایر الگوهای عامل که وقتی این بلوک های ساختمانی را با هم ترکیب می کنید ، ظاهر می شوند.

### 1. هوش
** تنها مؤلفه واقعاً "ai" **

اینجاست که جادو اتفاق می افتد - و به طرز شگفت آور ساده است.شما متن را به LLM ارسال می کنید ، در مورد آن فکر می کند و متن را به عقب می فرستد.این است** بدون این ، شما فقط نرم افزاری معمولی دارید. ** قسمت پیچیده خود LLM نیست - این همه چیز دیگری است که برای ساختن آن نیاز دارید.

`` `پری دریایی
نمودار LR
A [ورودی کاربر] -> B [پردازش LLM] -> C [پاسخ تولید شده]
`` `

### 2. حافظه
** تداوم متن در تعامل **

LLMS چیزی از پیام های قبلی را به خاطر نمی آورد.** بدون حافظه ، هر تعامل از ابتدا شروع می شود ** زیرا LLM ها بدون تابعیت هستند.بنابراین شما باید هر بار به صورت دستی در تاریخ مکالمه عبور کنید.این فقط * ذخیره و عبور از حالت مکالمه * است - کاری که ما برای همیشه در برنامه های وب انجام داده ایم.

`` `پری دریایی
نمودار LR
A [زمینه قبلی] -> C [پردازش LLM]
B [ورودی جدید] -> C
ج -> D [پاسخ]
C -> E [متن به روز شده] -> F [ذخیره سازی زمینه]
`` `

### 3. ابزارها
** inte سیستم خارجیقابلیت های gration **

بیشتر اوقات شما برای انجام کارها به LLM خود نیاز دارید ، نه فقط گپ.** تولید متن خالص محدود است ** - شما می خواهید با API ها تماس بگیرید ، پایگاه داده ها را به روز کنید یا پرونده ها را بخوانید.ابزارها به LLM اجازه می دهند "من باید این عملکرد را با این پارامترها بنامم" و کد شما اجرای واقعی را انجام می دهد.این فقط * ادغام API عادی * است که LLM چه چیزی را برای تماس با آن انتخاب می کند و ورودی JSON را برای آرگومان ها فراهم می کند.

`` `پری دریایی
نمودار LR
A [ورودی کاربر] -> B [درخواست تجزیه و تحلیل LLM] -> C {ابزار مورد نیاز؟
ج -> | بله |D [SELECT TOOL] -> F [EXECUTE TOOL] -> G [نتیجه ابزار] -> H [پاسخ فرمت های LLM]
ج -> | نه |E [پاسخ مستقیم]
ح -> من [پاسخ نهایی]
E -> من
`` `

### 4. اعتبار سنجی
** تضمین کیفیت و اجرای داده های ساختاری **

شما باید مطمئن شوید که LLM JSON را که مطابق با طرح مورد انتظار شما است ، باز می گرداند.** LLM ها احتمالی هستند و می توانند خروجی های متناقض را تولید کنند ** ، بنابراین شما خروجی JSON را در برابر یک ساختار از پیش تعریف شده تأیید می کنید.در صورت عدم موفقیت ، می توانید آن را به LLM ارسال کنید تا آن را برطرف کنید.این تضمین می کند که کد پایین دست می تواند با اطمینان با داده ها کار کند.این فقط * اعتبار سنجی طرحواره ای طبیعی * با منطق آزمایش مجدد با استفاده از ابزارهایی مانند کلاسهای Pydantic ، Zod یا Data است.

`` `پری دریایی
نمودار LR
A [LLM JSON OUTPUT] -> B [اعتبارسنجی طرحواره] -> C {معتبر؟
ج -> | بله |D [داده های ساختاری]
ج -> | نه |E [ارسال به LLM] -> a
`` `

### 5. کنترل
** تصمیم گیری قطعی و جریان فرآیند **

شما نمی خواهید LLM شما تصمیم بگیرد - برخی از موارد باید با کد منظم انجام شود.در صورت/موارد دیگر ، موارد سوئیچ و منطق مسیریابی را برای جریان مستقیم بر اساس شرایط استفاده کنید.این فقط * منطق تجاری و مسیریابی طبیعی است که می خواهید در هر برنامه بنویسید.

`` `پری دریایی
نمودار LR
A [input] -> b [طبقه بندی هدف] -> C {نوع هدف}
ج -> | سوال |D [پاسخ کنترل] -> G [پاسخ]
ج -> | درخواست |E [درخواست کننده درخواست] -> g
ج -> | شکایت |f [کنترل کننده شکایت] -> g
`` `

### 6. بازیابی
** مدیریت شکست لطف **

** همه چیز اشتباه خواهد شد ** - API ها پایین خواهند آمد ، LLMS مزخرف باز می گردد ، محدودیت نرخ به شما ضربه می زند.هنگام شکستن چیزها ، نیاز به بلوک های امتحان/گرفتن ، منطق را دوباره امتحان کنید و پاسخ های برگشتی را انجام دهید.این فقط * رسیدگی به خطای استاندارد * است که شما در هر سیستم تولیدی پیاده سازی می کنید.

`` `پری دریایی
نمودار LR
A [درخواست فرآیند] -> B {موفقیت؟
ب -> | بله |ج [نتیجه بازگشت]
ب -> | نه |D [خطا تشخیص داده شده] -> E {دوباره امتحان کنید؟
E -> | بله |f [دوباره با Backoff] -> a
E -> | نه |g [اجرای Fallback] -> H [پاسخ برگشت به عقب]
`` `

### 7 بازخورد
** گردش کار نظارت و تأیید انسان **

بعضی اوقات برای بررسی کار LLM قبل از زنده بودن به یک انسان نیاز دارید.** برخی از تصمیمات برای اتوماسیون کامل بسیار مهم یا پیچیده هستند - مانند ارسال ایمیل به مشتریان یا خرید.مراحل تصویب را اضافه کنید که انسان بتواند قبل از اجرای آن را مرور و تأیید و رد کند.این فقط * گردش کار اولیه تأیید * مانند شما می توانید برای هر برنامه ای بسازید.

`` `پری دریایی
نمودار LR
A [پاسخ تولید] -> B [بررسی انسانی] -> C {تأیید شده؟
ج -> | بله |D [اجرای/ارسال پاسخ]
ج -> | نه |E [درخواست تجدید نظر] -> F [پاسخ تجدید نظر] -> b
`` `
1 change: 1 addition & 0 deletions agents/building-blocks/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[نسخهٔ فارسی](README.fa.md)
# The 7 Foundational Building Blocks of AI Agents

## What I Learned Building Real AI Applications
Expand Down
Loading