microsoft

local-ai-agents

<!-- CO-OP TRANSLATOR DISCLAIMER END -->

microsoft 77,764 25,503 Updated 3mo ago
GitHub

Install

npx skillscat add microsoft/ai-agents-for-beginners/translations-fa-agents-skills-local-ai-agents

Install via the SkillsCat registry.

About this skill

This skill teaches how to build AI agents that run entirely on-device using Foundry Local, Qwen function-calling models, Chroma for local RAG, and MCP servers. It addresses the need for private, low-cost, offline-capable agents by using a small language model to orchestrate tool calls rather than rely on cloud inference. Developers building privacy-focused or offline agent applications with OpenAI-compatible local endpoints should use it.

SKILL.md

ایجاد عامل‌های هوش مصنوعی محلی با Foundry Local و Qwen

مهارت همراه برای درس 17 – ایجاد عامل‌های هوش مصنوعی محلی.
از آن برای کمک به یادگیرنده در ساخت عاملی که استدلال می‌کند، ابزارها را فراخوانی می‌کند، و
مستندات را به‌طور کامل روی دستگاه خود جستجو می‌کند استفاده کنید — بدون استنتاج ابری.
هر توصیه‌ای را بر اساس محتوای درس و دفترچه قابل اجرای مربوطه استوار کنید.

محرک‌ها

این مهارت را وقتی فعال کنید که یادگیرنده بخواهد:

  • یک عامل را به‌طور کامل روی دستگاه برای حفظ حریم خصوصی، هزینه یا به دلایل آفلاین اجرا کند.
  • مدلی را به‌صورت محلی با Foundry Local ارائه دهد و از طریق نقطه پایانی سازگار با OpenAI متصل شود.
  • از یک مدل فراخوانی توابع Qwen برای اجرای مطمئن تماس‌های ابزار محلی استفاده کند.
  • RAG محلی (Chroma) یا سرور MCP محلی اضافه کند.
  • یک استراتژی مسیریابی ترکیبی محلی/ابری طراحی کند.

مدل ذهنی اصلی

یک SLM عمق دانش را برای حفظ حریم خصوصی، هزینه و عملیات آفلاین فدا می‌کند. استراتژی برنده: اجازه دهید SLM هماهنگ کند و ابزارها کارهای سنگین را انجام دهند. مدل نیازی ندارد که کدبیس را بداند — بلکه باید بداند چه زمانی read_file و search_docs را فراخوانی کند. این به قوت SLM می‌افزاید (تصمیمات محدود مانند انتخاب ابزار) و از ضعف آن (دانش گسترده، استدلال چندمرحله‌ای طولانی) می‌کاهد.

چرا این قطعات خاص

  • Foundry Local یک نقطه پایانی HTTP سازگار با OpenAI را ارائه می‌دهد، بنابراین کد عامل ابری با تغییر تنها base_url (و استفاده از کلید API جایگزین محلی) منتقل می‌شود. همچنین بهترین ساخت (CPU/GPU/NPU) را برای دستگاه به صورت خودکار انتخاب می‌کند.
  • مدل‌های Qwen برای فراخوانی تابع آموزش دیده‌اند و به‌صورت مداوم تماس‌های ابزار خوب‌ساختار یافته منتشر می‌کنند — این همان چیزی است که یک مدل چت محلی را به یک عامل محلی تبدیل می‌کند.
  • Chroma درون فرایند اجرا می‌شود و بردارها را روی دیسک ذخیره می‌کند، بنابراین کل خط لوله RAG (تعبیه → ذخیره → بازیابی → استدلال) محلی باقی می‌ماند.
  • MCP یک حامل است، نه یک سرویس ابری: سرور MCP می‌تواند به‌صورت محلی روی stdio اجرا شود.

ملزومات راه‌اندازی

foundry model run qwen2.5-7b-instruct
foundry service status
from foundry_local import FoundryLocalManager
from openai import OpenAI

manager = FoundryLocalManager("qwen2.5-7b-instruct")
client = OpenAI(base_url=manager.endpoint, api_key=manager.api_key)  # مکان‌نگهدار محلی

حدود ۸ گیگابایت رم حداقل واقع‌بینانه است؛ داشتن GPU/NPU کمک می‌کند اما لازم نیست.

الگوهای کلیدی برای بازتولید

یادگیرنده را به دفترچه راهنما هدایت کنید
`17-local-agent-foundry-local.ipynb`:

  • ابزارهای محصورشده: هر ابزار فایل مسیرها را حل می‌کند و هر چیزی خارج از یک ریشه پروژه واحد را رد می‌کند — حتی به‌صورت محلی، ابزار با مجوزهای کاربر اجرا می‌شود.
  • حلقه فراخوانی ابزار: ابزارها را با طرح OpenAI ثبت کنید، ابزارهای خواسته شده را محلی اجرا کنید، نتایج را برگردانید، و این کار را تا رسیدن به پاسخ نهایی تکرار کنید.
  • RAG محلی: اسناد را در یک مجموعه Chroma درج کنید؛ search_docs بهترین بخش‌ها (top-k) را برمی‌گرداند.
  • MCP محلی: به سروری محلی از طریق stdio متصل شوید؛ آن را به یک دایرکتوری پروژه محدود کنید و خروجی‌های آن را اعتبارسنجی کنید.

مسیریابی ترکیبی (محلی به عنوان یکی از مدل‌ها)

موقعیت محل اجرا
داده حساس / آفلاین SLM محلی
کار ساده و محدود SLM محلی (ارزان، سریع)
استدلال چندمرحله‌ای سخت روی داده غیرحساس مدل ابری
قطعی ابری SLM محلی (تخریب تدریجی)

این ایده مسیریابی مدل از درس 16 را تکرار می‌کند، با ایستگاه کاری به‌عنوان یکی
از مسیرها. طراحی‌هایی را ترجیح دهید که به محلی برگشت می‌کنند تا اینکه عامل کاملاً از کار بیفتد و کیفیت کاهش یابد.

مقررات کمکی

  • هر عملیات فایل/ابزار را محدود به یک دایرکتوری پروژه محصور نگه دارید.
  • وقتی هدف اعلام شده یادگیرنده حفظ حریم خصوصی/آفلاین است، کد یا داده‌ای به ابر ارسال نکنید — کل خط لوله محلی بماند.
  • انتظارات واقع‌بینانه‌ای برای کیفیت SLM تنظیم کنید؛ به جای دانش به‌یادسپرده مدل، روی ابزارها و RAG تکیه کنید.
  • توجه داشته باشید که درس 17 هیچ نقطه پایانی Foundry Responses ندارد، بنابراین عمل تست دود ابری اعمال نمی‌شود — با اجرای دفترچه به‌صورت محلی اعتبارسنجی کنید.

سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.