[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699SV6MRCDPDQF6A4FWJ0QJ":3,"skill-same:01M699SV6MRCDPDQF6A4FWJ0QJ":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},"01M699SV6MRCDPDQF6A4FWJ0QJ","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\u002Fro\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# Crearea agenților AI locali cu Foundry Local și Qwen\n\n> Competență companion pentru [Lecția 17 – Crearea agenților AI locali](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002FREADME.md).\n> Folosește-o pentru a ajuta un cursant să construiască un agent care raționează, apelează instrumente și caută\n> documentație complet pe propriul său calculator — fără inferență în cloud. Fundamentează fiecare\n> recomandare pe conținutul lecției și pe caietul rulabil.\n\n## Declanșatoare\n\nActivează această competență când un cursant dorește să:\n- Ruleze un agent **complet pe dispozitiv** pentru motive de confidențialitate, cost sau offline.\n- Servească un model local cu **Foundry Local** și se conecteze prin endpoint-ul compatibil OpenAI.\n- Folosească un model de **apelare a funcțiilor Qwen** pentru a genera apeluri de instrumente locale fiabile.\n- Adauge **RAG local** (Chroma) sau un **server MCP local**.\n- Proiecteze o strategie **hibridă** de rutare local\u002Fcloud.\n\n## Model mental de bază\n\nUn SLM face compromis între amploare și confidențialitate, cost și operare offline. Strategia câștigătoare:\n**lasă SLM-ul să orchestreze și lasă instrumentele să facă munca grea.** Modelul\nnu trebuie să *cunoască* codul — trebuie să știe când să apeleze\n`read_file` și `search_docs`. Aceasta valorifică punctul forte al unui SLM (decizii limitate\nprecum selecția instrumentelor) și evită punctul său slab (cunoștințe largi, raționament multi-hop lung).\n\n\n## De ce aceste elemente specifice\n\n- **Foundry Local** expune un **endpoint HTTP compatibil OpenAI**, astfel încât codul agentului cloud se transferă schimbând doar `base_url` (și folosind o cheie API locală fictivă). De asemenea, selectează automat cea mai bună variantă (CPU\u002FGPU\u002FNPU) pentru mașină.\n- Modelele **Qwen** sunt antrenate pentru apelarea funcțiilor și emit apeluri de instrumente bine formate constant — acesta este ceea ce transformă un model *chat* local într-un *agent* local.\n- **Chroma** rulează în proces și stochează vectori pe disc, astfel întregul flux RAG (embed → stocare → regăsire → raționament) rămâne local.\n- **MCP** este un transport, nu un serviciu cloud: un server MCP poate rula local peste `stdio`.\n\n## Elemente esențiale pentru configurare\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)  # substituent local\n```\n\n~8 GB RAM este un minim realist; un GPU\u002FNPU ajută, dar nu este necesar.\n\n## Modele cheie de replicat\n\nIndică cursantului caietul\n[`17-local-agent-foundry-local.ipynb`](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002Fcode_samples\u002F17-local-agent-foundry-local.ipynb):\n\n- **Instrumente izolate**: fiecare instrument de fișiere rezolvă căile și respinge orice este în afara unui singur director rădăcină de proiect — chiar și local, un instrument rulează cu permisiunile utilizatorului.\n- **Bucle de apelare a instrumentelor**: înregistrează instrumentele conform schemei OpenAI, execută instrumentele solicitate local, introduce rezultatele înapoi, repetă până la un răspuns final.\n- **RAG local**: inserează documente într-o colecție Chroma; `search_docs` returnează fragmente top-k.\n- **MCP local**: conectează-te la un server local peste `stdio`; limitează-l la un director de proiect și validează ieșirile.\n\n## Rutare hibridă (local ca unul dintre modele)\n\n| Situație | Unde rulează |\n|-----------|---------------|\n| Date sensibile \u002F offline | SLM local |\n| Sarcină simplă, limitată | SLM local (ieftin, rapid) |\n| Raționament multi-hop dificil pe date nesensibile | Model cloud |\n| Pană în cloud | SLM local (degradare grațioasă) |\n\nAceasta reflectă ideea de rutare a modelelor din Lecția 16, cu stația de lucru ca una\ndintre rutele disponibile. Preferă proiecte care cad înapoi pe local astfel încât agentul degradează\ncalitatea în loc să eșueze complet.\n\n## Măsuri de siguranță pentru asistent\n\n- Menține fiecare operație de fișier\u002Finstrument limitată la un director de proiect izolat.\n- Nu trimite cod sau date în cloud când scopul declarat al cursantului este confidențialitate\u002Foffline — păstrează tot fluxul local.\n- Stabilește așteptări realiste pentru calitatea SLM; bazează-te pe instrumente și RAG mai degrabă decât pe cunoștințele memorate ale modelului.\n- Observă că Lecția 17 nu are endpoint Foundry Responses, așa că acțiunea de testare rapidă în cloud nu se aplică — validează rulând caietul local.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Declinare a responsabilității**:\nAcest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). În timp ce ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un om. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care decurg din utilizarea acestei traduceri.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Crearea agenților AI locali cu Foundry Local și Qwen\n\n> Competență companion pentru [Lecția 17 – Crearea agenților AI locali](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002FREADME.md).\n> Folosește-o pentru a ajuta un cursant să construiască un agent care raționează, apelează instrumente și caută\n> documentație complet pe propriul său calculator — fără inferență în cloud. Fundamentează fiecare\n> recomandare pe conținutul lecției și pe caietul rulabil.\n\n## Declanșatoare\n\nActivează această competență când un cursant dorește să:\n- Ruleze un agent **complet pe dispozitiv** pentru motive de confidențialitate, cost sau offline.\n- Servească un model local cu **Foundry Local** și se conecteze prin endpoint-ul compatibil OpenAI.\n- Folosească un model de **apelare a funcțiilor Qwen** pentru a genera apeluri de instrumente locale fiabile.\n- Adauge **RAG local** (Chroma) sau un **server MCP local**.\n- Proiecteze o strategie **hibridă** de rutare local\u002Fcloud.\n\n## Model mental de bază\n\nUn SLM face compromis între amploare și confidențialitate, cost și operare offline. Strategia câștigătoare:\n**lasă SLM-ul să orchestreze și lasă instrumentele să facă munca grea.** Modelul\nnu trebuie să *cunoască* codul — trebuie să știe când să apeleze\n`read_file` și `search_docs`. Aceasta valorifică punctul forte al unui SLM (decizii limitate\nprecum selecția instrumentelor) și evită punctul său slab (cunoștințe largi, raționament multi-hop lung).\n\n\n## De ce aceste elemente specifice\n\n- **Foundry Local** expune un **endpoint HTTP compatibil OpenAI**, astfel încât codul agentului cloud se transferă schimbând doar `base_url` (și folosind o cheie API locală fictivă). De asemenea, selectează automat cea mai bună variantă (CPU\u002FGPU\u002FNPU) pentru mașină.\n- Modelele **Qwen** sunt antrenate pentru apelarea funcțiilor și emit apeluri de instrumente bine formate constant — acesta este ceea ce transformă un model *chat* local într-un *agent* local.\n- **Chroma** rulează în proces și stochează vectori pe disc, astfel întregul flux RAG (embed → stocare → regăsire → raționament) rămâne local.\n- **MCP** este un transport, nu un serviciu cloud: un server MCP poate rula local peste `stdio`.\n\n## Elemente esențiale pentru configurare\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)  # substituent local\n```\n\n~8 GB RAM este un minim realist; un GPU\u002FNPU ajută, dar nu este necesar.\n\n## Modele cheie de replicat\n\nIndică cursantului caietul\n[`17-local-agent-foundry-local.ipynb`](..\u002F..\u002F..\u002F17-creating-local-ai-agents\u002Fcode_samples\u002F17-local-agent-foundry-local.ipynb):\n\n- **Instrumente izolate**: fiecare instrument de fișiere rezolvă căile și respinge orice este în afara unui singur director rădăcină de proiect — chiar și local, un instrument rulează cu permisiunile utilizatorului.\n- **Bucle de apelare a instrumentelor**: înregistrează instrumentele conform schemei OpenAI, execută instrumentele solicitate local, introduce rezultatele înapoi, repetă până la un răspuns final.\n- **RAG local**: inserează documente într-o colecție Chroma; `search_docs` returnează fragmente top-k.\n- **MCP local**: conectează-te la un server local peste `stdio`; limitează-l la un director de proiect și validează ieșirile.\n\n## Rutare hibridă (local ca unul dintre modele)\n\n| Situație | Unde rulează |\n|-----------|---------------|\n| Date sensibile \u002F offline | SLM local |\n| Sarcină simplă, limitată | SLM local (ieftin, rapid) |\n| Raționament multi-hop dificil pe date nesensibile | Model cloud |\n| Pană în cloud | SLM local (degradare grațioasă) |\n\nAceasta reflectă ideea de rutare a modelelor din Lecția 16, cu stația de lucru ca una\ndintre rutele disponibile. Preferă proiecte care cad înapoi pe local astfel încât agentul degradează\ncalitatea în loc să eșueze complet.\n\n## Măsuri de siguranță pentru asistent\n\n- Menține fiecare operație de fișier\u002Finstrument limitată la un director de proiect izolat.\n- Nu trimite cod sau date în cloud când scopul declarat al cursantului este confidențialitate\u002Foffline — păstrează tot fluxul local.\n- Stabilește așteptări realiste pentru calitatea SLM; bazează-te pe instrumente și RAG mai degrabă decât pe cunoștințele memorate ale modelului.\n- Observă că Lecția 17 nu are endpoint Foundry Responses, așa că acțiunea de testare rapidă în cloud nu se aplică — validează rulând caietul local.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Declinare a responsabilității**:\nAcest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). În timp ce ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un om. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care decurg din utilizarea acestei traduceri.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"license":14},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fro\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\u002Fro\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"]