[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699EW4RSP64441MRNTV7DF4":3,"skill-same:01M699EW4RSP64441MRNTV7DF4":70},{"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":31,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M699EW4RSP64441MRNTV7DF4","testing-course-samples",null,"Use when asked to validate, test, smoke-test, or run the course's notebook and code samples against a live Microsoft Foundry \u002F Azure OpenAI configuration. Covers environment setup (.env, az login, packages), the scripts\u002Fvalidate-notebooks.ps1 runner, interpreting PASS\u002FFAIL results, and which lessons need extra resources (Azure AI Search, GitHub MCP, Foundry Local, Playwright).","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\u002Ffi\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[32,33,34,35,36,37,9,38,39,40],"testing","testing course samples","MCP","github","playwright","test","foundry","foundry local","microsoft foundry","2026-11-10 10:12:30",false,"---\nname: testing-course-samples\ndescription: \"Use when asked to validate, test, smoke-test, or run the course's notebook and code samples against a live Microsoft Foundry \u002F Azure OpenAI configuration. Covers environment setup (.env, az login, packages), the scripts\u002Fvalidate-notebooks.ps1 runner, interpreting PASS\u002FFAIL results, and which lessons need extra resources (Azure AI Search, GitHub MCP, Foundry Local, Playwright).\"\n---\n# Kurssinäytteiden testaaminen\n\nVarmista, että oppituntien muistiinpanot ja koodinäytteet toimivat live-\nMicrosoft Foundry \u002F Azure OpenAI -ympäristössä. Repossa on runner osoitteessa\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1), joka\nsuorittaa kaikki Python-muistiinpanot ilman käyttöliittymää ja tulostaa PASS\u002FFAIL-matriisin.\n\n## Milloin käyttää\n- \"Varmista, että kaikki muistiinpanot \u002F näytteet toimivat Azure-tilauksessani.\"\n- \"Tee savutesti kurssille päivitysten tai mallien vaihdon jälkeen.\"\n- \"Mitkä oppitunnit läpäisevät \u002F epäonnistuvat livenä?\"\n\nÄlä käytä tätä AI Smoke Test -GitHub-toiminnossa (joka validoi *asennetut*\nisännöidyt agentit — katso [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Tämä taito\nsuorittaa muistiinpanot paikallisesti.\n\n## Esivaatimukset (tarkista ensin)\n1. **Python 3.12+** kurssin riippuvuuksilla: `python -m pip install -r requirements.txt`\n   plus suoritin: `python -m pip install nbconvert ipykernel`.\n2. **`.env` repossa juuressa** (kopioi [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) vähintään:\n   - `AZURE_AI_PROJECT_ENDPOINT` — Foundry-projektin päätepiste\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — ei vanhentunut käyttöönotto (esim. `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) ja `AZURE_OPENAI_DEPLOYMENT`\n     oppitunneille, jotka kutsuvat Azure OpenAI:ta suoraan (Oppitunti 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **`az login`** suoritettu — näytteet todennetaan `AzureCliCredential` (Entra ID, avaineton).\n4. Varmista, että mallin käyttöönotto on olemassa:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## Vahvistuksen suorittaminen\n```powershell\n# All Python notebooks (skips .NET, .venv, site-packages, translations, skill assets)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# A single lesson, with a longer per-cell timeout\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Just list what would run (no execution)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Explicit interpreter (if `python` is not on PATH, e.g. Windows Store alias)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nSkripti kirjoittaa suoritetut kopiot, muistiinpanokohtaiset lokit ja `results.json` osoitteeseen\n`$env:TEMP\\aiab-nbval` ja sulkeutuu epäonnistumisten lukumäärällä.\n\nTilapäiset epäonnistumiset (jaetut-tilaus HTTP 429 -rajoitukset, satunnainen\n`AzureCliCredential` tokenin ongelma tai aikakatkaisu) yritetään automaattisesti uudelleen\n(`-Retries`, oletus 2, `-RetryDelaySeconds` takaisinkytkennällä, oletus 20). Jos\nmallin käyttöönotto saa usein 429-virheitä, tarkista tilauksen GlobalStandard\nTPM-quota (`az cognitiveservices usage list -l \u003Cregion>`) — yhden\nkäyttöönoton kapasiteetin nostaminen ei auta, jos *tilauksen* quota on loppu.\n\n## Tulosten tulkinta\n- `PASS` — muistiinpano suoritettiin loppuun ilman solun virheitä.\n- `FAIL` — ensimmäinen `*Error` \u002F `*Exception` rivi näytetään; avaa vastaava\n  `log_*.txt` tulostehakemistossa täydelliseen virhejäljitykseen.\n- Yhden muistiinpanon epäonnistuminen rajataan `-Timeout` mukaan (solua kohti), joten jumissa oleva\n  human-in-the-loop -solu näkyy `StdinNotImplementedError` eikä jää jumiin.\n\n## Oppitunnit, jotka tarvitsevat lisäresursseja (epäonnistuvat ilman niitä)\n| Oppitunti | Lisävaatimus |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, avain) — sisältää muistissa toimivan varareitin |\n| 11 MCP \u002F GitHub | GitHub MCP -palvelin + PAT |\n| 13 muisti (cognee) | `cognee` asetettu mallin tarjoajalla |\n| 15 selain-käyttö | Playwright-selaimet asennettuna (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 paikallinen agentti | Foundry Local runtime + ladattu Qwen-malli (laitteella, ei pilvessä) |\n| `*-dotnet-*` muistiinpanot | .NET Interactive kernel (pois oletuksena; käytä `-IncludeDotnet`) |\n\n## Raportointi\nTee yhteenveto PASS\u002FFAIL-taulukkona oppitunnittain ryhmiteltynä. Erittele aidot takaiskset\n(korjattavat koodi-\u002Fkonfiguraatiovirheet) ympäristöpuutteista (puuttuvat Search\u002FFoundry Local\u002FPAT),\nja ilmoita epäonnistuneesta `log_*.txt` jokaisessa todellisessa epäonnistumisessa.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Vastuuvapauslauseke**:\nTämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Vaikka pyrimme tarkkuuteen, otathan huomioon, että automaattiset käännökset saattavat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäiskielellä on virallinen lähde. Tärkeissä asioissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Kurssinäytteiden testaaminen\n\nVarmista, että oppituntien muistiinpanot ja koodinäytteet toimivat live-\nMicrosoft Foundry \u002F Azure OpenAI -ympäristössä. Repossa on runner osoitteessa\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1), joka\nsuorittaa kaikki Python-muistiinpanot ilman käyttöliittymää ja tulostaa PASS\u002FFAIL-matriisin.\n\n## Milloin käyttää\n- \"Varmista, että kaikki muistiinpanot \u002F näytteet toimivat Azure-tilauksessani.\"\n- \"Tee savutesti kurssille päivitysten tai mallien vaihdon jälkeen.\"\n- \"Mitkä oppitunnit läpäisevät \u002F epäonnistuvat livenä?\"\n\nÄlä käytä tätä AI Smoke Test -GitHub-toiminnossa (joka validoi *asennetut*\nisännöidyt agentit — katso [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Tämä taito\nsuorittaa muistiinpanot paikallisesti.\n\n## Esivaatimukset (tarkista ensin)\n1. **Python 3.12+** kurssin riippuvuuksilla: `python -m pip install -r requirements.txt`\n   plus suoritin: `python -m pip install nbconvert ipykernel`.\n2. **`.env` repossa juuressa** (kopioi [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) vähintään:\n   - `AZURE_AI_PROJECT_ENDPOINT` — Foundry-projektin päätepiste\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — ei vanhentunut käyttöönotto (esim. `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) ja `AZURE_OPENAI_DEPLOYMENT`\n     oppitunneille, jotka kutsuvat Azure OpenAI:ta suoraan (Oppitunti 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **`az login`** suoritettu — näytteet todennetaan `AzureCliCredential` (Entra ID, avaineton).\n4. Varmista, että mallin käyttöönotto on olemassa:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## Vahvistuksen suorittaminen\n```powershell\n# All Python notebooks (skips .NET, .venv, site-packages, translations, skill assets)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# A single lesson, with a longer per-cell timeout\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Just list what would run (no execution)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Explicit interpreter (if `python` is not on PATH, e.g. Windows Store alias)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nSkripti kirjoittaa suoritetut kopiot, muistiinpanokohtaiset lokit ja `results.json` osoitteeseen\n`$env:TEMP\\aiab-nbval` ja sulkeutuu epäonnistumisten lukumäärällä.\n\nTilapäiset epäonnistumiset (jaetut-tilaus HTTP 429 -rajoitukset, satunnainen\n`AzureCliCredential` tokenin ongelma tai aikakatkaisu) yritetään automaattisesti uudelleen\n(`-Retries`, oletus 2, `-RetryDelaySeconds` takaisinkytkennällä, oletus 20). Jos\nmallin käyttöönotto saa usein 429-virheitä, tarkista tilauksen GlobalStandard\nTPM-quota (`az cognitiveservices usage list -l \u003Cregion>`) — yhden\nkäyttöönoton kapasiteetin nostaminen ei auta, jos *tilauksen* quota on loppu.\n\n## Tulosten tulkinta\n- `PASS` — muistiinpano suoritettiin loppuun ilman solun virheitä.\n- `FAIL` — ensimmäinen `*Error` \u002F `*Exception` rivi näytetään; avaa vastaava\n  `log_*.txt` tulostehakemistossa täydelliseen virhejäljitykseen.\n- Yhden muistiinpanon epäonnistuminen rajataan `-Timeout` mukaan (solua kohti), joten jumissa oleva\n  human-in-the-loop -solu näkyy `StdinNotImplementedError` eikä jää jumiin.\n\n## Oppitunnit, jotka tarvitsevat lisäresursseja (epäonnistuvat ilman niitä)\n| Oppitunti | Lisävaatimus |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, avain) — sisältää muistissa toimivan varareitin |\n| 11 MCP \u002F GitHub | GitHub MCP -palvelin + PAT |\n| 13 muisti (cognee) | `cognee` asetettu mallin tarjoajalla |\n| 15 selain-käyttö | Playwright-selaimet asennettuna (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 paikallinen agentti | Foundry Local runtime + ladattu Qwen-malli (laitteella, ei pilvessä) |\n| `*-dotnet-*` muistiinpanot | .NET Interactive kernel (pois oletuksena; käytä `-IncludeDotnet`) |\n\n## Raportointi\nTee yhteenveto PASS\u002FFAIL-taulukkona oppitunnittain ryhmiteltynä. Erittele aidot takaiskset\n(korjattavat koodi-\u002Fkonfiguraatiovirheet) ympäristöpuutteista (puuttuvat Search\u002FFoundry Local\u002FPAT),\nja ilmoita epäonnistuneesta `log_*.txt` jokaisessa todellisessa epäonnistumisessa.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Vastuuvapauslauseke**:\nTämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Vaikka pyrimme tarkkuuteen, otathan huomioon, että automaattiset käännökset saattavat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäiskielellä on virallinen lähde. Tärkeissä asioissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"description":7},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Ffi\u002F.agents\u002Fskills\u002Ftesting-course-samples",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":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":62,"command":63},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":65,"command":66},"pnpm","pnpm dlx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Ffi\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",true,[],[71,78,87,95,103,110],{"skillNo":72,"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":73,"categories":74,"keywords":77,"publishedAt":41},"01M69A206TRZ8KK0CW0HYJF5V5","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[75,76],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[32,33],{"skillNo":79,"name":80,"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":81,"categories":82,"keywords":84,"publishedAt":41},"01M69A1XRB2SFHYRMEH0K08EKZ","microsoft-docs","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[83],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[85,9,86],"docs","microsoft docs",{"skillNo":88,"name":89,"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":90,"categories":91,"keywords":92,"publishedAt":41},"01M69A1VPZFJQ1HNGTZQ5P3WSC","local-ai-agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[],[93,94],"ai agents","local ai agents",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":41},"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",[],[102],"jupyter notebook",{"skillNo":104,"name":105,"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":106,"categories":107,"keywords":108,"publishedAt":41},"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",[],[109],"deploying scalable agents",{"skillNo":111,"name":112,"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":113,"categories":114,"keywords":115,"publishedAt":41},"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",[],[116],"azure openai to responses"]