[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699PREEN1A474WCS482RKE5":3,"skill-same:01M699PREEN1A474WCS482RKE5":49},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":23,"frontMatter":24,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M699PREEN1A474WCS482RKE5","local-ai-agents",null,"microsoft\u002Fai-agents-for-beginners","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M6998ZK2275KMJE6Y5SEA2X2",79423,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fnl\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[],[18,19],"ai agents","local ai agents","2026-11-10 10:12:30",false,"---\nname: local-ai-agents\nlicense: MIT\n---\n# Lokale AI-agents maken met Foundry Local en Qwen\n\n> Bijbehorende vaardigheid voor [Les 17 – Lokale AI-agents maken](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002FREADME.md).\n> Gebruik het om een lerende te helpen een agent te bouwen die redeneert, tools aanroept en\n> documentatie doorzoekt volledig op hun eigen machine — geen cloud-inferentie. Baseer elke\n> aanbeveling op de lesinhoud en het uitvoerbare notitieboek.\n\n## Triggers\n\nActiveer deze vaardigheid wanneer een lerende wil:\n- Een agent **volledig on-device** draaien om privacy-, kosten- of offline-redenen.\n- Een model lokaal aanbieden met **Foundry Local** en verbinding maken via de OpenAI-compatibele endpoint.\n- Een **Qwen function-calling** model gebruiken om betrouwbare lokale tool-aanroepen te sturen.\n- **Lokale RAG** (Chroma) of een **lokale MCP-server** toevoegen.\n- Een **hybride** lokaal\u002Fcloud routeringsstrategie ontwerpen.\n\n## Kern mentale model\n\nEen SLM ruilt breedte in voor privacy, kosten en offline werking. De winnende\nstrategie: **laat de SLM orkestreren en laat tools het zware werk doen.** Het\nmodel hoeft de codebasis niet te *kennen* — het hoeft alleen te weten wanneer het\n`read_file` en `search_docs` moet aanroepen. Dat speelt in op de kracht van een SLM (begrensde beslissingen\nzoals tool-selectie) en maakt gebruik van zijn zwakte (brede kennis, lange multi-hop\nredenering).\n\n## Waarom juist deze onderdelen\n\n- **Foundry Local** biedt een **OpenAI-compatibele HTTP-endpoint** aan, zodat cloud agentcode overgezet kan worden door alleen `base_url` te wijzigen (en een lokale tijdelijke API-sleutel te gebruiken). Het selecteert ook automatisch de beste build (CPU\u002FGPU\u002FNPU) voor de machine.\n- **Qwen** modellen zijn getraind voor function calling en genereren consequent goed gevormde tool-aanroepen — dit verandert een lokaal *chat* model in een lokale *agent*.\n- **Chroma** draait in-process en slaat vectoren op schijf op, zodat de hele RAG-pijplijn (embed → opslaan → ophalen → redeneren) lokaal blijft.\n- **MCP** is een transport, geen cloudservice: een MCP-server kan lokaal draaien via `stdio`.\n\n## Belangrijke setup-essenties\n\n```bash\nfoundry model run qwen2.5-7b-instruct\nfoundry service status\n```\n\n```python\nfrom foundry_local import FoundryLocalManager\nfrom openai import OpenAI\n\nmanager = FoundryLocalManager(\"qwen2.5-7b-instruct\")\nclient = OpenAI(base_url=manager.endpoint, api_key=manager.api_key)  # local placeholder\n```\n\n~8 GB RAM is een realistisch minimum; een GPU\u002FNPU helpt maar is niet verplicht.\n\n## Belangrijke patronen om te reproduceren\n\nVerwijs de lerende naar het notitieboek\n[`17-local-agent-foundry-local.ipynb`](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002Fcode_samples\u002F17-local-agent-foundry-local.ipynb):\n\n- **Sandboxed tools**: elke bestandstool lost paden op en weigert alles buiten één project-root — zelfs lokaal draait een tool met de permissies van de gebruiker.\n- **Tool-aanroep lus**: registreer tools met het OpenAI tool-schema, voer de gevraagde tools lokaal uit, voed de resultaten terug, herhaal tot een definitief antwoord.\n- **Lokale RAG**: pas documenten toe in een Chroma-collectie; `search_docs` retourneert top-k fragmenten.\n- **Lokale MCP**: verbind met een lokale server via `stdio`; scopeer het naar een projectdirectory en valideer de outputs.\n\n## Hybride routering (lokaal als één van de modellen)\n\n| Situatie | Waar het draait |\n|-----------|---------------|\n| Gevoelige data \u002F offline | Lokale SLM |\n| Eenvoudige, begrensde taak | Lokale SLM (goedkoop, snel) |\n| Moeilijke multi-hop redenering op niet-gevoelige data | Cloud model |\n| Cloud uitval | Lokale SLM (gracieuze degradatie) |\n\nDit weerspiegelt het modelrouteringsidee uit Les 16, met de werkplek als één\nvan de routes. Geef voorkeur aan ontwerpen die terugvallen op lokaal zodat de agent degradeert in\nkwaliteit in plaats van volledig faalt.\n\n## Veilgheden voor de assistent\n\n- Houd elke bestand\u002Ftool operatie beperkt tot een sandboxed projectdirectory.\n- Stuur geen code of data naar de cloud wanneer het opgegeven doel van de lerende privacy\u002Foffline is — hou de hele pijplijn lokaal.\n- Stel realistische verwachtingen voor SLM-kwaliteit; leun op tools en RAG in plaats van op de gememoriseerde kennis van het model.\n- Let op dat Les 17 **geen** Foundry Responses-endpoint heeft, dus de cloud smoke-test actie niet van toepassing is — valideer door het notitieboek lokaal uit te voeren.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nDit document is vertaald met behulp van de AI vertaaldienst [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor kritieke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Lokale AI-agents maken met Foundry Local en Qwen\n\n> Bijbehorende vaardigheid voor [Les 17 – Lokale AI-agents maken](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002FREADME.md).\n> Gebruik het om een lerende te helpen een agent te bouwen die redeneert, tools aanroept en\n> documentatie doorzoekt volledig op hun eigen machine — geen cloud-inferentie. Baseer elke\n> aanbeveling op de lesinhoud en het uitvoerbare notitieboek.\n\n## Triggers\n\nActiveer deze vaardigheid wanneer een lerende wil:\n- Een agent **volledig on-device** draaien om privacy-, kosten- of offline-redenen.\n- Een model lokaal aanbieden met **Foundry Local** en verbinding maken via de OpenAI-compatibele endpoint.\n- Een **Qwen function-calling** model gebruiken om betrouwbare lokale tool-aanroepen te sturen.\n- **Lokale RAG** (Chroma) of een **lokale MCP-server** toevoegen.\n- Een **hybride** lokaal\u002Fcloud routeringsstrategie ontwerpen.\n\n## Kern mentale model\n\nEen SLM ruilt breedte in voor privacy, kosten en offline werking. De winnende\nstrategie: **laat de SLM orkestreren en laat tools het zware werk doen.** Het\nmodel hoeft de codebasis niet te *kennen* — het hoeft alleen te weten wanneer het\n`read_file` en `search_docs` moet aanroepen. Dat speelt in op de kracht van een SLM (begrensde beslissingen\nzoals tool-selectie) en maakt gebruik van zijn zwakte (brede kennis, lange multi-hop\nredenering).\n\n## Waarom juist deze onderdelen\n\n- **Foundry Local** biedt een **OpenAI-compatibele HTTP-endpoint** aan, zodat cloud agentcode overgezet kan worden door alleen `base_url` te wijzigen (en een lokale tijdelijke API-sleutel te gebruiken). Het selecteert ook automatisch de beste build (CPU\u002FGPU\u002FNPU) voor de machine.\n- **Qwen** modellen zijn getraind voor function calling en genereren consequent goed gevormde tool-aanroepen — dit verandert een lokaal *chat* model in een lokale *agent*.\n- **Chroma** draait in-process en slaat vectoren op schijf op, zodat de hele RAG-pijplijn (embed → opslaan → ophalen → redeneren) lokaal blijft.\n- **MCP** is een transport, geen cloudservice: een MCP-server kan lokaal draaien via `stdio`.\n\n## Belangrijke setup-essenties\n\n```bash\nfoundry model run qwen2.5-7b-instruct\nfoundry service status\n```\n\n```python\nfrom foundry_local import FoundryLocalManager\nfrom openai import OpenAI\n\nmanager = FoundryLocalManager(\"qwen2.5-7b-instruct\")\nclient = OpenAI(base_url=manager.endpoint, api_key=manager.api_key)  # local placeholder\n```\n\n~8 GB RAM is een realistisch minimum; een GPU\u002FNPU helpt maar is niet verplicht.\n\n## Belangrijke patronen om te reproduceren\n\nVerwijs de lerende naar het notitieboek\n[`17-local-agent-foundry-local.ipynb`](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002Fcode_samples\u002F17-local-agent-foundry-local.ipynb):\n\n- **Sandboxed tools**: elke bestandstool lost paden op en weigert alles buiten één project-root — zelfs lokaal draait een tool met de permissies van de gebruiker.\n- **Tool-aanroep lus**: registreer tools met het OpenAI tool-schema, voer de gevraagde tools lokaal uit, voed de resultaten terug, herhaal tot een definitief antwoord.\n- **Lokale RAG**: pas documenten toe in een Chroma-collectie; `search_docs` retourneert top-k fragmenten.\n- **Lokale MCP**: verbind met een lokale server via `stdio`; scopeer het naar een projectdirectory en valideer de outputs.\n\n## Hybride routering (lokaal als één van de modellen)\n\n| Situatie | Waar het draait |\n|-----------|---------------|\n| Gevoelige data \u002F offline | Lokale SLM |\n| Eenvoudige, begrensde taak | Lokale SLM (goedkoop, snel) |\n| Moeilijke multi-hop redenering op niet-gevoelige data | Cloud model |\n| Cloud uitval | Lokale SLM (gracieuze degradatie) |\n\nDit weerspiegelt het modelrouteringsidee uit Les 16, met de werkplek als één\nvan de routes. Geef voorkeur aan ontwerpen die terugvallen op lokaal zodat de agent degradeert in\nkwaliteit in plaats van volledig faalt.\n\n## Veilgheden voor de assistent\n\n- Houd elke bestand\u002Ftool operatie beperkt tot een sandboxed projectdirectory.\n- Stuur geen code of data naar de cloud wanneer het opgegeven doel van de lerende privacy\u002Foffline is — hou de hele pijplijn lokaal.\n- Stel realistische verwachtingen voor SLM-kwaliteit; leun op tools en RAG in plaats van op de gememoriseerde kennis van het model.\n- Let op dat Les 17 **geen** Foundry Responses-endpoint heeft, dus de cloud smoke-test actie niet van toepassing is — valideer door het notitieboek lokaal uit te voeren.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nDit document is vertaald met behulp van de AI vertaaldienst [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor kritieke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"license":14},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fnl\u002F.agents\u002Fskills\u002Flocal-ai-agents",26019,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners","https:\u002F\u002Faka.ms\u002Fai-agents-beginners","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-07 12:51:12",{"source":7,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add microsoft\u002Fai-agents-for-beginners --skill local-ai-agents",{"tool":41,"command":42},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill local-ai-agents",{"tool":44,"command":45},"pnpm","pnpm dlx skills add microsoft\u002Fai-agents-for-beginners --skill local-ai-agents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fnl\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",true,[],[50,68,79,84,92,99],{"skillNo":51,"name":52,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":53,"categories":54,"keywords":65,"publishedAt":20},"01M69A206TRZ8KK0CW0HYJF5V5","testing-course-samples","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[55,60],{"categoryNo":56,"categoryName":57,"taxonomyType":58,"taxonomyTypeDesc":59},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":61,"categoryName":62,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[66,67],"testing","testing course samples",{"skillNo":69,"name":70,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":76,"publishedAt":20},"01M69A1XRB2SFHYRMEH0K08EKZ","microsoft-docs","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[73],{"categoryNo":74,"categoryName":75,"taxonomyType":58,"taxonomyTypeDesc":59},"01JBSEEDCAT000000000000023","Skill与智能体开发",[77,8,78],"docs","microsoft docs",{"skillNo":80,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":20},"01M69A1VPZFJQ1HNGTZQ5P3WSC","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[],[18,19],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":20},"01M69A1S947N7MM6V9JF85S2E7","jupyter-notebook","當使用者要求建立、搭建或編輯 Jupyter 筆記本（`.ipynb`）用於實驗、探索或教學時使用；優先使用隨附範本並執行輔助腳本 `new_notebook.py` 來產生一個乾淨的起始筆記本。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fjupyter-notebook\u002FSKILL.md",[],[91],"jupyter notebook",{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":20},"01M69A1Q8EXPWKZSQK69V6WF22","deploying-scalable-agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fdeploying-scalable-agents\u002FSKILL.md",[],[98],"deploying scalable agents",{"skillNo":100,"name":101,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":20},"01M69A1MHZTH3RH9N8VYSYG74X","azure-openai-to-responses","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fazure-openai-to-responses\u002FSKILL.md",[],[105],"azure openai to responses"]