کارگاه Foundry Local - ساخت برنامه‌های هوش مصنوعی روی دستگاه

April 21, 2026 · View on GitHub

Foundry Local

کارگاه Foundry Local - ساخت برنامه‌های هوش مصنوعی روی دستگاه

یک کارگاه عملی برای اجرای مدل‌های زبانی روی دستگاه خودتان و ساخت برنامه‌های هوشمند با استفاده از Foundry Local و چارچوب عامل مایکروسافت.

Foundry Local چیست؟ Foundry Local یک محیط اجرایی سبک است که به شما امکان دانلود، مدیریت و ارائه مدل‌های زبانی را کاملاً روی سخت‌افزار خودتان می‌دهد. این سرویس یک API سازگار با OpenAI ارائه می‌کند تا هر ابزار یا SDK که با OpenAI صحبت می‌کند بتواند متصل شود - بدون نیاز به حساب ابری.

🌐 پشتیبانی چندزبانه

پشتیبانی از طریق GitHub Action (خودکار و همیشه به‌روز)

Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Khmer | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese

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

این مخزن شامل ترجمه‌های بیش از ۵۰ زبان است که حجم دانلود را به‌طور قابل توجهی افزایش می‌دهد. برای کلون بدون ترجمه‌ها، از sparse checkout استفاده کنید:

Bash / macOS / Linux:

git clone --filter=blob:none --sparse https://github.com/microsoft-foundry/Foundry-Local-Lab.git
cd Foundry-Local-Lab
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

CMD (ویندوز):

git clone --filter=blob:none --sparse https://github.com/microsoft-foundry/Foundry-Local-Lab.git
cd Foundry-Local-Lab
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

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


اهداف یادگیری

تا پایان این کارگاه قادر خواهید بود:

#هدف
1نصب Foundry Local و مدیریت مدل‌ها با CLI
2تسلط بر API SDK Foundry Local برای مدیریت برنامه‌نویسی مدل‌ها
3اتصال به سرور استنتاج محلی با استفاده از SDKهای Python، JavaScript، و C#
4ساخت یک خط لوله تولید تقویت‌شده با بازیابی (RAG) که پاسخ‌ها را در داده‌های خودتان مستند می‌کند
5ایجاد عوامل هوش مصنوعی با دستورالعمل‌ها و شخصیت‌های پایدار
6تنظیم گردش کار چندعاملی با حلقه‌های بازخورد
7بررسی یک اپلیکیشن نهایی تولید - نویسنده خلاق Zava
8ساخت چهارچوب‌های ارزیابی با داده‌های طلایی و امتیازدهی LLM به‌عنوان قاضی
9تبدیل صدا به متن با Whisper - گفتار به متن در دستگاه با استفاده از SDK Foundry Local
10کامپایل و اجرای مدل‌های سفارشی یا Hugging Face با ONNX Runtime GenAI و Foundry Local
11فعال‌سازی مدل‌های محلی برای فراخوانی توابع خارجی با الگوی فراخوانی ابزار
12ساخت رابط کاربری مبتنی بر مرورگر برای نویسنده خلاق Zava با پخش زنده زمان واقعی

پیش‌نیازها

نیازمندیجزئیات
سخت‌افزارحداقل ۸ گیگابایت رم (توصیه شده ۱۶ گیگابایت)؛ پردازنده پشتیبانی‌کننده AVX2 یا GPU پشتیبانی‌شده
سیستم عاملویندوز ۱۰/۱۱ (x64/ARM)، Windows Server 2025، یا مک‌او‌اس ۱۳+
CLI Foundry Localنصب از طریق winget install Microsoft.FoundryLocal (ویندوز) یا brew tap microsoft/foundrylocal && brew install foundrylocal (مک‌او‌اس). راهنمای شروع کار را ببینید.
زمان اجرا زبانPython 3.9+ و/یا .NET 9.0+ و/یا Node.js 18+
Gitبرای کلون کردن این مخزن

شروع کار

# ۱. مخزن را کلون کنید
git clone https://github.com/microsoft-foundry/foundry-local-lab.git
cd foundry-local-lab

