Bengkel Foundry Local - Bina Aplikasi AI Pada Peranti

April 21, 2026 ยท View on GitHub

Foundry Local

Bengkel Foundry Local - Bina Aplikasi AI Pada Peranti

Satu bengkel amali untuk menjalankan model bahasa pada mesin anda sendiri dan membina aplikasi pintar dengan Foundry Local dan Microsoft Agent Framework.

Apakah Foundry Local? Foundry Local ialah runtime ringan yang membolehkan anda memuat turun, mengurus, dan menghidangkan model bahasa sepenuhnya pada perkakasan anda. Ia mendedahkan API serasi OpenAI supaya mana-mana alat atau SDK yang menggunakan OpenAI boleh disambungkan - tiada akaun awan diperlukan.

๐ŸŒ Sokongan Pelbagai Bahasa

Disokong melalui Tindakan GitHub (Automatik & Sentiasa Terkini)

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

Lebih suka Klon Secara Tempatan?

Repositori ini merangkumi lebih 50 terjemahan bahasa yang secara signifikan meningkatkan saiz muat turun. Untuk klon tanpa terjemahan, gunakan 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 (Windows):

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"

Ini memberikan anda segala yang diperlukan untuk menyelesaikan kursus dengan muat turun yang lebih pantas.


Objektif Pembelajaran

Menjelang akhir bengkel ini anda akan dapat:

#Objektif
1Pasang Foundry Local dan uruskan model menggunakan CLI
2Kuasai API Foundry Local SDK untuk pengurusan model secara programatik
3Sambungkan ke pelayan inferens tempatan menggunakan SDK Python, JavaScript, dan C#
4Bina saluran Penghasilan Ditambah Pencarian (RAG) yang kedudukan jawapan berdasarkan data anda sendiri
5Cipta ejen AI dengan arahan berterusan dan persona
6Orkestrasi aliran kerja multi-ejen dengan gelung maklum balas
7Terokai aplikasi capstone produksi - Zava Creative Writer
8Bina kerangka penilaian dengan set data emas dan penilaian LLM-sebagai-hakim
9Transkripsi audio dengan Whisper - pertuturan-ke-teks pada peranti menggunakan Foundry Local SDK
10Kompilasi dan jalankan model khusus atau Hugging Face dengan ONNX Runtime GenAI dan Foundry Local
11Benarkan model tempatan memanggil fungsi luaran dengan corak panggilan alat
12Bina UI berasaskan pelayar untuk Zava Creative Writer dengan penstriman masa nyata

Prasyarat

KeperluanPerincian
PerkakasanMinimum 8 GB RAM (16 GB disyorkan); CPU AVX2-mampu atau GPU yang disokong
Sistem PengendalianWindows 10/11 (x64/ARM), Windows Server 2025, atau macOS 13+
Foundry Local CLIPasang melalui winget install Microsoft.FoundryLocal (Windows) atau brew tap microsoft/foundrylocal && brew install foundrylocal (macOS). Lihat panduan mula untuk butiran.
Runtime BahasaPython 3.9+ dan/atau .NET 9.0+ dan/atau Node.js 18+
GitUntuk mengklon repositori ini

Memulakan

# 1. Klon repositori
git clone https://github.com/microsoft-foundry/foundry-local-lab.git
cd foundry-local-lab

# 2. Sahkan Foundry Local telah dipasang
foundry model list              # Senaraikan model yang ada
foundry model run phi-3.5-mini  # Mulakan sembang interaktif

# 3. Pilih laluan bahasa anda (rujuk makmal Bahagian 2 untuk tetapan penuh)
BahasaMula Cepat
Pythoncd python && pip install -r requirements.txt && python foundry-local.py
C#cd csharp && dotnet run
JavaScriptcd javascript && npm install && node foundry-local.mjs

Bahagian Bengkel

Bahagian 1: Memulakan dengan Foundry Local

Panduan makmal: labs/part1-getting-started.md

  • Apakah Foundry Local dan bagaimana ia berfungsi
  • Memasang CLI pada Windows dan macOS
  • Meneroka model - senarai, muat turun, jalankan
  • Memahami alias model dan port dinamik

Bahagian 2: Penyelaman Mendalam Foundry Local SDK

Panduan makmal: labs/part2-foundry-local-sdk.md

  • Mengapa menggunakan SDK berbanding CLI untuk pembangunan aplikasi
  • Rujukan penuh API SDK untuk Python, JavaScript, dan C#
  • Pengurusan perkhidmatan, melayari katalog, kitaran hidup model (muat turun, muat, nyahmuat)
  • Corak mula cepat: bootstrap konstruktor Python, init() JavaScript, CreateAsync() C#
  • Metadata FoundryModelInfo, alias, dan pemilihan model optima perkakasan

Bahagian 3: SDK dan API

