The Debugging Diaries
88 subscribers
63 photos
47 videos
33 files
73 links
گوشه‌ای برای یادداشت و ثبت مطالب مربوط به پایتون، یادگیری عمیق و هوش و هر چی که مربوط به تکنولوژی باشه.
加入频道
📌 شاید بشه نقطه‌ی تمایز اصلی بین یک مدل زبانی ساده و یک Agent هوشمند رو در استفاده از انواع ابزارهای خارجی دونست.

یکی از قوی‌ترین ابزارهایی که می‌تونه یه LLM رو به سطح جدیدی برسونه جست‌وجو در اینترنت هست و Tavily AI رو میشه به عنوان یکی از بهترین سرویس دهنده در این حوزه نام برد. این ابزار یک موتور جست‌وجوی تخصصی برای مدل‌های زبانی بزرگه که به‌طور خاص برای استفاده در سازوکارهای AI Agentها و سیستم‌های RAG طراحی شده.


🔍ابزار Tavily چیه و چرا باید بشناسیمش؟

سرویس Tavily Search API با تمرکز بر مدل‌های زبانی و Agentهای هوشمند توسعه داده شده. این ابزار کمک می‌کنه مدل‌های زبانی، اطلاعات به‌روز و دقیق رو از وب دریافت کنن — بدون نویز و بدون سوگیری.

ویژگی‌های کلیدی Tavily:
🎯 مناسب برای AI : طراحی‌شده مخصوص مدل‌های زبانی و‌Agentها
⚙️ قابل تنظیم : امکان مدیریت دامنه‌ها و عمق جست‌وجو
🕒 بلادرنگ : دریافت داده‌های جدید و معتبر از اینترنت به همراه رفرنس
🧩 یکپارچه : پکیج مخصوص پایتون و جاوا اسکریپت و پشتیبانی در بیشترهای فریمورک های Ai Agent

📣 اگر در حال ساختن یک Agent هوشمند هستی یا از LangChain / LlamaIndex استفاده می‌کنی، Tavily یه ابزار بی‌نظیره که قدرت مدل‌هات رو چند برابر می‌کنه.

یه پلن رایگان داره که 1000 اعتبار تو ماه بهت میده ، بسته به سرچی که انجام میدین بین یک یا چندتا اعتبار از شما کم میشه
برای دیدن قابلیت های بیشتر و APIهای این شرکت به این آدرس برین
1👍1
🎯 فرقی نداره تو کدوم شاخه‌ای از علوم کامپیوتر فعالی
📊 دانشمند یا مهندس داده‌ای؟ 🤖 تو حوزه‌ی هوش مصنوعی کار می‌کنی؟ 👨‍💻 مهندس نرم افزاری، فرانت‌اند یا بک‌اندی؟
🛠 فرقی نمی‌کنه؛ داکر یکی از اون ابزارهاییه که باید بلد باشی.

🧠 شاید با ظهور مدل‌های زبانی بزرگ (LLM) دیگه کمتر سراغ چیت‌شیت‌ها بریم،
ولی یه نگاه به چیت‌شیت داکر می‌تونه خیلی مفید باشه —
بفهمی چی بلدی، چی رو باید یاد بگیری(هر چند که این چیت شیت بخش کوچیکی از داکر هست.)

هر روزی یادگیری دیرتر داکر دردسرهای بیشتر.
🔥 پس از همین امروز شروع کن به یادگیریش
👍1👌1
پس از گذشت دو سال از ظهور مدل‌های بزرگ زبانی، ترند فعلی این حوزه شاید Agentها باشند. همین‌طور که OpenAI هم استراتژی خودش برای سال 2025 رو بر توسعه و تمرکز بیشتر روی سیستم‌های مبتنی بر Agentها اعلام کرده. اما یه نکته مهم اینجا دونستن تفاوت بین Workflow و Agent هست. تو چند پست بعدی قراره به مفاهیم مربوط به Agentها، Workflowها و همچنین Design Patternهای معروف این حوزه بپردازم.