# ۲. بررسی کنید که Foundry Local نصب شده باشد
foundry model list              # فهرست مدل‌های موجود
foundry model run phi-3.5-mini  # شروع یک گفتگوی تعاملی

# ۳. مسیر زبان خود را انتخاب کنید (برای تنظیم کامل به آزمایشگاه بخش ۲ مراجعه کنید)
زبانشروع سریع
Pythoncd python && pip install -r requirements.txt && python foundry-local.py
C#cd csharp && dotnet run
JavaScriptcd javascript && npm install && node foundry-local.mjs

بخش‌های کارگاه

بخش ۱: شروع کار با Foundry Local

راهنمای آزمایشگاه: labs/part1-getting-started.md

  • Foundry Local چیست و چگونه کار می‌کند
  • نصب CLI در ویندوز و مک‌او‌اس
  • بررسی مدل‌ها - فهرست، دانلود، اجرا
  • درک نام‌های مستعار مدل و پورت‌های دینامیک

بخش ۲: معرفی عمیق SDK Foundry Local

راهنمای آزمایشگاه: labs/part2-foundry-local-sdk.md

  • چرا برای توسعه برنامه از SDK به جای CLI استفاده کنیم
  • مرجع کامل API SDK برای Python، JavaScript و C#
  • مدیریت سرویس، مرور فهرست، چرخه عمر مدل (دانلود، بارگذاری، لغو بارگذاری)
  • الگوهای شروع سریع: بوت‌استرپ سازنده Python، init() در JavaScript، CreateAsync() در C#
  • اطلاعات FoundryModelInfo، نام‌های مستعار و انتخاب مدل بهینه برای سخت‌افزار

بخش ۳: SDKها و APIها

راهنمای آزمایشگاه: labs/part3-sdk-and-apis.md

  • اتصال به Foundry Local از Python، JavaScript و C#
  • استفاده از SDK Foundry Local برای مدیریت برنامه‌نویسی سرویس
  • پخش مکالمات چت از طریق API سازگار با OpenAI
  • مرجع متدهای SDK برای هر زبان

نمونه کدها:

زبانفایلتوضیح
Pythonpython/foundry-local.pyچت پایه با پخش زنده
C#csharp/BasicChat.csچت پخش زنده با .NET
JavaScriptjavascript/foundry-local.mjsچت پخش زنده با Node.js

بخش ۴: تولید تقویت‌شده با بازیابی (RAG)

راهنمای آزمایشگاه: labs/part4-rag-fundamentals.md

  • RAG چیست و چرا اهمیت دارد
  • ساخت پایگاه دانش در حافظه
  • بازیابی با هم‌پوشانی کلیدواژه‌ها و امتیازدهی
  • ترکیب درخواست‌های سیستمی مستند
  • اجرای کامل خط لوله RAG روی دستگاه

نمونه کدها:

زبانفایل
Pythonpython/foundry-local-rag.py
C#csharp/RagPipeline.cs
JavaScriptjavascript/foundry-local-rag.mjs

بخش ۵: ساخت عوامل هوش مصنوعی

راهنمای آزمایشگاه: labs/part5-single-agents.md

  • عوامل هوش مصنوعی چیستند (مقایسه با فراخوانی مستقیم LLM)
  • الگوی ChatAgent و چارچوب عامل مایکروسافت
  • دستورالعمل‌های سیستم، شخصیت‌ها و گفتگوهای چنددور
  • خروجی ساختاریافته (JSON) از عوامل

نمونه کدها:

زبانفایلتوضیح
Pythonpython/foundry-local-with-agf.pyعامل تکی با چارچوب عامل
C#csharp/SingleAgent.csعامل تکی (الگوی ChatAgent)
JavaScriptjavascript/foundry-local-with-agent.mjsعامل تکی (الگوی ChatAgent)

بخش ۶: گردش کار چندعاملی

راهنمای آزمایشگاه: labs/part6-multi-agent-workflows.md

  • خطوط لوله چندعاملی: پژوهشگر → نویسنده → ویرایشگر
  • ارکستراسیون ترتیبی و حلقه‌های بازخورد
  • پیکربندی مشترک و تحویل ساختاریافته
  • طراحی گردش کار چندعاملی خودتان

