បង្កើត សាកល្បង និងចេញផ្សាយភ្នាក់ងារពិភពឌីជីថលទៅ Microsoft Foundry Agent Service ក្នុងនាមជា Hosted Agents - ពេញលេញពី VS Code ដោយប្រើ Microsoft Foundry extension និង Foundry Toolkit។
Hosted Agents សព្វថ្ងៃនៅក្នុងលក្ខណៈពិនិត្យមើលជាមុន។ តំបន់ដែលគាំទ្រមានកំណត់ - សូមមើល region availability ។
គប្បីថតថង់
agent/ខាងក្នុងរាល់មន្ទីរសិក្សា (lab) គឺ បានបង្កើតដោយស្វ័យប្រវត្តិ ដោយ Foundry extension - បន្ទាប់មកអ្នកធ្វើប្តូរកូដ សាកល្បងក្នុងតំបន់មូលដ្ឋាន ហើយចេញផ្សាយ។
Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Khmer | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese
ចូលចិត្តថតបញ្ចាលនៅក្នុងម៉ាស៊ីនឯង?
Repo នេះមានការបកប្រែភាសា ៥០+ ដែលបង្កើនទំហំឯកសារចេញជាប្រមាណច្រើន។ ដើម្បីថតបញ្ចាលដោយគ្មានការបកប្រែ អ្នកអាចប្រើ sparse checkout៖
Bash / macOS / Linux:
git clone --filter=blob:none --sparse https://github.com/microsoft-foundry/Foundry_Toolkit_for_VSCode_Lab.git cd Foundry_Toolkit_for_VSCode_Lab git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'CMD (Windows):
git clone --filter=blob:none --sparse https://github.com/microsoft-foundry/Foundry_Toolkit_for_VSCode_Lab.git cd Foundry_Toolkit_for_VSCode_Lab git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"វាអនុញ្ញាតឱ្យអ្នកទទួលបានអ្វីគ្រប់យ៉ាងដែលត្រូវការដើម្បីបញ្ចប់វគ្គនេះបានយ៉ាងរហ័សជាងមុន។
flowchart TB
subgraph Local["ការអភិវឌ្ឍន៍ក្នុងតំបន់ (VS Code)"]
direction TB
FE["ការពង្រឹង Microsoft Foundry"]
FoundryToolkit["ការពង្រឹង Foundry Toolkit"]
Scaffold["កូដភ្នាក់ងារដែលបានបង្កើតរួច
(main.py · agent.yaml · Dockerfile)"]
Inspector["អ្នកត្រួតពិនិត្យភ្នាក់ងារ
(ការសាកល្បងក្នុងតំបន់)"]
FE -- "បង្កើតភ្នាក់ងារថ្មីដែលផ្តោត" --> Scaffold
Scaffold -- "F5 ដើម្បីបំបែកកំហុស" --> Inspector
FoundryToolkit -.- Inspector
end
subgraph Cloud["Microsoft Foundry"]
direction TB
ACR["រ៉េហ្ស៊ីស្ទ្រីរអាស៊ឺរ កុងតឺន័រ"]
AgentService["សេវាកម្មភ្នាក់ងារ Foundry
(ម៉ោងរត់ភ្នាក់ងារផ្ញើ)"]
Model["Azure OpenAI
(gpt-4.1 / gpt-4.1-mini)"]
Playground["លំបាកเล่น Foundry
និង លំបាក VS Code"]
ACR --> AgentService
AgentService -- "/responses API" --> Model
AgentService --> Playground
end
Scaffold -- "ដាក់ឲ្យដំណើរការ
(Docker build + push)" --> ACR
Inspector -- "POST /responses
(localhost:8088)" --> Scaffold
Playground -- "សាកល្បងបញ្ជា" --> AgentService
style Local fill:#f0f4ff,stroke:#4a6cf7,stroke-width:2px
style Cloud fill:#fff4e6,stroke:#f59e0b,stroke-width:2px
លំហូរ: ការ Foundry extension នាំឱ្យបង្កើត strcutagent → អ្នកប្តូរវិញកូដ និងណែនាំ → សាកល្បងក្នុងតំបន់មូលដ្ឋានជាមួយ Agent Inspector → ចេញផ្សាយទៅ Foundry (បង្ហោះរូបភាព Docker ទៅ ACR) → ធានាមើលនៅពេលក្មេងលេងក្នុង Playground ។
| មន្ទីរ | ពិពណ៌នា | ស្ថានភាព |
|---|---|---|
| Lab 01 - ភ្នាក់ងារតែមួយ | បង្កើតភ្នាក់ងារ "សូមពន្យល់ដូចជា ខ្ញុំជាអ្នកគ្រប់គ្រង", សាកល្បងក្នុងតំបន់មូលដ្ឋាន ហើយចេញផ្សាយទៅ Foundry | ✅ មានស្រាប់ |
| Lab 02 - សហការភ្នាក់ងារច្រើន | បង្កើត "Resume → Job Fit Evaluator" - ភ្នាក់ងារចំនួន ៤ ប្រមាញ់ដើម្បីវាយតម្លៃពាក់ព័ន្ធនៃប្រវត្តិរូប និងបង្កើតផែនការសិក្សា | ✅ មានស្រាប់ |
ក្នុងសិក្ខាសាលានេះ អ្នកនឹងបង្កើតភ្នាក់ងារ "សូមពន្យល់ដូចជា ខ្ញុំជាអ្នកគ្រប់គ្រង" - ភ្នាក់ងារពិភពឌីជីថលមួយដែលយកពាក្យបច្ចេកទេសរឹងមាំ ហើយបកប្រែវាទៅជាសេចក្ដីសង្ខេបភាសារល្ងាចដែលសមស្របសម្រាប់ក្រុមប្រឹក្សាភិបាល។ ព្រោះសារពិតហើយ មិនមានម្នាក់ណាមួយនៅក្រុមគ្រប់គ្រងចង់ស្តាប់ពី "thread pool exhaustion caused by synchronous calls introduced in v3.2." ទេ។
ខ្ញុំបានបង្កើតភ្នាក់ងារនេះបន្ទាប់ពីមានហេតុការណ៍មួយចំនួនដែលបន្ទាប់ពីពិរោះបញ្ហារបស់ខ្ញុំ ជម្ល hlay "តើគេបើកគេហទំព័រឬទេ?" ជាចម្លើយពីអ្នកដំណើរការនៅផ្នែកផ្នែកបច្ចេកទេស។
អ្នកផ្គត់ផ្គង់ព័ត៌មានបច្ចេកទេសមួយ។ វាសំលាប់ត្រឡប់មកជាសេចក្ដីសង្ខេបរបស់អ្នកគ្រប់គ្រង - ចំនុច៣ គ្មានពាក្យបច្ចេកទេស ក៏គ្មានប្រវត្តិស្តង់ដា ឬពាក្យប្រួយបារម្ភផ្លូវចិត្តគិតពីអនាគត។ មានតែ ចំណុចបានកើតឡើង, ផលប៉ះពាល់អាជីវកម្ម, និង ជំហានបន្ទាប់ ប៉ុណ្ណោះ។
អ្នកនិយាយ៖
"The API latency increased due to thread pool exhaustion caused by synchronous calls introduced in v3.2."
ភ្នាក់ងារប្រASថា:
Executive Summary:
- ចំណុចបានកើតឡើង: បន្ទាប់ពីការចេញផ្សាយថ្មី ស៊ីស្តឹមបានយឺតឡើង។
- ផលប៉ះពាល់អាជីវកម្ម: អ្នកប្រើប្រាស់ខ្លះបានជួបការពន្យាពេលក្នុងការប្រើសេវាកម្ម។
- ជំហានបន្ទាប់: ការផ្លាស់ប្តូរត្រូវបានត្រឡប់មកវិញ ហើយកំពុងចាប់ផ្តើមការជួសជុលមុនចេញផ្សាយម្តងទៀត។
វាជាភ្នាក់ងារសាមញ្ញ មុខងារតែមួយ - ល្អសម្រាប់រៀនពីដំណើរការរបស់ hosted agent ពីដើមដល់បញ្ចប់ ដោយគ្មានការត្រួតទ្រាយជាច្រើនក្នុងឧបករណ៍ស្មុគស្មាញ។ ហើយពិតប្រាកដ? រាល់ក្រុមវិស្វកម្មទាំងអស់អាចប្រើភ្នាក់ងារមួយនេះបាន។
📂 Foundry_Toolkit_for_VSCode_Lab/
├── 📄 README.md ← You are here
├── 📂 ExecutiveAgent/ ← Standalone hosted agent project
│ ├── agent.yaml
│ ├── Dockerfile
│ ├── main.py
│ └── requirements.txt
└── 📂 workshop/
├── 📂 lab01-single-agent/ ← Full lab: docs + agent code
│ ├── README.md ← Hands-on lab instructions
│ ├── 📂 docs/ ← Step-by-step tutorial modules
│ │ ├── 00-prerequisites.md
│ │ ├── 01-install-foundry-toolkit.md
│ │ ├── 02-create-foundry-project.md
│ │ ├── 03-create-hosted-agent.md
│ │ ├── 04-configure-and-code.md
│ │ ├── 05-test-locally.md
│ │ ├── 06-deploy-to-foundry.md
│ │ ├── 07-verify-in-playground.md
│ │ └── 08-troubleshooting.md
│ └── 📂 agent/ ← Reference solution (auto-scaffolded by Foundry extension)
│ ├── agent.yaml
│ ├── Dockerfile
│ ├── main.py
│ └── requirements.txt
└── 📂 lab02-multi-agent/ ← Resume → Job Fit Evaluator
├── README.md ← Hands-on lab instructions (end-to-end)
├── 📂 docs/ ← Step-by-step tutorial modules
│ ├── 00-prerequisites.md
│ ├── 01-understand-multi-agent.md
│ ├── 02-scaffold-multi-agent.md
│ ├── 03-configure-agents.md
│ ├── 04-orchestration-patterns.md
│ ├── 05-test-locally.md
│ ├── 06-deploy-to-foundry.md
│ ├── 07-verify-in-playground.md
│ └── 08-troubleshooting.md
└── 📂 PersonalCareerCopilot/ ← Reference solution (multi-agent workflow)
├── agent.yaml
├── Dockerfile
├── main.py
└── requirements.txt
**កំណត់ចំណាំ:**ថតថង់
agent/ខាងក្នុងរាល់មន្ទីរសិក្សាគឺជាអ្វីដែល Microsoft Foundry extension បង្កើតនៅពេលអ្នករត់បញ្ជាMicrosoft Foundry: Create a New Hosted Agentពី Command Palette។ ឯកសារទាំងនោះបន្ទាប់មកត្រូវបានផ្លាស់ប្តូរនៅលើការណែនាំ ដៃគូ និងការកំណត់រចនា។ Lab 01 នឹងណែនាំអ្នកពីការបង្កើតវាម្តងទៀតពីដើម។
git clone https://github.com/microsoft-foundry/Foundry_Toolkit_for_VSCode_Lab.git
cd Foundry_Toolkit_for_VSCode_Labpython -m venv venvចាប់ផ្តើមវា៖
- Windows (PowerShell):
.\venv\Scripts\Activate.ps1
- macOS / Linux:
source venv/bin/activate
pip install -r workshop/lab01-single-agent/agent/requirements.txtចម្លងឯកសារ .env ឧទាហរណ៍ក្នុងថត agent ហើយបញ្ចូលតម្លៃរបស់អ្នក៖
cp workshop/lab01-single-agent/agent/.env.example workshop/lab01-single-agent/agent/.envកែប្រែ workshop/lab01-single-agent/agent/.env៖
AZURE_AI_PROJECT_ENDPOINT=https://<your-account>.services.ai.azure.com/api/projects/<your-project>
MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>រាល់មន្ទីរមានប្លុកផ្ទាល់ខ្លួនជាមួយម៉ូឌុលផ្ទាល់ខ្លួន។ ចាប់ផ្តើមជាមួយ Lab 01 ដើម្បីរៀនមូលដ្ឋាន ហើយរត់ទៅ Lab 02 សម្រាប់ដំណើរការសហការភ្នាក់ងារច្រើន។
Lab 01 - ភ្នាក់ងារតែមួយ (ជាផ្នែករួមមាតិកា)
| ល.រ | ម៉ូឌុល | តំណភ្ជាប់ |
|---|---|---|
| 1 | អានលក្ខខណ្ឌដំបូង | 00-prerequisites.md |
| 2 | តំឡើង Foundry Toolkit និង Foundry extension | 01-install-foundry-toolkit.md |
| 3 | បង្កើតគម្រោង Foundry | 02-create-foundry-project.md |
| 4 | បង្កើត hosted agent | 03-create-hosted-agent.md |
| 5 | កំណត់ណែនាំ និងបរិយាកាស | 04-configure-and-code.md |
| 6 | សាកល្បងក្នុងតំបន់មូលដ្ឋាន | 05-test-locally.md |
| 7 | ចេញផ្សាយទៅ Foundry | 06-deploy-to-foundry.md |
| 8 | ផ្ទៀងផ្ទាត់ក្នុង playground | 07-verify-in-playground.md |
| 9 | ដោះស្រាយបញ្ហា | 08-troubleshooting.md |
Lab 02 - ដំណើរការសហការភ្នាក់ងារច្រើន (ជាផ្នែករួមមាតិកា)
| ល.រ | ម៉ូឌុល | តំណភ្ជាប់ |
|---|---|---|
| 1 | លក្ខខណ្ឌដំបូង (Lab 02) | 00-prerequisites.md |
| 2 | យល់ពីសំណង់រចនាសហការភ្នាក់ងារ | 01-understand-multi-agent.md |
| 3 | បង្កើតគំរោង multi-agent | 02-scaffold-multi-agent.md |
| 4 | កំណត់ agents និងបរិយាកាស | 03-configure-agents.md |
| 5 | ផលិតភាពរចនាសម្ព័ន្ធ | 04-orchestration-patterns.md |
| 6 | សាកល្បងក្នុងតំបន់មូលដ្ឋាន (multi-agent) | 05-test-locally.md |
| 7 | បង្ហោះទៅ Foundry | 06-deploy-to-foundry.md |
| 8 | ពិនិត្យនៅក្នុងលេងល្បែង | 07-verify-in-playground.md |
| 9 | ការដោះស្រាយបញ្ហា (multi-agent) | 08-troubleshooting.md |
![]() Shivam Goyal |
| សេណារីយ៉ូ | តួនាទីដែលត្រូវការ |
|---|---|
| បង្កើតគម្រោង Foundry ថ្មី | ម្ចាស់ Azure AI លើធនធាន Foundry |
| បង្ហោះទៅគម្រោងដែលមានរួចហើយ (ធនធានថ្មី) | ម្ចាស់ Azure AI + អ្នករួមចំណែក លើការជាវ |
| បង្ហោះទៅគម្រោងដែលចាត់តាំងពេញលេញ | អ្នកអាន លើគណនី + អ្នកប្រើប្រាស់ Azure AI លើគម្រោង |
សំខាន់៖ តួនាទី Azure
ម្ចាស់និងអ្នករួមចំណែកមានតែការអនុញ្ញាត គ្រប់គ្រង ប៉ុណ្ណោះ មិនមែនការអនុញ្ញាត អភិវឌ្ឍ (សកម្មភាពទិន្នន័យ) ទេ។ អ្នកត្រូវការតួនាទី អ្នកប្រើប្រាស់ Azure AI ឬ ម្ចាស់ Azure AI ដើម្បីកសាង និងបង្ហោះភ្នាក់ងារ។
- ចាប់ផ្តើមរហ័ស: បង្ហោះភ្នាក់ងាររបស់អ្នកជាលើកដំបូង (VS Code)
- ភ្នាក់ងារត្រូវបានផ្ដល់ជាម៉ាស៊ីនមានអ្វីខ្លះ?
- បង្កើតសម្ព័ន្ធការងារភ្នាក់ងារត្រូវបានផ្ដល់ជាម៉ាស៊ីននៅក្នុង VS Code
- បង្ហោះភ្នាក់ងារត្រូវបានផ្ដល់ជាម៉ាស៊ីន
- RBAC សម្រាប់ Microsoft Foundry
- Architecture Review Agent Sample - ភ្នាក់ងារត្រូវបានផ្ដល់ជាម៉ាស៊ីនក្នុងពិភពជាក់ស្តែងជាមួយឧបករណ៍ MCP, គំនូសផែនទី Excalidraw និងការបង្ហោះពីរដង
ការព្រមាន៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ទោះបីយើងខិតខំបំផុតដើម្បីឲ្យបានភាពត្រឹមត្រូវ ក៏សូមស គិតថាការបកប្រែដោយស្វ័យប្រវត្តិនេះអាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាដើមគួរត្រូវបានគិតថាជា ប្រភពមានសារៈសំខាន់។ សម្រាប់ព័ត៌មានសំខាន់ៗ គួរតែហៅអ្នកបកប្រែដែលជាមនុស្សជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។
