[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699VPMTN3Y7FH1KSSTBY29M":3,"skill-same:01M699VPMTN3Y7FH1KSSTBY29M":59},{"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":27,"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},"01M699VPMTN3Y7FH1KSSTBY29M","testing-course-samples",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\u002Fsr\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[28,29],"testing","testing course samples","2026-11-10 10:12:30",false,"---\nname: testing-course-samples\n---\n# Тестирање узорака курса\n\nПотврдите да ли бележнице са лекцијама и узорци кода раде са активном\nMicrosoft Foundry \u002F Azure OpenAI конфигурацијом. Репозиторијум обухвата извршни фајл у\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1) који\nизвршава сваку Python бележницу у позадини и приказује PASS\u002FFAIL матрицу.\n\n## Када користити\n- \"Проверите све бележнице \u002F узорке у складу са мојом Azure претплатом.\"\n- \"Брзи тест курса након ажурирања пакета или промене модела.\"\n- \"Које лекције и даље пролазе \u002F не пролазе уживо?\"\n\nНе користите ово за AI Smoke Test GitHub Action (који потврђује *распоређене*\nхостоване агенте — видети [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Ова вештина\nпокреће бележнице локално.\n\n## Претпоставке (прво проверити)\n1. **Python 3.12+** са зависностима курса: `python -m pip install -r requirements.txt`\n   плус извршилац: `python -m pip install nbconvert ipykernel`.\n2. **`.env` у корену репозиторијума** (копирати из [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) са најмање:\n   - `AZURE_AI_PROJECT_ENDPOINT` — крајња тачка Foundry пројекта\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — незастарела расподела (нпр. `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) и `AZURE_OPENAI_DEPLOYMENT`\n     за лекције које директно позивају Azure OpenAI (Лекција 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **`az login`** извршен — узорци се аутентификују преко `AzureCliCredential` (Entra ID, без кључа).\n4. Потврдите да расподела модела постоји:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## Покретање валидације\n```powershell\n# Сви Питон бележници (прескаче .NET, .venv, site-packages, преводе, скилл ресурсе)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# Једна лекција, са дужим временским ограничењем по ћелији\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Само наведите шта би се покренуло (без извршавања)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Јасан интерпретер (ако `python` није у PATH, нпр. Windows Store алијас)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nСкрипта уписује извршене копије, логове по бележници и `results.json` у\n`$env:TEMP\\aiab-nbval` и излази са бројем неуспеха.\n\nПривремени неуспеси (ограничења HTTP 429 за дељену претплату, повремени\n`AzureCliCredential` прекид токена или тајмаут) се аутоматски поново покушавају\n(`-Retries`, подразумевано 2, са `-RetryDelaySeconds` застојем, подразумевано 20). Ако се\nрасподела модела често враћа 429 грешке, проверите GlobalStandard\nTPM квоту претплате (`az cognitiveservices usage list -l \u003Cregion>`) — повећање капацитета једне\nрасподеле не помаже када је *квота претплате* исцрпљена.\n\n## Тумачење резултата\n- `PASS` — бележница је успешно извршена од почетка до краја без грешака у ћелијама.\n- `FAIL` — показује се прва линија `*Error` \u002F `*Exception`; отвори одговарајући\n  `log_*.txt` у излазном директоријуму за пун traceback.\n- Један неуспех бележнице је ограничен са `-Timeout` (по ћелији), тако да ћелија са\n  интеракцијом човека је означена као `StdinNotImplementedError` уместо да се заглави.\n\n## Лекције којима су потребни додатни ресурси (оријентовано на неуспех без њих)\n| Лекција | Додатни захтев |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, кључ) — има алтернативни пут у меморији |\n| 11 MCP \u002F GitHub | GitHub MCP сервер + PAT |\n| 13 memory (cognee) | `cognee` конфигурисан са провајдером модела |\n| 15 browser-use | Playwright прегледачи инсталирани (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 local agent | Foundry локално окружење + преузети Qwen модел (на уређају, без облака) |\n| `*-dotnet-*` бележнице | .NET Interactive kernel (подразумевано искључено; користити `-IncludeDotnet`) |\n\n## Извештавање назад\nСажети у PASS\u002FFAIL табелу груписану по лекцијама. Разделити праве регресије\n(багове кода\u002Fконфигурације за исправку) од недостатака окружења (недостају Search\u002FFoundry Local\u002FPAT),\nи навести неуспеле `log_*.txt` за сваки стварни неуспех.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Изјава о одрицању одговорности**:\nОвај документ је преведен коришћењем услуге за аутоматски превод [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Тестирање узорака курса\n\nПотврдите да ли бележнице са лекцијама и узорци кода раде са активном\nMicrosoft Foundry \u002F Azure OpenAI конфигурацијом. Репозиторијум обухвата извршни фајл у\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1) који\nизвршава сваку Python бележницу у позадини и приказује PASS\u002FFAIL матрицу.\n\n## Када користити\n- \"Проверите све бележнице \u002F узорке у складу са мојом Azure претплатом.\"\n- \"Брзи тест курса након ажурирања пакета или промене модела.\"\n- \"Које лекције и даље пролазе \u002F не пролазе уживо?\"\n\nНе користите ово за AI Smoke Test GitHub Action (који потврђује *распоређене*\nхостоване агенте — видети [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Ова вештина\nпокреће бележнице локално.\n\n## Претпоставке (прво проверити)\n1. **Python 3.12+** са зависностима курса: `python -m pip install -r requirements.txt`\n   плус извршилац: `python -m pip install nbconvert ipykernel`.\n2. **`.env` у корену репозиторијума** (копирати из [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) са најмање:\n   - `AZURE_AI_PROJECT_ENDPOINT` — крајња тачка Foundry пројекта\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — незастарела расподела (нпр. `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) и `AZURE_OPENAI_DEPLOYMENT`\n     за лекције које директно позивају Azure OpenAI (Лекција 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **`az login`** извршен — узорци се аутентификују преко `AzureCliCredential` (Entra ID, без кључа).\n4. Потврдите да расподела модела постоји:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## Покретање валидације\n```powershell\n# Сви Питон бележници (прескаче .NET, .venv, site-packages, преводе, скилл ресурсе)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# Једна лекција, са дужим временским ограничењем по ћелији\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Само наведите шта би се покренуло (без извршавања)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Јасан интерпретер (ако `python` није у PATH, нпр. Windows Store алијас)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nСкрипта уписује извршене копије, логове по бележници и `results.json` у\n`$env:TEMP\\aiab-nbval` и излази са бројем неуспеха.\n\nПривремени неуспеси (ограничења HTTP 429 за дељену претплату, повремени\n`AzureCliCredential` прекид токена или тајмаут) се аутоматски поново покушавају\n(`-Retries`, подразумевано 2, са `-RetryDelaySeconds` застојем, подразумевано 20). Ако се\nрасподела модела често враћа 429 грешке, проверите GlobalStandard\nTPM квоту претплате (`az cognitiveservices usage list -l \u003Cregion>`) — повећање капацитета једне\nрасподеле не помаже када је *квота претплате* исцрпљена.\n\n## Тумачење резултата\n- `PASS` — бележница је успешно извршена од почетка до краја без грешака у ћелијама.\n- `FAIL` — показује се прва линија `*Error` \u002F `*Exception`; отвори одговарајући\n  `log_*.txt` у излазном директоријуму за пун traceback.\n- Један неуспех бележнице је ограничен са `-Timeout` (по ћелији), тако да ћелија са\n  интеракцијом човека је означена као `StdinNotImplementedError` уместо да се заглави.\n\n## Лекције којима су потребни додатни ресурси (оријентовано на неуспех без њих)\n| Лекција | Додатни захтев |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, кључ) — има алтернативни пут у меморији |\n| 11 MCP \u002F GitHub | GitHub MCP сервер + PAT |\n| 13 memory (cognee) | `cognee` конфигурисан са провајдером модела |\n| 15 browser-use | Playwright прегледачи инсталирани (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 local agent | Foundry локално окружење + преузети Qwen модел (на уређају, без облака) |\n| `*-dotnet-*` бележнице | .NET Interactive kernel (подразумевано искључено; користити `-IncludeDotnet`) |\n\n## Извештавање назад\nСажети у PASS\u002FFAIL табелу груписану по лекцијама. Разделити праве регресије\n(багове кода\u002Fконфигурације за исправку) од недостатака окружења (недостају Search\u002FFoundry Local\u002FPAT),\nи навести неуспеле `log_*.txt` за сваки стварни неуспех.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Изјава о одрицању одговорности**:\nОвај документ је преведен коришћењем услуге за аутоматски превод [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fsr\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":7,"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 testing-course-samples",{"tool":51,"command":52},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":54,"command":55},"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\u002Fsr\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",true,[],[60,67,78,86,94,101],{"skillNo":61,"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":62,"categories":63,"keywords":66,"publishedAt":30},"01M69A206TRZ8KK0CW0HYJF5V5","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[64,65],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[28,29],{"skillNo":68,"name":69,"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":70,"categories":71,"keywords":75,"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",[72],{"categoryNo":73,"categoryName":74,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[76,8,77],"docs","microsoft docs",{"skillNo":79,"name":80,"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":30},"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",[],[84,85],"ai agents","local ai agents",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"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",[],[93],"jupyter notebook",{"skillNo":95,"name":96,"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":97,"categories":98,"keywords":99,"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",[],[100],"deploying scalable agents",{"skillNo":102,"name":103,"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":104,"categories":105,"keywords":106,"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",[],[107],"azure openai to responses"]