نمونه کدها:

زبانفایلتوضیح
Pythonpython/foundry-local-multi-agent.pyخط لوله سه عاملی
C#csharp/MultiAgent.csخط لوله سه عاملی
JavaScriptjavascript/foundry-local-multi-agent.mjsخط لوله سه عاملی

بخش ۷: نویسنده خلاق Zava - اپلیکیشن نهایی

راهنمای آزمایشگاه: labs/part7-zava-creative-writer.md

  • یک اپ تولیدی چندعاملی با ۴ عامل تخصصی
  • خط لوله ترتیبی با حلقه‌های بازخورد هدایت‌شده توسط ارزیاب
  • خروجی پخش زنده، جستجوی کاتالوگ محصول، تحویل ساختاریافته JSON
  • پیاده‌سازی کامل در Python (FastAPI)، JavaScript (Node.js CLI)، و C# (.NET کنسول)

نمونه کدها:

زباندایرکتوریتوضیح
Pythonzava-creative-writer-local/src/api/سرویس وب FastAPI با ارکستر
JavaScriptzava-creative-writer-local/src/javascript/اپلیکیشن CLI Node.js
C#zava-creative-writer-local/src/csharp/اپلیکیشن کنسول .NET 9

بخش ۸: توسعه مبتنی بر ارزیابی

راهنمای آزمایشگاه: labs/part8-evaluation-led-development.md

  • ساخت چارچوب ارزیابی سیستماتیک برای عوامل هوش مصنوعی با استفاده از داده‌های طلایی
  • بررسی‌های مبتنی بر قاعده (طول، پوشش کلیدواژه، اصطلاحات ممنوعه) + امتیازدهی LLM به‌عنوان قاضی
  • مقایسه کنار هم نسخه‌های درخواست با کارت‌های امتیاز تجمیعی
  • گسترش الگوی عامل ویرایشگر Zava از بخش ۷ به مجموعه آزمایش‌های آفلاین
  • مسیرهای Python، JavaScript و C#

نمونه کدها:

زبانفایلتوضیح
Pythonpython/foundry-local-eval.pyچارچوب ارزیابی
C#csharp/AgentEvaluation.csچارچوب ارزیابی
JavaScriptjavascript/foundry-local-eval.mjsچارچوب ارزیابی

بخش ۹: تبدیل صوت به متن با Whisper

راهنمای آزمایشگاه: labs/part9-whisper-voice-transcription.md

  • رونویسی گفتار به متن با استفاده از OpenAI Whisper که به صورت محلی اجرا می‌شود
  • پردازش صوتی با اولویت حفظ حریم خصوصی – صدا هرگز دستگاه شما را ترک نمی‌کند
  • مسیرهای پایتون، جاوااسکریپت و C# با client.audio.transcriptions.create() (پایتون/JS) و AudioClient.TranscribeAudioAsync() (C#)
  • شامل فایل‌های نمونه صوتی با تم Zava برای تمرین عملی

نمونه‌های کد:

زبانفایلتوضیحات
Pythonpython/foundry-local-whisper.pyرونویسی صوتی Whisper
C#csharp/WhisperTranscription.csرونویسی صوتی Whisper
JavaScriptjavascript/foundry-local-whisper.mjsرونویسی صوتی Whisper

توجه: این آزمایشگاه از Foundry Local SDK برای دانلود و بارگذاری برنامه‌ای مدل Whisper استفاده می‌کند، سپس صدا را به نقطه پایانی سازگار با OpenAI محلی برای رونویسی ارسال می‌کند. مدل Whisper (whisper) در فهرست Foundry Local فهرست شده و کاملاً روی دستگاه اجرا می‌شود – کلید API ابری یا دسترسی به شبکه نیاز ندارد.


بخش ۱۰: استفاده از مدل‌های سفارشی یا Hugging Face