Panduan makmal: labs/part3-sdk-and-apis.md

  • Menyambung ke Foundry Local dari Python, JavaScript, dan C#
  • Menggunakan Foundry Local SDK untuk mengurus perkhidmatan secara programatik
  • Penstriman penyelesaian sembang melalui API serasi OpenAI
  • Rujukan kaedah SDK untuk setiap bahasa

Contoh kod:

BahasaFailPenerangan
Pythonpython/foundry-local.pySembang penstriman asas
C#csharp/BasicChat.csSembang penstriman dengan .NET
JavaScriptjavascript/foundry-local.mjsSembang penstriman dengan Node.js

Bahagian 4: Penghasilan Ditambah Pencarian (RAG)

Panduan makmal: labs/part4-rag-fundamentals.md

  • Apakah RAG dan mengapa ia penting
  • Membina pangkalan pengetahuan dalam ingatan
  • Pencarian tumpang tindih kata kunci dengan pemarkahan
  • Menyusun arahan sistem berasaskan data
  • Menjalankan saluran RAG penuh pada peranti

Contoh kod:

BahasaFail
Pythonpython/foundry-local-rag.py
C#csharp/RagPipeline.cs
JavaScriptjavascript/foundry-local-rag.mjs

Bahagian 5: Membina Ejen AI

Panduan makmal: labs/part5-single-agents.md

  • Apakah ejen AI (berbanding panggilan LLM mentah)
  • Corak ChatAgent dan Microsoft Agent Framework
  • Arahan sistem, persona, dan perbualan berbilang giliran
  • Output berstruktur (JSON) daripada ejen

Contoh kod:

BahasaFailPenerangan
Pythonpython/foundry-local-with-agf.pyEjen tunggal dengan Agent Framework
C#csharp/SingleAgent.csEjen tunggal (corak ChatAgent)
JavaScriptjavascript/foundry-local-with-agent.mjsEjen tunggal (corak ChatAgent)

Bahagian 6: Aliran Kerja Multi-Ejen

Panduan makmal: labs/part6-multi-agent-workflows.md

  • Saluran multi-ejen: Penyelidik โ†’ Penulis โ†’ Penyunting
  • Orkestrasi berurutan dan gelung maklum balas
  • Konfigurasi berkongsi dan serah tangan berstruktur
  • Reka bentuk aliran kerja multi-ejen sendiri

Contoh kod:

BahasaFailPenerangan
Pythonpython/foundry-local-multi-agent.pySaluran tiga ejen
C#csharp/MultiAgent.csSaluran tiga ejen
JavaScriptjavascript/foundry-local-multi-agent.mjsSaluran tiga ejen

Bahagian 7: Zava Creative Writer - Aplikasi Capstone

Panduan makmal: labs/part7-zava-creative-writer.md

  • Aplikasi multi-ejen gaya produksi dengan 4 ejen khusus
  • Saluran berurutan dengan gelung maklum balas dipacu penilai
  • Output penstriman, carian katalog produk, serah tangan JSON berstruktur
  • Pelaksanaan penuh dalam Python (FastAPI), JavaScript (Node.js CLI), dan C# (konsol .NET)

Contoh kod:

BahasaDirektoriPenerangan
Pythonzava-creative-writer-local/src/api/Perkhidmatan web FastAPI dengan pengorkestrasi
JavaScriptzava-creative-writer-local/src/javascript/Aplikasi CLI Node.js
C#zava-creative-writer-local/src/csharp/Aplikasi konsol .NET 9

Bahagian 8: Pembangunan Berpandukan Penilaian

Panduan makmal: labs/part8-evaluation-led-development.md

  • Bina kerangka penilaian sistematik untuk ejen AI menggunakan set data emas
  • Semakan berasaskan peraturan (panjang, liputan kata kunci, istilah dilarang) + penilaian LLM-sebagai-hakim
  • Perbandingan sebaris varian arahan dengan skor agregat
  • Memperluas corak ejen Penyunting Zava dari Bahagian 7 ke suite ujian luar talian
  • Laluan Python, JavaScript, dan C#

Contoh kod:

BahasaFailPenerangan
Pythonpython/foundry-local-eval.pyKerangka penilaian
C#csharp/AgentEvaluation.csKerangka penilaian
JavaScriptjavascript/foundry-local-eval.mjsKerangka penilaian

Bahagian 9: Transkripsi Suara dengan Whisper

Panduan makmal: labs/part9-whisper-voice-transcription.md

  • Transkripsi ucapan ke teks menggunakan OpenAI Whisper yang dijalankan secara setempat
  • Pemprosesan audio berpandukan privasi - audio tidak pernah meninggalkan peranti anda
  • Jejak Python, JavaScript, dan C# dengan client.audio.transcriptions.create() (Python/JS) dan AudioClient.TranscribeAudioAsync() (C#)
  • Merangkumi fail audio contoh bertema Zava untuk latihan praktikal

