آموزش هوش مصنوعی

ایجنت هوش مصنوعی محلی؛ اجرای مدل کوچک، RAG و ابزار روی رایانه خودتان

متوسط مطالعه در ۹ دقیقه
mahdyar

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

در این قسمت از مجموعه‌ی آموزش هوش مصنوعی تخته سبز، مدل‌های زبانی کوچک را می‌شناسیم و با Foundry Local یک مدل Qwen را اجرا می‌کنیم. بعد ابزار، RAG و MCP محلی را اضافه می‌کنیم. در پایان یاد می‌گیریم کی محلی بمانیم و کی سراغ ابر برویم.

چرا ایجنت هوش مصنوعی محلی؟

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

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

معامله‌ای که انجام می‌دهید

در ازای این مزایا، یک مدل ابری پیشرفته را با یک مدل زبانی کوچک عوض می‌کنید که روی CPU، GPU یا NPU شما اجرا می‌شود. مدل ابری صدها میلیارد پارامتر دارد و پشتش یک مرکز داده است. مدل کوچک چند میلیارد پارامتر دارد و باید در حافظه‌ی رایانه‌ی شما جا شود.

سخت‌افزار هم مهم است. حدود ۸ گیگابایت رم حداقل واقع‌بینانه است و ۱۶ گیگابایت یا بیشتر راحت‌تر. GPU یا NPU سرعت را بالا می‌برد اما الزامی نیست.

مدل کوچک، فرمانده؛ ابزار، کارگر

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

در عوض، در استدلال باز و چندمرحله‌ای روی زمینه‌ی بزرگ ضعیف‌ترند. دانش عمومی گسترده‌ای هم ندارند؛ کمتر دیده‌اند و بیشتر فراموش می‌کنند.

راهبرد برنده

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

به همین دلیل انتخاب مدل مهم است. بسیاری از مدل‌های کوچک خوب گفت‌وگو می‌کنند اما فراخوانی ابزارشان نامعتبر است. مدل‌های Qwen برای فراخوانی تابع آموزش دیده‌اند و خروجی ساختاریافته‌ی قابل اعتمادی تولید می‌کنند؛ همین آن‌ها را برای ایجنت محلی مناسب می‌کند.

اجرای مدل با Foundry Local

Microsoft Foundry Local یک محیط اجرای سبک است که مدل‌ها را روی دستگاه دانلود، مدیریت و ارائه می‌کند. خودش بهترین نسخه‌ی مدل را برای سخت‌افزار شما انتخاب می‌کند؛ CPU، GPU یا NPU.

راه‌اندازی

پس از نصب، با دو دستور مدل را اجرا و وضعیت سرویس را بررسی می‌کنید:

bash
winget install Microsoft.FoundryLocal
foundry model run qwen2.5-7b-instruct
foundry service status

مهم‌ترین ویژگی Foundry Local این است که یک نقطه‌ی پایانی سازگار با OpenAI ارائه می‌دهد. یعنی همان کدی که برای مدل ابری نوشته‌اید، فقط با تغییر base_url روی مدل محلی کار می‌کند.

اتصال و ابزار محدود

اتصال به مدل محلی و تعریف یک ابزار امن این‌طور است:

python
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)

def read_file(path: str) -> str:
    """Read a file, only inside the project directory."""
    full = (PROJECT_ROOT / path).resolve()
    if PROJECT_ROOT not in full.parents:
        return "Access denied: path is outside the project."
    return full.read_text(encoding="utf-8")

به بررسی مسیر دقت کنید. حتی در حالت محلی، ابزاری که هر مسیری را بخواند خطرناک است. مدل ممکن است به اشتباه یا با فریب، فایل‌هایی خارج از پروژه را درخواست کند.

جدول زیر اجزای ایجنت محلی را کنار هم می‌گذارد.

جزءابزارکجا اجرا می‌شود
مدلQwen با Foundry LocalCPU، GPU یا NPU شما
ابزار فایلتابع پایتون محدود به پوشهدستگاه شما
جستجوی اسنادChroma با مدل embedding محلیدیسک شما
ابزارهای بیرونیسرور MCP محلیدستگاه شما با دسترسی کاربر

RAG و MCP محلی

جستجوی اسناد جایی است که ایجنت محلی ارزش خودش را نشان می‌دهد. به‌جای امید به اینکه مدل کوچک مستندات را حفظ باشد، اسناد را بازیابی و به زمینه اضافه می‌کنید.

RAG محلی با Chroma

Chroma یک پایگاه داده‌ی برداری است که درون فرایند اجرا می‌شود و سرور جداگانه نمی‌خواهد. اسناد با یک مدل embedding محلی بردار می‌شوند، روی دیسک ذخیره می‌شوند و پرسش هم به‌صورت محلی بردار می‌شود.