راهنمای آزمایشگاه: labs/part10-custom-models.md

  • کامپایل مدل‌های Hugging Face به فرمت بهینه ONNX با استفاده از سازنده مدل ONNX Runtime GenAI
  • کامپایل سخت‌افزاری مخصوص (CPU، کارت گرافیک NVIDIA، DirectML، WebGPU) و کمّی‌سازی (int4، fp16، bf16)
  • ایجاد فایل‌های پیکربندی قالب گفتگوی Foundry Local
  • افزودن مدل‌های کامپایل‌شده به حافظه کش Foundry Local
  • اجرای مدل‌های سفارشی از طریق CLI، REST API، و OpenAI SDK
  • نمونه مرجع: کامپایل کامل Qwen/Qwen3-0.6B

بخش ۱۱: فراخوانی ابزار با مدل‌های محلی

راهنمای آزمایشگاه: labs/part11-tool-calling.md

  • فعال‌سازی مدل‌های محلی برای فراخوانی توابع خارجی (فراخوانی ابزار/تابع)
  • تعریف طرح‌بندی ابزارها با استفاده از قالب فراخوانی تابع OpenAI
  • مدیریت جریان مکالمه چندمرحله‌ای فراخوانی ابزار
  • اجرای فراخوانی ابزار به صورت محلی و بازگرداندن نتایج به مدل
  • انتخاب مدل مناسب برای سناریوهای فراخوانی ابزار (Qwen 2.5، Phi-4-mini)
  • استفاده از ChatClient بومی SDK برای فراخوانی ابزار (جاوااسکریپت)

نمونه‌های کد:

زبانفایلتوضیحات
Pythonpython/foundry-local-tool-calling.pyفراخوانی ابزار با ابزارهای هواشناسی/جمعیت
C#csharp/ToolCalling.csفراخوانی ابزار با .NET
JavaScriptjavascript/foundry-local-tool-calling.mjsفراخوانی ابزار با ChatClient

بخش ۱۲: ساخت رابط کاربری وب برای نویسنده خلاق Zava

راهنمای آزمایشگاه: labs/part12-zava-ui.md

  • افزودن یک رابط کاربری مرورگری به نویسنده خلاق Zava
  • ارائه رابط کاربری مشترک از طریق پایتون (FastAPI)، جاوااسکریپت (Node.js HTTP)، و C# (ASP.NET Core)
  • مصرف NDJSON جریان‌یافته در مرورگر با Fetch API و ReadableStream
  • نشان‌گر وضعیت عامل زنده و پخش زنده متن مقاله

کد (رابط کاربری مشترک):

فایلتوضیحات
zava-creative-writer-local/ui/index.htmlطرح صفحه
zava-creative-writer-local/ui/style.cssاستایل‌دهی
zava-creative-writer-local/ui/app.jsخواننده جریان و منطق به‌روزرسانی DOM

افزودنی‌های بک‌اند:

زبانفایلتوضیحات
Pythonzava-creative-writer-local/src/api/main.pyبه‌روزرسانی برای ارائه UI ایستا
JavaScriptzava-creative-writer-local/src/javascript/server.mjsسرور HTTP جدید که هماهنگ‌کننده را پوشش می‌دهد
C#zava-creative-writer-local/src/csharp-web/Program.csپروژه جدید API مینیمال ASP.NET Core

بخش ۱۳: پایان کارگاه

راهنمای آزمایشگاه: labs/part13-workshop-complete.md

  • خلاصه‌ای از همه چیزهایی که در ۱۲ بخش ساخته‌اید
  • ایده‌های بیشتر برای گسترش برنامه‌های شما
  • لینک به منابع و مستندات

ساختار پروژه

