Skip to content

Latest commit

 

History

History
313 lines (244 loc) · 16.3 KB

File metadata and controls

313 lines (244 loc) · 16.3 KB

Foundry Toolkit + Foundry Hosted Agents 工作坊

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

從 VS Code 使用 Microsoft Foundry 擴充功能Foundry Toolkit,建立、測試及部署 AI 代理到 Microsoft Foundry Agent Service 作為 Hosted Agents

Hosted Agents 目前為預覽版本。 支援的區域有限 - 請參閱 區域可用性

每個實驗室中的 agent/ 資料夾是由 Foundry 擴充功能 自動腳手架生成 的 - 然後你可以自訂代碼,進行本地測試並部署。

🌐 多語言支援

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

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

想要本地同步克隆?

本倉庫包含超過 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 擴充功能腳手架建立代理 → 你客製化代碼與指示 → 使用 Agent Inspector 本地測試 → 部署到 Foundry(將 Docker 映像推送到 ACR)→ 在 Playground 驗證。


你將構建什麼

實驗室 描述 狀態
實驗室 01 - 單一代理 建立 「解釋給我,一位執行長聽得懂」代理,本地測試並部署至 Foundry ✅ 可用
實驗室 02 - 多代理工作流程 建立 「履歷 → 工作適配評估員」 - 4 個代理合作評分履歷適配度並產生學習路線圖 ✅ 可用

認識執行長代理

在本工作坊中,你將建立 「解釋給我,一位執行長聽得懂」代理 —— 一個把複雜技術術語轉換成冷靜、適合董事會聽的摘要的 AI 代理。說實話,高階主管誰想聽什麼「v3.2 版本引入同步呼叫導致執行緒池耗盡」這種技術細節呢?

我在經歷太多次我的完美事後檢討文章得到的回覆是:「所以……網站到底掛了沒?」之後建立了這個代理。

它是如何運作的

你給它技術更新內容,它回應一個執行長摘要 —— 三點精簡內容,沒有術語、沒有堆疊追蹤、沒有存在主義的恐懼感。只有 發生了什麼事業務影響,和 下一步

實際示範

你說:

「API 延遲增加是因為 v3.2 版本引入的同步呼叫導致執行緒池耗盡。」

代理回覆:

執行長摘要:

  • 發生了什麼事: 在最新版本釋出後,系統變慢了。
  • 業務影響: 部分用戶在使用服務時遇到延遲。
  • 下一步: 已將更改回滾,並正在準備修補後重新部署。

為什麼選這個代理?

它是個非常簡單、單一目的代理 —— 非常適合全程學習 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: 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. 設定環境變數

複製 agent 資料夾中的範例 .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 Toolkit & Foundry 擴充功能 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

實驗室 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 進行翻譯。雖然我們力求準確,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件之母語版本應視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們不對因使用本翻譯所引起之任何誤解或曲解負責。