ولی قبلش بهتره تفاوت این دو تا رو بگیم

در واقع Workflowها سیستم‌هایی هستن که توشون مدل‌های زبانی(LLM)ها و ابزارها از طریق مسیرهای از پیش تعریف‌شده کد‌نویسی و هماهنگ می‌شن.
اما Agentها سیستم‌هایی هستن که توشون LLMها به صورت پویا فرآیندها و استفاده از ابزارها رو خودشون هدایت و مدیریت می‌کنن و روی نحوه انجام وظایفشون کنترل دارن.

این پست و پست‌های بعدی بر اساس مقاله‌ی "Building Effective Agents" از آنتروپیک نوشته شده.
👍4
بریم سراغ یه دیزاین ساده ولی کاربردی از workflowها

🔥 زنجیره‌سازی پرامپت‌ها (Prompt Chaining) چیه؟

فرض کن یه کار پیچیده داری که نمی‌شه تو یه مرحله حلش کرد. راه‌حل چیه؟ اون رو به چند مرحله کوچیک‌تر تقسیم کن! 😎

توی زنجیره‌سازی پرامپت‌ها، هر بار که LLM یا همون مدل زبانی یه خروجی می‌ده، اون خروجی می‌شه ورودی مرحله بعد. اینجوری مرحله به مرحله جلو می‌ری تا به جواب نهایی برسی.

مثلاً برای خلاصه‌سازی یه مقاله علمی، اول ساختارش رو استخراج می‌کنی، بعد هر بخش رو جداگانه خلاصه می‌کنی، و در نهایت یه جمع‌بندی نهایی از همه‌ی بخش‌ها می‌سازی.

نکته باحال‌تر: می‌تونی وسط کار، بررسی (Gate) و شرط بذاری که مطمئن شی هر مرحله درست انجام شده. مثلاً بگی: «اگه خروجی مرحله قبل ناقص بود، دوباره اجرا کن!» یا «اگه نتیجه شد A اینکارو بکن اگه شد B یه کار دیگه»

📌 کی استفاده کنیم؟
وقتی کاری داری که می‌تونی قشنگ به چند زیرکار مشخص بشکونیش. این روش باعث می‌شه هم سرعت بهتر بشه، هم دقت نهایی بالاتر بره.
🔥21
🔁 دومین Workflow که بررسی می‌کنیم: Parallelization (موازی‌سازی)

با موازی‌سازی،LLMها می‌تونن به طور همزمان روی یک وظیفه کار کنند و در نهایت خروجی‌هایشان به عنوان پاسخ نهایی تجمیع شود. 🚀

🧩 بخش‌بندی: شکستن یه کار بزرگ به زیروظایف مستقل که می‌تونن هم‌زمان اجرا بشن
🗳️ رأی‌گیری: چند بار یه وظیفه رو اجرا می‌کنی تا خروجی‌های مختلف بگیری، بعد بهترین رو انتخاب می‌کنی

🤔 چه زمانی از این روش استفاده کنیم؟
وقتی:

شکستن یک وظیفه به زیروظایف مستقل که به صورت موازی اجرا می‌شوند.
اجرای چندین بار یک وظیفه برای دستیابی به خروجی‌های متنوع.

📚 مقاله معروف Chain-of-Tree هم از همین ایده استفاده می‌کنه.

💼 یه مثال:
فرض کن یه فروشگاه آنلاین داری و می‌خوای با LLMها به کامنت‌های مشتری‌ها جواب بدی:

🤖 یه مدل تشخیص می‌ده لحن کامنت چیه (مثبت/منفی/خنثی)
🔍 یه مدل دیگه می‌فهمه مشکل دقیق مشتری چیه
💬 یه مدل دیگه هم جواب مناسب رو پیشنهاد می‌ده

