Skip to content

Latest commit

 

History

History
314 lines (244 loc) · 16.1 KB

File metadata and controls

314 lines (244 loc) · 16.1 KB

Foundry 工具包 + Foundry 托管代理工作坊

Python Microsoft Agent Framework Hosted Agents Microsoft Foundry Azure OpenAI Azure CLI Azure Developer CLI Docker Foundry Toolkit License

從 VS Code 完全使用 Microsoft Foundry 擴充套件Foundry 工具包 建構、測試並部署 AI 代理至 Microsoft Foundry 代理服務 作為 托管代理

托管代理目前處於預覽階段。 支援區域有限 - 詳見 區域可用性

每個實驗室內的 agent/ 資料夾是由 Foundry 擴充套件自動生成的,之後你可自訂程式碼、本地測試及部署。

🌐 多語言支援

透過 GitHub Action 支援(自動且持續更新)

阿拉伯語 | 孟加拉語 | 保加利亞語 | 緬甸語 | 中文(簡體) | 中文(繁體,香港) | 中文(繁體,澳門) | 中文(繁體,台灣) | 克羅地亞語 | 捷克語 | 丹麥語 | 荷蘭語 | 愛沙尼亞語 | 芬蘭語 | 法語 | 德語 | 希臘語 | 希伯來語 | 印地語 | 匈牙利語 | 印尼語 | 義大利語 | 日語 | 坎納達語 | 高棉語 | 韓語 | 立陶宛語 | 馬來語 | 馬拉雅拉姆語 | 馬拉地語 | 尼泊爾語 | 尼日利亞皮欽語 | 挪威語 | 波斯語(法爾西語) | 波蘭語 | 葡萄牙語(巴西) | 葡萄牙語(葡萄牙) | 旁遮普語(Gurmukhi) | 羅馬尼亞語 | 俄語 | 塞爾維亞語(西里爾字母) | 斯洛伐克語 | 斯洛維尼亞語 | 西班牙語 | 斯瓦希里語 | 瑞典語 | 他加祿語(菲律賓語) | 泰米爾語 | 泰盧固語 | 泰語 | 土耳其語 | 烏克蘭語 | 烏爾都語 | 越南語

偏好本地克隆?

本儲存庫包含 50 多種語言翻譯,會大幅增加下載大小。若想無翻譯克隆,請使用稀疏檢出:

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 工具包
        擴充功能"]
        Scaffold["腳手架代理程式碼
        (main.py · agent.yaml · Dockerfile)"]
        Inspector["代理檢查器
        (本地測試)"]
        FE -- "建立新
        托管代理" --> Scaffold
        Scaffold -- "F5 偵錯" --> Inspector
        FoundryToolkit -.- Inspector
    end

    subgraph Cloud["Microsoft Foundry"]
        direction TB
        ACR["Azure 容器
        註冊表"]
        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 建置 + 推送)" --> 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
Loading

流程: Foundry 擴充套件建構代理 → 你自訂程式碼與指令 → 使用代理檢視器本地測試 → 部署至 Foundry(Docker 映像推送至 ACR)→ 在操控台驗證。


你將建構什麼

實驗室 說明 狀態
實驗室 01 - 單一代理 建構 「像給高管解釋」代理,本地測試並部署至 Foundry ✅ 可用
實驗室 02 - 多代理流程 建構 「履歷 → 工作適配評估」 — 四個代理協同評分履歷匹配度並生成學習路線圖 ✅ 可用

認識高管代理

在此工作坊中,你將建構 「像給高管解釋」代理 — 一個將棘手技術行話轉譯為冷靜、董事會級別摘要的 AI 代理。說實話,沒有人在高層想聽到「由 v3.2 版引入的同步呼叫導致線程池耗盡」這類話。

我在數次事件後建立了這個代理,因為我精心撰寫的事後說明總會得到回應:「所以……網站到底有沒有掛?」

原理

你輸入一段技術更新,代理回應一個高管摘要 — 三個重點,無行話、無堆疊追蹤、無存在主義恐懼。僅包含 發生什麼事業務影響下一步

觀察實際效果

你說:

「API 延遲因 v3.2 版引入的同步呼叫導致線程池耗盡而增加。」

代理回覆:

高管摘要:

  • 發生什麼事: 最新發佈後系統變慢。
  • 業務影響: 有部分用戶使用服務時體驗延遲。
  • 下一步: 變更已回滾,並正準備修復後重新部署。

為何選這個代理?

它是非常簡單且單一目標的代理 — 非常適合學習托管代理工作流程的端到端流程,不需陷入複雜工具鏈。說實話?每個工程團隊都能用得到這種代理。


工作坊架構

📂 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: Create a New Hosted Agent 時,由 Microsoft Foundry 擴充套件 產生的。接著可用你的代理指令、工具及設定自訂這些檔案。實驗室 01 帶你從零開始建立這流程。


開始使用

1. 克隆程式庫

git clone https://github.com/microsoft-foundry/Foundry_Toolkit_for_VSCode_Lab.git
cd Foundry_Toolkit_for_VSCode_Lab

2. 建立 Python 虛擬環境

python -m venv venv

啟用:

  • Windows(PowerShell):
    .\venv\Scripts\Activate.ps1
  • macOS / Linux:
    source venv/bin/activate

3. 安裝相依套件

pip install -r workshop/lab01-single-agent/agent/requirements.txt

4. 設定環境變數

複製代理資料夾內範例 .env 檔案並填入你的數值:

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>

5. 按工作坊實驗室進度進行

每個實驗室都有獨立模組。先從 實驗室 01 學習基礎,再進階至 實驗室 02 了解多代理工作流程。

實驗室 01 - 單一代理 (完整指引)

# 模組 連結
1 閱讀先決條件 00-prerequisites.md
2 安裝 Foundry 工具包與 Foundry 擴充套件 01-install-foundry-toolkit.md
3 建立 Foundry 專案 02-create-foundry-project.md
4 建立托管代理 03-create-hosted-agent.md
5 配置指令與環境 04-configure-and-code.md
6 本地測試 05-test-locally.md
7 部署至 Foundry 06-deploy-to-foundry.md
8 在操控台驗證 07-verify-in-playground.md
9 疑難排解 08-troubleshooting.md

實驗室 02 - 多代理工作流程 (完整指引)

# 模組 連結
1 先決條件(實驗室 02) 00-prerequisites.md
2 了解多代理架構 01-understand-multi-agent.md
3 建構多代理專案骨架 02-scaffold-multi-agent.md
4 配置代理與環境 03-configure-agents.md
5 編排模式 04-orchestration-patterns.md
6 本地測試(多代理) 05-test-locally.md
7 部署到 Foundry 06-deploy-to-foundry.md
8 在 playground 中驗證 07-verify-in-playground.md
9 疑難排解(多代理) 08-troubleshooting.md

維護者

Shivam Goyal
Shivam Goyal


所需權限(快速參考)

情境 所需角色
建立新的 Foundry 專案 Foundry 資源上的 Azure AI 擁有者
部署至現有專案(新資源) 訂閱上的 Azure AI 擁有者 + 參與者
部署至已完全配置的專案 帳戶上的 讀取者 + 專案上的 Azure AI 使用者

重要: Azure 的 擁有者參與者 角色只包括 管理 權限,不含 開發(資料動作)權限。您需要 Azure AI 使用者Azure AI 擁有者 來建立及部署代理。


參考資料


授權

MIT


免責聲明
本文件乃使用 AI 翻譯服務 Co-op Translator 翻譯而成。雖然我們致力於準確性,但請注意,自動翻譯可能存在錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用此翻譯而產生的任何誤解或曲解承擔責任。