Praktický workshop pro spuštění jazykových modelů na vašem počítači a vytváření inteligentních aplikací s Foundry Local a Microsoft Agent Framework.
Co je Foundry Local? Foundry Local je lehké runtime, které vám umožní stáhnout, spravovat a obsluhovat jazykové modely zcela na vašem hardwaru. Nabízí OpenAI-kompatibilní API, takže se může připojit jakýkoliv nástroj či SDK, které umí OpenAI – není potřeba žádný cloudový účet.
Arabština | Bengálština | Bulharština | Barmština (Myanmar) | Čínština (zjednodušená) | Čínština (tradiční, Hongkong) | Čínština (tradiční, Macao) | Čínština (tradiční, Tchaj-wan) | Chorvatština | Čeština | Dánština | Nizozemština | Estonština | Finština | Francouzština | Němčina | Řečtina | Hebrejština | Hindština | Maďarština | Indonéština | italština | Japonština | Kannadština | Khmer | Korejština | Litevština | Malajština | Malajalámština | Maráthština | Nepálština | Nigerijská pidžinština | Norština | Perština (Farsi) | Polština | Portugalština (Brazílie) | Portugalština (Portugalsko) | Paňdžábština (Gurmukhí) | Rumunština | Ruština | Srbština (cyrilice) | Slovenština | Slovinština | Španělština | Svahilština | Švédština | Tagalog (filipínština) | Tamilština | Telugština | Thajština | Turečtina | Ukrajinština | Urdu | Vietnamština
Raději klonovat lokálně?
Tento repozitář obsahuje přes 50 jazykových překladů, což výrazně zvětšuje velikost ke stažení. Pro klonování bez překladů použijte 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"To vám poskytne vše potřebné pro dokončení kurzu s mnohem rychlejším stažením.
Na konci tohoto workshopu budete umět:
| # | Cíl |
|---|---|
| 1 | Nainstalovat Foundry Local a spravovat modely přes CLI |
| 2 | Ovládnout Foundry Local SDK API pro programové řízení modelů |
| 3 | Připojit se k lokálnímu inference serveru pomocí SDK pro Python, JavaScript a C# |
| 4 | Vytvořit pipeline pro Retrieval-Augmented Generation (RAG), která zakládá odpovědi na vlastních datech |
| 5 | Vytvářet AI agenty s přetrvávajícími instrukcemi a personami |
| 6 | Orchestrace vícero-agentních workflow s zpětnými vazbami |
| 7 | Prozkoumat produkční závěrečnou aplikaci – Zava Creative Writer |
| 8 | Vytvořit evaluační rámce s golden datasets a hodnocením LLM-as-judge |
| 9 | Přepisovat zvuk pomocí Whisper – převod řeči na text přímo na zařízení pomocí Foundry Local SDK |
| 10 | Kompilovat a spouštět vlastní nebo Hugging Face modely s ONNX Runtime GenAI a Foundry Local |
| 11 | Umožnit lokálním modelům volat externí funkce pomocí vzoru tool-calling |
| 12 | Vytvořit prohlížečové uživatelské rozhraní pro Zava Creative Writer s real-time streamováním |
| Požadavek | Detail |
|---|---|
| Hardware | Minimálně 8 GB RAM (doporučeno 16 GB); CPU s AVX2 podporou nebo podporovaná GPU |
| Operační systém | Windows 10/11 (x64/ARM), Windows Server 2025 nebo macOS 13+ |
| Foundry Local CLI | Instalujte přes winget install Microsoft.FoundryLocal (Windows) nebo brew tap microsoft/foundrylocal && brew install foundrylocal (macOS). Podrobnosti viz průvodce začátkem. |
| Runtime jazyka | Python 3.9+ a/nebo .NET 9.0+ a/nebo Node.js 18+ |
| Git | Pro klonování tohoto repozitáře |
# 1. Naklonujte repozitář
git clone https://github.com/microsoft-foundry/foundry-local-lab.git
cd foundry-local-lab
# 2. Ověřte, zda je nainstalován Foundry Local
foundry model list # Vypsat dostupné modely
foundry model run phi-3.5-mini # Spustit interaktivní chat
# 3. Vyberte si jazykovou cestu (viz část 2 laboratoř pro kompletní nastavení)| Jazyk | Rychlý start |
|---|---|
| Python | cd python && pip install -r requirements.txt && python foundry-local.py |
| C# | cd csharp && dotnet run |
| JavaScript | cd javascript && npm install && node foundry-local.mjs |
Návod k laboratoři: labs/part1-getting-started.md
- Co je Foundry Local a jak funguje
- Instalace CLI na Windows a macOS
- Prozkoumání modelů – výpis, stažení, spuštění
- Pochopení aliasů modelů a dynamických portů
Návod k laboratoři: labs/part2-foundry-local-sdk.md
- Proč použít SDK místo CLI pro vývoj aplikací
- Kompletní referenční API SDK pro Python, JavaScript a C#
- Správa služby, prohlížení katalogu, životní cyklus modelů (stažení, načtení, uvolnění)
- Vzory rychlého startu: Python konstruktor bootstrap, JavaScript
init(), C#CreateAsync() - Metadata
FoundryModelInfo, aliasy a výběr modelu optimalizovaného pro hardware
Návod k laboratoři: labs/part3-sdk-and-apis.md
- Připojení k Foundry Local pomocí Pythonu, JavaScriptu a C#
- Používání Foundry Local SDK pro programové řízení služby
- Streamování chatových odpovědí přes OpenAI-kompatibilní API
- Přehled metod SDK pro každý jazyk
Ukázky kódu:
| Jazyk | Soubor | Popis |
|---|---|---|
| Python | python/foundry-local.py |
Základní streamovaný chat |
| C# | csharp/BasicChat.cs |
Streamovaný chat s .NET |
| JavaScript | javascript/foundry-local.mjs |
Streamovaný chat s Node.js |
Návod k laboratoři: labs/part4-rag-fundamentals.md
- Co je RAG a proč je důležitý
- Budování in-memory znalostní báze
- Obrácení klíčových slov a skórování overlapu
- Skládání založených systémových promptů
- Spuštění kompletní RAG pipeline přímo na zařízení
Ukázky kódu:
| Jazyk | Soubor |
|---|---|
| Python | python/foundry-local-rag.py |
| C# | csharp/RagPipeline.cs |
| JavaScript | javascript/foundry-local-rag.mjs |
Návod k laboratoři: labs/part5-single-agents.md
- Co je AI agent (oproti běžnému volání LLM)
- Vzor
ChatAgenta Microsoft Agent Framework - Systémové instrukce, persony a vícetahové konverzace
- Strukturovaný výstup (JSON) od agentů
Ukázky kódu:
| Jazyk | Soubor | Popis |
|---|---|---|
| Python | python/foundry-local-with-agf.py |
Jednotlivý agent s Agent Framework |
| C# | csharp/SingleAgent.cs |
Jednotlivý agent (vzor ChatAgent) |
| JavaScript | javascript/foundry-local-with-agent.mjs |
Jednotlivý agent (vzor ChatAgent) |
Návod k laboratoři: labs/part6-multi-agent-workflows.md
- Víceagentní pipeline: Výzkumník → Spisovatel → Editor
- Sekvenční orchestrace a zpětné smyčky
- Sdílená konfigurace a strukturované předávání
- Navržení vlastního víceagentního workflow
Ukázky kódu:
| Jazyk | Soubor | Popis |
|---|---|---|
| Python | python/foundry-local-multi-agent.py |
Pipeline tří agentů |
| C# | csharp/MultiAgent.cs |
Pipeline tří agentů |
| JavaScript | javascript/foundry-local-multi-agent.mjs |
Pipeline tří agentů |
Návod k laboratoři: labs/part7-zava-creative-writer.md
- Produkční multi-agentní aplikace se 4 specializovanými agenty
- Sekvenční pipeline se zpětnovazební smyčkou řízenou hodnotitelem
- Streaming výstupu, vyhledávání v katalogu produktů, strukturované JSON předávání
- Plná implementace v Pythonu (FastAPI), JavaScriptu (Node.js CLI) a C# (.NET konzole)
Ukázky kódu:
| Jazyk | Složka | Popis |
|---|---|---|
| Python | zava-creative-writer-local/src/api/ |
FastAPI webová služba s orchestrátorem |
| JavaScript | zava-creative-writer-local/src/javascript/ |
Node.js CLI aplikace |
| C# | zava-creative-writer-local/src/csharp/ |
.NET 9 konzolová aplikace |
Návod k laboratoři: labs/part8-evaluation-led-development.md
- Vytvoření systematického evaluačního rámce pro AI agenty pomocí golden datasets
- Kontroly pravidly (délka, pokrytí klíčových slov, zakázané termíny) + hodnocení LLM-as-judge
- Porovnání variant promptů vedle sebe s agregovanými skóre
- Rozšíření vzoru Zava Editor agenta z časti 7 do offline testovacích sad
- Python, JavaScript a C# varianty
Ukázky kódu:
| Jazyk | Soubor | Popis |
|---|---|---|
| Python | python/foundry-local-eval.py |
Evaluační rámec |
| C# | csharp/AgentEvaluation.cs |
Evaluační rámec |
| JavaScript | javascript/foundry-local-eval.mjs |
Evaluační rámec |
Návod k laboratoři: labs/part9-whisper-voice-transcription.md
- Přepis řeči na text pomocí OpenAI Whisper spuštěného lokálně
- Zpracování audia s prioritou ochrany soukromí – audio nikdy neopouští vaše zařízení
- Python, JavaScript a C# varianty s
client.audio.transcriptions.create()(Python/JS) aAudioClient.TranscribeAudioAsync()(C#) - Obsahuje ukázková zvuková data se zava tématikou pro praktické cvičení
Ukázky kódu:
| Jazyk | Soubor | Popis |
|---|---|---|
| Python | python/foundry-local-whisper.py |
Přepis hlasu pomocí Whisper |
| C# | csharp/WhisperTranscription.cs |
Přepis hlasu pomocí Whisper |
| JavaScript | javascript/foundry-local-whisper.mjs |
Přepis hlasu pomocí Whisper |
Poznámka: Tento workshop používá Foundry Local SDK k programovému stažení a načtení modelu Whisper, poté odesílá audio na lokální endpoint kompatibilní s OpenAI pro přepis. Model Whisper (
whisper) je uveden v katalogu Foundry Local a běží kompletně lokálně – nejsou potřeba žádné klíče cloud API ani přístup k síti.
Návod k workshopu: labs/part10-custom-models.md
- Kompilace modelů Hugging Face do optimalizovaného ONNX formátu pomocí ONNX Runtime GenAI nástroje pro tvorbu modelů
- Kompilace specifická podle hardwaru (CPU, NVIDIA GPU, DirectML, WebGPU) a kvantizace (int4, fp16, bf16)
- Vytváření konfiguračních souborů chat šablon pro Foundry Local
- Přidání zkompilovaných modelů do cache Foundry Local
- Spouštění vlastních modelů pomocí CLI, REST API a OpenAI SDK
- Referenční příklad: kompletní kompilace Qwen/Qwen3-0.6B
Návod k workshopu: labs/part11-tool-calling.md
- Umožnit lokálním modelům volat externí funkce (volání nástrojů/funkcí)
- Definice schémat nástrojů pomocí formátu volání funkcí OpenAI
- Řízení víceturné konverzace s voláním nástrojů
- Lokální vykonávání volání nástrojů a vracení výsledků modelu
- Výběr správného modelu pro scénáře volání nástrojů (Qwen 2.5, Phi-4-mini)
- Použití nativního
ChatClientSDK pro volání nástrojů (JavaScript)
Ukázky kódu:
| Jazyk | Soubor | Popis |
|---|---|---|
| Python | python/foundry-local-tool-calling.py |
Volání nástrojů s počasím/populací |
| C# | csharp/ToolCalling.cs |
Volání nástrojů s .NET |
| JavaScript | javascript/foundry-local-tool-calling.mjs |
Volání nástrojů s ChatClient |
Návod k workshopu: labs/part12-zava-ui.md
- Přidání webového frontendu pro Zava Creative Writer
- Podávání sdíleného UI z Pythonu (FastAPI), JavaScriptu (Node.js HTTP) a C# (ASP.NET Core)
- Spotřeba streamovaného NDJSON v prohlížeči pomocí Fetch API a ReadableStream
- Živé odznaky stavu agentů a streamování textu článků v reálném čase
Kód (sdílené UI):
| Soubor | Popis |
|---|---|
zava-creative-writer-local/ui/index.html |
Rozvržení stránky |
zava-creative-writer-local/ui/style.css |
Stylování |
zava-creative-writer-local/ui/app.js |
Čtečka streamu a logika aktualizace DOM |
Backendové doplňky:
| Jazyk | Soubor | Popis |
|---|---|---|
| Python | zava-creative-writer-local/src/api/main.py |
Aktualizováno pro podávání statického UI |
| JavaScript | zava-creative-writer-local/src/javascript/server.mjs |
Nový HTTP server obalující orchestrátor |
| C# | zava-creative-writer-local/src/csharp-web/Program.cs |
Nový ASP.NET Core minimal API projekt |
Návod k workshopu: labs/part13-workshop-complete.md
- Shrnutí všeho, co jste vybudovali ve všech 12 částech
- Další nápady pro rozšíření vašich aplikací
- Odkazy na zdroje a dokumentaci
├── 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
| Zdroj | Odkaz |
|---|---|
| Web Foundry Local | foundrylocal.ai |
| Katalog modelů | foundrylocal.ai/models |
| Foundry Local GitHub | github.com/microsoft/foundry-local |
| Průvodce začátkem | Microsoft Learn - Foundry Local |
| Dokumentace Foundry Local SDK | Microsoft Learn - SDK Reference |
| Microsoft Agent Framework | Microsoft Learn - Agent Framework |
| OpenAI Whisper | github.com/openai/whisper |
| ONNX Runtime GenAI | github.com/microsoft/onnxruntime-genai |
Tento workshopový materiál je poskytován pro vzdělávací účely.
Příjemné tvoření! 🚀
Prohlášení o vyloučení odpovědnosti:
Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. Přestože usilujeme o přesnost, mějte na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro zásadní informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.