در نهایت، این خروجی‌ها رو با هم ترکیب می‌کنی
همچنین می‌تونی چندتا خروجی تولید کنی و با رأی‌گیری یا نظر انسانی، بهترین رو بفرستی. 🎯
👍3
من تجربه کار با GPUهای مختلف از A100 و A6000 تا RTX4090 و و حتی مدل‌های پایین‌تر مث 3050 رو داشتم و انواع مدل‌ها از Deepseek v3 تا Gemma 1b رو هم با روش‌های مختلف سرو کردم
ولی هیچی برام هیجان انگیز‌تر از سرو مدل روی گوشی همراهم نبود.
دیشب گوگل خیلی چیزا رو معرفی کرد ولی بیشتر از همه مدل‌های Gemma 3n که مخصوص موبایل‌ و دیوایس‌های سبک بود، برام جذابیت داشت.
مولتی مدال ، فوق العاده خوب در فارسی(نسبت به سایز) و در تشخیص تصویر.
البته که که خیلیم سریع نیست.
یسری تست گرفتم که در ادامه باهم ببینیم.

و اگه دوست داشتین راجع استفاده از این مدل‌ها یه پست بذارم با ریکشن هاتون نشون بدین😁
👍5
سوال : راجع به این تصویر چی میتونی بگی؟

جواب : این پست از Sophia Yang، دکترای علوم کامپیوتر و متخصص هوش مصنوعی، درباره یک مدل متن‌باز جدید به نام "Devstral" است که برای توسعه‌دهندگان کد طراحی شده.

نقاط کلیدی پست عبارتند از:

* آشنایی با Devstral: یک مدل زبان متن‌باز جدید برای توسعه کد.
* توانایی‌های برنامه‌نویسی: حل مشکلات موجود در GitHub و ادغام بی‌نظیر با اسکلت‌های عوامل برنامه‌نویسی (code agent scaffolds).
* عملکرد: عملکرد بهتر از سایر مدل‌های متن‌باز، با حاشیه قابل توجهی.
* انعطاف‌پذیری: قابلیت اجرا بر روی کارت گرافیک RTX 4090 یا مک با حافظه 32 گیگابایت، مناسب برای استقرار محلی و کسب‌وکارها.
* مجوز: استفاده از مجوز Apache 2.0، به معنای متن‌باز بودن و آزاد بودن برای جامعه جهت استفاده و سفارشی‌سازی.
* نمودار عملکرد: نموداری که عملکرد Devstral را با سایر مدل‌های موجود مقایسه می‌کند و نشان می‌دهد که در اندازه‌های مختلف مدل، از عملکرد بهتری برخوردار است.

به طور کلی، این پست یک معرفی هیجان‌انگیز از یک ابزار قدرتمند و متن‌باز برای توسعه دهندگان کد است.
👍3
اخیرا گوگل تحت عنوان پلن دانشجویان ویژگی‌های Gimini Pro رو برای 15 ماه رایگان کرده.
برای دریافت ابتدا با آی پی آمریکا (با استفاده از VPN) وارد لینک بشین و صبر کنین عملیات انجام بشه
در صورت فعال نشدن از این لینک وارد بشین و گزینه دریافت رو بزنین
ویژگی‌های نسخه پرو هم شامل موارد زیر هست:
دسترسی بیشتر به مدل پیشرفته ۲.۵ Pro، قابلیت Deep Research و تولید ویدیو با Veo 2
ابزار فیلم‌سازی هوش مصنوعی با Veo 2 برای ساخت صحنه‌ها و داستان‌های سینمایی
محدودیت‌های کمتر برای تبدیل تصویر به ویدیو با Veo 2
دستیار تحقیق و نویسندگی با ۵ برابر Audio Overview بیشتر، دفترچه‌ها و امکانات دیگر در NotebookLM
استفاده مستقیم از Gemini در Gmail، Docs، Vids و غیره
2 ترابایت فضای کلی برای Photos، Drive و Gmail
🔥2
The Debugging Diaries
من تجربه کار با GPUهای مختلف از A100 و A6000 تا RTX4090 و و حتی مدل‌های پایین‌تر مث 3050 رو داشتم و انواع مدل‌ها از Deepseek v3 تا Gemma 1b رو هم با روش‌های مختلف سرو کردم ولی هیچی برام هیجان انگیز‌تر از سرو مدل روی گوشی همراهم نبود. دیشب گوگل خیلی چیزا رو…
خب بریم سراغ راهنمای نصب Gemma 3n برای یدیوایس‌های اندروید:

