[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699GGVECSDGEESYGGMNEBWZ":3,"skill-same:01M699GGVECSDGEESYGGMNEBWZ":81},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":40,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M699GGVECSDGEESYGGMNEBWZ","local-ai-agents",null,"Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud\u002Flocal routing, and privacy, cost, and offline trade-offs.","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\u002Fhr\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,9,27,28,29],"ai agents","local ai agents","MCP","foundry","foundry local","microsoft foundry","2026-11-10 10:12:30",false,"---\nname: local-ai-agents\ndescription: Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud\u002Flocal routing, and privacy, cost, and offline trade-offs.\nlicense: MIT\n---\n# Kreiranje lokalnih AI agenata s Foundry Local i Qwen\n\n> Dopunska vještina za [Lekciju 17 – Kreiranje lokalnih AI agenata](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002FREADME.md).\n> Koristite je za pomoć učeniku u izgradnji agenta koji razmišlja, poziva alate i pretražuje\n> dokumentaciju u potpunosti na vlastitom računalu — bez cloud izvođenja. Svaku\n> preporuku utemeljite na sadržaju lekcije i izvršivoj bilježnici.\n\n## Okidači\n\nAktivirajte ovu vještinu kada učenik želi:\n- Pokrenuti agenta **potpuno na uređaju** iz privatnosti, troškova ili offline razloga.\n- Poslužiti model lokalno s **Foundry Local** i povezati se putem OpenAI-kompatibilnog endpointa.\n- Koristiti **Qwen model s pozivanjem funkcija** za pouzdane lokalne pozive alata.\n- Dodati **lokalni RAG** (Chroma) ili **lokalni MCP poslužitelj**.\n- Osmišljavati **hibridnu** strategiju usmjeravanja lokalno\u002Fcloud.\n\n## Osnovni mentalni model\n\nSLM mijenja širinu pokrivenosti za privatnost, troškove i offline rad. Pobjednička\nstrategija: **dopustiti SLM-u da orkestrira, a alatima da obavljaju glavni posao.** \nModel ne mora *znati* kodnu bazu — treba znati kada pozvati\n`read_file` i `search_docs`. Ovo igra u korist snage SLM-a (ograničene odluke\npoput odabira alata) i izbjegava njegovu slabost (široko znanje, dugi višestupanjski\nrezoniranje).\n\n## Zašto baš ovi dijelovi\n\n- **Foundry Local** pruža **OpenAI-kompatibilni HTTP endpoint**, pa se cloud kod agenta prenosi promjenom samo `base_url` (i korištenjem lokalnog privremenog API ključa). Također automatski bira najbolju verziju (CPU\u002FGPU\u002FNPU) za računalo.\n- **Qwen** modeli su trenirani za pozivanje funkcija i dosljedno ispisuju pravilno oblikovane pozive alata — to pretvara lokalni *chat* model u lokalnog *agenta*.\n- **Chroma** radi unutar procesa i pohranjuje vektore na disk, tako da cijeli RAG proces (ugrađivanje → pohrana → dohvati → rezoniranje) ostaje lokalno.\n- **MCP** je transport, ne cloud usluga: MCP poslužitelj može raditi lokalno preko `stdio`.\n\n## Osnove postavljanja\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-a je realan minimum; GPU\u002FNPU pomaže ali nije obavezan.\n\n## Ključni obrasci za reprodukciju\n\nUsmjerite učenika na bilježnicu\n[`17-local-agent-foundry-local.ipynb`](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002Fcode_samples\u002F17-local-agent-foundry-local.ipynb):\n\n- **Alati u pješčaniku**: svaki alat za datoteke rješava putove i odbacuje sve izvan jednog korijenskog direktorija projekta — čak i lokalno alat radi s korisničkim dozvolama.\n- **Petlja poziva alata**: registrirajte alate s OpenAI shemom alata, izvršavajte tražene alate lokalno, vraćajte rezultate, ponavljajte dok ne dođete do konačnog odgovora.\n- **Lokalni RAG**: ubacite dokumente u Chroma kolekciju; `search_docs` vraća top-k dijelove.\n- **Lokalni MCP**: spojite se na lokalni poslužitelj preko `stdio`; ograničite ga na direktorij projekta i potvrdite njegove izlaze.\n\n## Hibridno usmjeravanje (lokalno kao jedan od modela)\n\n| Situacija | Gdje se izvršava |\n|-----------|---------------|\n| Osjetljivi podaci \u002F offline | Lokalni SLM |\n| Jednostavan, ograničen zadatak | Lokalni SLM (jeftino, brzo) |\n| Teško višestupanjsko rezoniranje na neosjetljivim podacima | Cloud model |\n| Prekid cloud usluge | Lokalni SLM (nježno degradiranje) |\n\nOvo odražava ideju usmjeravanja modela iz Lekcije 16, s radnom stanicom kao jednim\nod pravaca. Preferirajte dizajne koji se vraćaju na lokalno tako da agent degradira u\nkvaliteti umjesto da potpuno zakaže.\n\n## Sigurnosne mjere za asistenta\n\n- Ograničite svaku operaciju datoteka\u002Falata na pješčanik direktorij projekta.\n- Ne šaljite kod ili podatke u cloud kada je cilj učenika privatnost\u002Foffline — cijeli proces držite lokalnim.\n- Postavite realna očekivanja za kvalitetu SLM-a; oslanjajte se na alate i RAG umjesto na memorirano znanje modela.\n- Imajte na umu da Lekcija 17 nema **niti jedan** Foundry Responses endpoint, pa cloud test radnje nisu primjenjive — provjerite pokretanjem bilježnice lokalno.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Napomena**:\nOvaj dokument je preveden korištenjem AI prevoditeljskog servisa [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Kreiranje lokalnih AI agenata s Foundry Local i Qwen\n\n> Dopunska vještina za [Lekciju 17 – Kreiranje lokalnih AI agenata](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002FREADME.md).\n> Koristite je za pomoć učeniku u izgradnji agenta koji razmišlja, poziva alate i pretražuje\n> dokumentaciju u potpunosti na vlastitom računalu — bez cloud izvođenja. Svaku\n> preporuku utemeljite na sadržaju lekcije i izvršivoj bilježnici.\n\n## Okidači\n\nAktivirajte ovu vještinu kada učenik želi:\n- Pokrenuti agenta **potpuno na uređaju** iz privatnosti, troškova ili offline razloga.\n- Poslužiti model lokalno s **Foundry Local** i povezati se putem OpenAI-kompatibilnog endpointa.\n- Koristiti **Qwen model s pozivanjem funkcija** za pouzdane lokalne pozive alata.\n- Dodati **lokalni RAG** (Chroma) ili **lokalni MCP poslužitelj**.\n- Osmišljavati **hibridnu** strategiju usmjeravanja lokalno\u002Fcloud.\n\n## Osnovni mentalni model\n\nSLM mijenja širinu pokrivenosti za privatnost, troškove i offline rad. Pobjednička\nstrategija: **dopustiti SLM-u da orkestrira, a alatima da obavljaju glavni posao.** \nModel ne mora *znati* kodnu bazu — treba znati kada pozvati\n`read_file` i `search_docs`. Ovo igra u korist snage SLM-a (ograničene odluke\npoput odabira alata) i izbjegava njegovu slabost (široko znanje, dugi višestupanjski\nrezoniranje).\n\n## Zašto baš ovi dijelovi\n\n- **Foundry Local** pruža **OpenAI-kompatibilni HTTP endpoint**, pa se cloud kod agenta prenosi promjenom samo `base_url` (i korištenjem lokalnog privremenog API ključa). Također automatski bira najbolju verziju (CPU\u002FGPU\u002FNPU) za računalo.\n- **Qwen** modeli su trenirani za pozivanje funkcija i dosljedno ispisuju pravilno oblikovane pozive alata — to pretvara lokalni *chat* model u lokalnog *agenta*.\n- **Chroma** radi unutar procesa i pohranjuje vektore na disk, tako da cijeli RAG proces (ugrađivanje → pohrana → dohvati → rezoniranje) ostaje lokalno.\n- **MCP** je transport, ne cloud usluga: MCP poslužitelj može raditi lokalno preko `stdio`.\n\n## Osnove postavljanja\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-a je realan minimum; GPU\u002FNPU pomaže ali nije obavezan.\n\n## Ključni obrasci za reprodukciju\n\nUsmjerite učenika na bilježnicu\n[`17-local-agent-foundry-local.ipynb`](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002Fcode_samples\u002F17-local-agent-foundry-local.ipynb):\n\n- **Alati u pješčaniku**: svaki alat za datoteke rješava putove i odbacuje sve izvan jednog korijenskog direktorija projekta — čak i lokalno alat radi s korisničkim dozvolama.\n- **Petlja poziva alata**: registrirajte alate s OpenAI shemom alata, izvršavajte tražene alate lokalno, vraćajte rezultate, ponavljajte dok ne dođete do konačnog odgovora.\n- **Lokalni RAG**: ubacite dokumente u Chroma kolekciju; `search_docs` vraća top-k dijelove.\n- **Lokalni MCP**: spojite se na lokalni poslužitelj preko `stdio`; ograničite ga na direktorij projekta i potvrdite njegove izlaze.\n\n## Hibridno usmjeravanje (lokalno kao jedan od modela)\n\n| Situacija | Gdje se izvršava |\n|-----------|---------------|\n| Osjetljivi podaci \u002F offline | Lokalni SLM |\n| Jednostavan, ograničen zadatak | Lokalni SLM (jeftino, brzo) |\n| Teško višestupanjsko rezoniranje na neosjetljivim podacima | Cloud model |\n| Prekid cloud usluge | Lokalni SLM (nježno degradiranje) |\n\nOvo odražava ideju usmjeravanja modela iz Lekcije 16, s radnom stanicom kao jednim\nod pravaca. Preferirajte dizajne koji se vraćaju na lokalno tako da agent degradira u\nkvaliteti umjesto da potpuno zakaže.\n\n## Sigurnosne mjere za asistenta\n\n- Ograničite svaku operaciju datoteka\u002Falata na pješčanik direktorij projekta.\n- Ne šaljite kod ili podatke u cloud kada je cilj učenika privatnost\u002Foffline — cijeli proces držite lokalnim.\n- Postavite realna očekivanja za kvalitetu SLM-a; oslanjajte se na alate i RAG umjesto na memorirano znanje modela.\n- Imajte na umu da Lekcija 17 nema **niti jedan** Foundry Responses endpoint, pa cloud test radnje nisu primjenjive — provjerite pokretanjem bilježnice lokalno.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Napomena**:\nOvaj dokument je preveden korištenjem AI prevoditeljskog servisa [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"license":15,"description":7},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fhr\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":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add microsoft\u002Fai-agents-for-beginners --skill local-ai-agents",{"tool":51,"command":52},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill local-ai-agents",{"tool":54,"command":55},"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\u002Fhr\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",true,[59,65,69,73,77],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"_meta.json","REFERENCE","参考文档",137,"https:\u002F\u002Fgithub.com\u002Fahat4pat-svg\u002Fjimi-skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-summarizer\u002F_meta.json",{"path":66,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":67,"sourceHtmlUrl":68},".clawhub\u002Forigin.json",150,"https:\u002F\u002Fgithub.com\u002Fahat4pat-svg\u002Fjimi-skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-summarizer\u002F.clawhub\u002Forigin.json",{"path":70,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":71,"sourceHtmlUrl":72},"examples\u002Fsample-output.md",4439,"https:\u002F\u002Fgithub.com\u002Fahat4pat-svg\u002Fjimi-skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-summarizer\u002Fexamples\u002Fsample-output.md",{"path":74,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":75,"sourceHtmlUrl":76},"package.json",1067,"https:\u002F\u002Fgithub.com\u002Fahat4pat-svg\u002Fjimi-skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-summarizer\u002Fpackage.json",{"path":78,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":79,"sourceHtmlUrl":80},"README.md",4543,"https:\u002F\u002Fgithub.com\u002Fahat4pat-svg\u002Fjimi-skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-summarizer\u002FREADME.md",[82,98,107,112,120,127],{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":95,"publishedAt":30},"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",[87,90],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[96,97],"testing","testing course samples",{"skillNo":99,"name":100,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":104,"publishedAt":30},"01M69A1XRB2SFHYRMEH0K08EKZ","microsoft-docs","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[103],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[105,9,106],"docs","microsoft docs",{"skillNo":108,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":30},"01M69A1VPZFJQ1HNGTZQ5P3WSC","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[],[24,25],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":30},"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",[],[119],"jupyter notebook",{"skillNo":121,"name":122,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":30},"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",[],[126],"deploying scalable agents",{"skillNo":128,"name":129,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":30},"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",[],[133],"azure openai to responses"]