├── python/                        # Python examples
│   ├── foundry-local.py           # Basic chat
│   ├── foundry-local-with-agf.py  # Single agent (AGF)
│   ├── foundry-local-rag.py       # RAG pipeline
│   ├── foundry-local-multi-agent.py # Multi-agent workflow
│   ├── foundry-local-eval.py      # Agent evaluation framework
│   ├── foundry-local-whisper.py   # Whisper voice transcription
│   ├── foundry-local-tool-calling.py # Tool/function calling
│   └── requirements.txt
├── csharp/                        # C# examples
│   ├── Program.cs                 # CLI router (chat|rag|agent|multi|eval|whisper|toolcall)
│   ├── BasicChat.cs               # Basic chat
│   ├── RagPipeline.cs             # RAG pipeline
│   ├── SingleAgent.cs             # Single agent (ChatAgent pattern)
│   ├── MultiAgent.cs              # Multi-agent workflow
│   ├── AgentEvaluation.cs         # Agent evaluation framework
│   ├── WhisperTranscription.cs    # Whisper voice transcription
│   ├── ToolCalling.cs             # Tool/function calling
│   └── csharp.csproj
├── javascript/                    # JavaScript examples
│   ├── foundry-local.mjs          # Basic chat
│   ├── foundry-local-with-agent.mjs # Single agent
│   ├── foundry-local-rag.mjs     # RAG pipeline
│   ├── foundry-local-multi-agent.mjs # Multi-agent workflow
│   ├── foundry-local-eval.mjs     # Agent evaluation framework
│   ├── foundry-local-whisper.mjs  # Whisper voice transcription
│   ├── foundry-local-tool-calling.mjs # Tool/function calling
│   └── package.json
├── zava-creative-writer-local/ # Production multi-agent app
│   ├── ui/                        # Shared browser UI (Part 12)
│   │   ├── index.html             # Page layout
│   │   ├── style.css              # Styling
│   │   └── app.js                 # Stream reader and DOM updates
│   └── src/
│       ├── api/                   # Python FastAPI service
│       │   ├── main.py            # FastAPI server (serves UI)
│       │   ├── orchestrator.py    # Pipeline coordinator
│       │   ├── foundry_config.py  # Shared Foundry Local config
│       │   ├── requirements.txt
│       │   └── agents/            # Researcher, Product, Writer, Editor
│       ├── javascript/            # Node.js CLI and web server
│       │   ├── main.mjs           # CLI entry point
│       │   ├── server.mjs         # HTTP server with UI (Part 12)
│       │   ├── foundryConfig.mjs
│       │   └── package.json
│       ├── csharp/                # .NET 9 console app
│       │   ├── Program.cs
│       │   └── ZavaCreativeWriter.csproj
│       └── csharp-web/            # .NET 9 web API (Part 12)
│           ├── Program.cs
│           └── ZavaCreativeWriterWeb.csproj
├── labs/                          # Step-by-step lab guides
│   ├── part1-getting-started.md
│   ├── part2-foundry-local-sdk.md
│   ├── part3-sdk-and-apis.md
│   ├── part4-rag-fundamentals.md
│   ├── part5-single-agents.md
│   ├── part6-multi-agent-workflows.md
│   ├── part7-zava-creative-writer.md
│   ├── part8-evaluation-led-development.md
│   ├── part9-whisper-voice-transcription.md
│   ├── part10-custom-models.md
│   ├── part11-tool-calling.md
│   ├── part12-zava-ui.md
│   └── part13-workshop-complete.md
├── samples/
│   └── audio/                     # Zava-themed WAV files for Part 9
│       ├── generate_samples.py    # TTS script (pyttsx3) to create WAVs
│       └── README.md              # Sample descriptions
├── AGENTS.md                      # Coding agent instructions
├── package.json                   # Root devDependency (mermaid-cli)
├── LICENSE                        # MIT licence
└── README.md

منابع

منبعلینک
وب‌سایت Foundry Localfoundrylocal.ai
فهرست مدل‌هاfoundrylocal.ai/models
گیت‌هاب Foundry Localgithub.com/microsoft/foundry-local
راهنمای شروعMicrosoft Learn - Foundry Local
مرجع SDK Foundry LocalMicrosoft Learn - SDK Reference
چارچوب Agent مایکروسافتMicrosoft Learn - Agent Framework
OpenAI Whispergithub.com/openai/whisper
ONNX Runtime GenAIgithub.com/microsoft/onnxruntime-genai

مجوز

این مطالب کارگاه برای اهداف آموزشی ارائه شده است.


ساختن خوش بگذرد! 🚀


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