فایل APK اپلیکیشن Edge Gallery رو از گیت‌هاب دانلود کنید:

https://github.com/google-ai-edge/gallery/releases/tag/1.0.3

برای دانلود مدل دو راه وجود داره یا از داخل نرم افزار مدل رو دانلود کنید یا
یکی از فایل‌های .task رو از سایت Hugging Face دانلود کنید:

https://huggingface.co/collections/google/gemma-3n-preview-682ca41097a31e5ac804d57b

فایل .task رو با زدن دکمه + در پایین سمت راست، داخل اپلیکیشن Edge Gallery وارد کنید.

همچنین می‌تونید مستقیما از داخل برنامه عکس بگیرید و با مدل گفتگو کنید.
👍5
🔁 ادامه‌ی بحث Workflowها: معرفی Routing
در این روش، یک ورودی ابتدا طبقه‌بندی میشه و بعدش به یک زنجیره یا مسیر مشخص که از قبل تعیین شده، هدایت می‌شه. این workflow به ما امکان رو می‌ده تا زمینه‌ها را از هم تفکیک کنیم و برای هر نوع ورودی، پرامپت‌های تخصصی‌تری طراحی کنیم. در نبود این ساختار، اگر بخوایم مدل و پرامپت را برای یک نوع خاص از ورودی‌ها بهینه کنیم، ممکنه که این بهینه‌سازی باعث افت کیفیت پاسخ‌ها برای سایر انواع ورودی بشه
📌 چه زمانی از Routing استفاده کنیم؟
در واقع Routing گزینه‌ی مناسبی برای وظایف پیچیده‌ای هست که در اون ورودی‌ها به دسته‌های مشخص و متمایزی تقسیم می‌شن. در این حالت، اگر بتوان ورودی را با دقت کافی طبقه‌بندی کرد—چه با استفاده از یک LLM یا یک مدل/الگوریتم سنتی‌تر—می‌توان برای هر دسته، به صورت جداگانه زنجیره‌ی مناسب را اجرا کرد و عملکرد مدل را بهینه نگه داشت.
The Debugging Diaries
🔁 ادامه‌ی بحث Workflowها: معرفی Routing در این روش، یک ورودی ابتدا طبقه‌بندی میشه و بعدش به یک زنجیره یا مسیر مشخص که از قبل تعیین شده، هدایت می‌شه. این workflow به ما امکان رو می‌ده تا زمینه‌ها را از هم تفکیک کنیم و برای هر نوع ورودی، پرامپت‌های تخصصی‌تری…
به‌طور کلی، برای پیاده‌سازی Routing معمولاً از مدلی استفاده می‌شود که توانایی تولید خروجی ساختارمند (Structured Output) را داشته باشد.این ویژگی به ما این امکان را می‌دهد که فرمت خروجی مدل را طوری طراحی کنیم که خروجی‌اش را در قالب یک فایل JSON با ساختار دلخواه ارائه بده.به طور مثال شما از مدل میخواین بپرسین که این تسکی که کاربر به عنوان ورودی تعریف کرده سخته یا آسون و نیاز به توضیح ندارین صرفا میخواین یه json دریافت کنین که به شکل زیر باشه
{
"is_complex":true/false,
"explanation": "this task is complex/simple because of …"
}