همه‌ی اجزا روی دستگاه‌اند؛ مدل embedding، پایگاه داده، بازیابی و مدل زبانی. این همان الگوی Agentic RAG قسمت‌های قبل است، فقط بدون حتی یک درخواست شبکه. البته فقط اگر مدل embedding هم واقعاً محلی باشد؛ این را جداگانه بررسی کنید.

MCP محلی

MCP یک پروتکل انتقال است، نه یک سرویس ابری. سرور MCP می‌تواند روی همان دستگاه اجرا شود و ابزارهایی مثل دسترسی به فایل یا پایگاه داده را در اختیار ایجنت بگذارد.

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

الگوی ترکیبی محلی و ابری

محلی‌اول به معنای فقط‌محلی نیست. سیستم‌های پیشرفته بر اساس حساسیت داده و دشواری کار مسیریابی می‌کنند. نمودار زیر این قاعده را نشان می‌دهد.

مسیریابی ایجنت هوش مصنوعی محلی میان مدل کوچک روی دستگاه و مدل ابری

قاعده‌ی مسیریابی

داده‌ی حساس یا حالت آفلاین همیشه به مدل محلی می‌رود. کار ساده و محدود هم برای سرعت و هزینه به مدل محلی می‌رود. فقط استدلال سنگین روی داده‌ی غیرحساس به مدل ابری فرستاده می‌شود.

هنگام قطعی شبکه، همه‌چیز به مدل محلی برمی‌گردد؛ شاید با کیفیت کمتر، اما سیستم از کار نمی‌افتد. این همان ایده‌ی مسیریابی مدل در قسمت قبل است، با این تفاوت که یکی از مدل‌ها حالا روی دستگاه خودتان است.

سناریوی عملی؛ جستجو در یادداشت‌های مدرس

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

معیار پذیرش و نمونه‌ی شکست

اقدام مورد بررسی، اجرای مدل و بازیابی محلی و بررسی وابستگی‌های شبکه است. معیار پذیرش سه بخش دارد: کیفیت پاسخ، مصرف حافظه و محل واقعی پردازش داده.

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

تمرین عملی؛ دستیار محلی با نقشه‌ی داده

خروجی این تمرین یک دستیار محلی با نقشه‌ی مسیر داده و محدودیت‌های مشخص است:

  1. حداقل پنج فایل از یادداشت‌ها یا کدتان را در Chroma نمایه کنید.
  2. سه سؤال بپرسید: یکی فقط با RAG، یکی با خواندن فایل و یکی با ترکیب هر دو؛ زمان هر پاسخ را بسنجید.
  3. نقشه‌ای بکشید که نشان دهد هر داده کجا پردازش می‌شود و آزمون قطع اینترنت را اجرا کنید.

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

سخن پایانی

ایجنت هوش مصنوعی محلی حریم خصوصی، هزینه‌ی صفر به ازای توکن و کار آفلاین را به همراه دارد؛ در ازای مدلی کوچک‌تر. راهبرد درست این است که مدل کوچک فرماندهی کند و ابزارها کار سنگین را انجام دهند. Foundry Local با نقطه‌ی پایانی سازگار با OpenAI همان کد ابری را روی دستگاه اجرا می‌کند و Qwen فراخوانی ابزار قابل اعتماد می‌دهد. RAG با Chroma و MCP محلی قابلیت‌ها را کامل می‌کنند و الگوی ترکیبی بهترین هر دو دنیا را کنار هم می‌گذارد.

در قسمت پایانی سراغ امنیت ایجنت و اقدام‌های قابل راستی‌آزمایی می‌رویم.

این آموزش بر پایه‌ی درس Creating Local AI Agents از مجموعه‌ی آزاد AI Agents for Beginners مایکروسافت (مجوز MIT) به فارسی بازنویسی و تکمیل شده است.

پرسش‌های پرتکرار

چرا ایجنت را به‌صورت محلی اجرا کنیم؟

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

برای اجرای ایجنت محلی چقدر رم لازم است؟

حدود ۸ گیگابایت حداقل واقع‌بینانه است و ۱۶ گیگابایت یا بیشتر راحت‌تر است. رم بیشتر اجازه می‌دهد مدل بزرگ‌تر یا پنجره‌ی زمینه‌ی طولانی‌تری اجرا شود. داشتن GPU یا NPU سرعت را بالا می‌برد اما الزامی نیست.

مدل زبانی کوچک در چه کارهایی خوب است؟

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

آیا سرور MCP محلی خودبه‌خود امن است؟

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

دیدگاه‌ها

هنوز دیدگاهی ثبت نشده است. شروع‌کننده باشید — پرسش و اصلاح را با آغوش باز می‌پذیریم.

دیدگاه بگذارید

برای **پررنگ**، *مورب*، `کد` و لینک از Markdown استفاده کنید. لینک‌ها nofollow هستند.

پنج رقم داخل تصویر را وارد کنید. اعداد فارسی و انگلیسی پذیرفته می‌شوند.

تصویر کد امنیتی پنج‌رقمی

در حال دریافت کد امنیتی…

مهلت کد تمام شد. روی «کد جدید» بزنید.