Contoh kod:

BahasaFailPenerangan
Pythonpython/foundry-local-whisper.pyTranskripsi suara Whisper
C#csharp/WhisperTranscription.csTranskripsi suara Whisper
JavaScriptjavascript/foundry-local-whisper.mjsTranskripsi suara Whisper

Nota: Makmal ini menggunakan Foundry Local SDK untuk memuat turun dan memuatkan model Whisper secara program, kemudian menghantar audio ke titik akhir OpenAI yang serasi secara setempat untuk transkripsi. Model Whisper (whisper) disenaraikan dalam katalog Foundry Local dan dijalankan sepenuhnya pada peranti - tiada kunci API awan atau akses rangkaian diperlukan.


Bahagian 10: Menggunakan Model Tersuai atau Hugging Face

Panduan makmal: labs/part10-custom-models.md

  • Menyusun model Hugging Face ke format ONNX yang dioptimumkan menggunakan pembina model ONNX Runtime GenAI
  • Penyusunan khusus perkakasan (CPU, GPU NVIDIA, DirectML, WebGPU) dan kuantisasi (int4, fp16, bf16)
  • Membuat fail konfigurasi templat-bualan untuk Foundry Local
  • Menambah model yang disusun ke cache Foundry Local
  • Menjalankan model tersuai melalui CLI, REST API, dan OpenAI SDK
  • Contoh rujukan: penyusunan Qwen/Qwen3-0.6B dari awal hingga akhir

Bahagian 11: Panggilan Alat dengan Model Setempat

Panduan makmal: labs/part11-tool-calling.md

  • Membolehkan model setempat memanggil fungsi luaran (panggilan alat/fungsi)
  • Mendefinisikan skema alat menggunakan format panggilan fungsi OpenAI
  • Mengendalikan aliran perbualan panggilan alat berbilang giliran
  • Melaksanakan panggilan alat secara setempat dan mengembalikan keputusan kepada model
  • Memilih model yang tepat untuk senario panggilan alat (Qwen 2.5, Phi-4-mini)
  • Menggunakan ChatClient natif SDK untuk panggilan alat (JavaScript)

Contoh kod:

BahasaFailPenerangan
Pythonpython/foundry-local-tool-calling.pyPanggilan alat dengan alat cuaca/populasi
C#csharp/ToolCalling.csPanggilan alat dengan .NET
JavaScriptjavascript/foundry-local-tool-calling.mjsPanggilan alat dengan ChatClient

Bahagian 12: Membangunkan UI Web untuk Penulis Kreatif Zava

Panduan makmal: labs/part12-zava-ui.md

  • Menambah antaramuka hadapan berasaskan penyemak imbas untuk Penulis Kreatif Zava
  • Menyajikan UI dikongsi dari Python (FastAPI), JavaScript (Node.js HTTP), dan C# (ASP.NET Core)
  • Menggunakan streaming NDJSON di penyemak imbas dengan Fetch API dan ReadableStream
  • Lencana status agen langsung dan penstriman teks artikel masa nyata

Kod (UI dikongsi):

FailPenerangan
zava-creative-writer-local/ui/index.htmlSusun atur halaman
zava-creative-writer-local/ui/style.cssGaya
zava-creative-writer-local/ui/app.jsPembaca aliran dan logik kemaskini DOM

Penambahan backend:

BahasaFailPenerangan
Pythonzava-creative-writer-local/src/api/main.pyDikemas kini untuk menyajikan UI statik
JavaScriptzava-creative-writer-local/src/javascript/server.mjsPelayan HTTP baru membalut pengaturcara
C#zava-creative-writer-local/src/csharp-web/Program.csProjek API minimal ASP.NET Core baru

Bahagian 13: Bengkel Lengkap

Panduan makmal: labs/part13-workshop-complete.md

  • Ringkasan segala yang telah anda bina merentasi semua 12 bahagian
  • Idea lanjut untuk memperluas aplikasi anda
  • Pautan ke sumber dan dokumentasi

Struktur Projek

โ”œโ”€โ”€ 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

Sumber

SumberPautan
Laman web Foundry Localfoundrylocal.ai
Katalog modelfoundrylocal.ai/models
Foundry Local GitHubgithub.com/microsoft/foundry-local
Panduan permulaanMicrosoft Learn - Foundry Local
Rujukan SDK Foundry LocalMicrosoft Learn - SDK Reference
Rangka Kerja Ejen MicrosoftMicrosoft Learn - Agent Framework
OpenAI Whispergithub.com/openai/whisper
ONNX Runtime GenAIgithub.com/microsoft/onnxruntime-genai

Lesen

Bahan bengkel ini disediakan untuk tujuan pendidikan.


Selamat membina! ๐Ÿš€


Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidakakuratan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.