این ویژگی تو بسیاری از مدل‌های بروز و تجاری از جمله مدل‌های شرکت OpenAi،Anthropic ،Google و xAi وجود داره و شما باید صرفا نوع Json خروجی رو برای مدل تعریف کنین، برای آشنایی بیشتر توصیه میکنم به این لینک سر بزنین.
🔥1
🎯ژول (Jules) دستیار توسعه نرم افزار گوگل به صورت رایگان معرفی شد.
چند وقت پیش بود که OpenAi یک عامل کدنویسی به نام Codex برای کدنویسی به صورت اتوماتیک معرفی کرد که البته رایگان نبود حالا گوگل به ورژن رایگان و مشابه اون به نام Jules رو به صورت بتا معرفی کرده
این عامل یک دستیار کدنویسی Agentic و asynchronous و تحت وب هست که برپایه مدل قدرتمند Gemini 2.5 Pro، به‌صورت مستقیم به GitHub متصل می‌شه و کل پروژه رو در ماشین مجازی Google Cloud کلون می‌کنه تا کاملاً پروژه رو بفهمه و کارهای پیچیده‌تری مثل

🔧 رفع باگ(Bug Fixing)
توسعه فیچر جدید(Feature Development)
🧼 بازآرایی کد(Code Refactoring)
🔁 مدیریت وابستگی(Dependency Management)
🧪 تولید تست(Test Generation)
رو به صورت موازی و مستقل انجام بده!

در نهایت هم از تغییرات ، pull request و changelog تولید می‌کنه و پس از تأیید نهایی توسط توسعه‌دهنده‌ اون رو در گیت هابش قرار میده
ماهیت ناهمزمان(asynchronous) اون به توسعه‌دهندگان این امکان رو می‌ده تا چند وظیفه به صورت همزمان به این Agent محول بشه.
برای آشنایی بیشتر با این ویژگی جدید می تونین این ویدیو رو نگاه کنین.
3
Please open Telegram to view this post
VIEW IN TELEGRAM
1
The Debugging Diaries
Photo
برخلاف این 20 روز اخیر که اتفاقات زیادی در کشور افتاد،تو بحث AIها  و هوش مصنوعی ایام آرومی رو تجربه کردیم. تنها ابزار به درد بخوری که این ایام معرفی شد، Gemini cli هستش.
این ابزار یک عامل هوش مصنوعی متن‌باز است که دسترسی به Gemini 2.5 pro را مستقیماً در ترمینال شما فراهم می‌کند. قابلیت‌های مختلف از جمله بررسی فولدر یک پروژه، دسترسی به اینترنت و توانایی کار با ترمینال(با اجازه شما) رو داره. از طریق پروتکل mcp هم میشه ابزارهای مختلف بهش اضافه کرد. قبلا هم شرکت‌های Cluade و OpenAi هم ابزار مشابه رو معرفی کرده بودن ولی تمایز اساسی بین Gemini Cli و ابزارهای مشابه رایگان بودن و محدودیت کم استفاده ازش هست، به طوری که 60 درخواست تو دقیقه و 1000 درخواست در روز رو به صورت رایگان در اختیار افراد قرار میده که تقریبا بعیده بشه تو یه روز تمومش کرد. هدف این پست بررسی قابلیت‌های این ابزار نیست و بیشتر توصیه میکنم خودتون راجع بهش جست‌وجو کنین اما طرز استفاده‌اش با توجه به تحریم و اینکه این ابزار تحت ترمینال استفاده میشه، میتونه یخورده چالش داشته باشه. اول اینکه شما باید با استفاده از nodeJs این ابزار رو نصب کنین و باید nodejs که دارین ورژنش از 18 بیشتر باشه. نکته دوم اینکه اگه از پروکسی استفاده میکنین که کل سیستم رو تونل نمیکنه، احتمالا به مشکل میخورین حل این مشکل تو ویندوز از دستور
set http_proxy=http://proxy-server-ip:port
set https_proxy=http://proxy-server-ip:port

و در لینوکس از دستور
export http_proxy="http://proxy-server-ip:port"
export https_proxy="http://proxy-server-ip:port"

مثلا بعد از روشن کردن مثلا v2ray باید بنویسن localhost:10808 و اگه از vpn دیگه استفاده میکنین باید ببنین روی چه پورتی کار میکنه. بعدش میتونین از ابزار خیلی خفن گوگل استفاده کنین.
3