Azure Developer CLI(azd 支援以下功能,將於後文章節說明:
- 自訂環境
- 環境可於Azure Machine Learning 工作室Environments區塊中查看。
- 客製化模型
- 模型可於Azure Machine Learning 工作室Models區塊中查看。
- 提示流程
- 流量可在Azure Machine Learning 工作室Flows章節中查看。
- 流可以在 Microsoft Foundry 入口網站 的 Flows 區段中查看。
- 線上部署(在線端點內)
- 部署資料可於Azure Machine Learning 工作室Deployments章節中查看。
- 部署資料可在
Microsoft Foundry 入口網站 的 Deployments 區塊中查看。
先決條件
要使用 Microsoft Foundry 或 Azure Machine Learning 工作室 線上端點,你需要:
Foundry Starter 模板 能協助建立所有必要的基礎設施,讓大家能開始使用 Foundry 端點。
設定線上端點
在檔案的services區塊中設定線上端點azure.yaml的支援:
- 將值
host設為ai.endpoint。 - 該
config區塊ai.endpoint支援以下配置:-
workspace:Microsoft Foundry 工作區的名稱。 支援
azd環境變數替換與語法。- 若未指定,則
azd尋找名為AZUREAI_PROJECT_NAME的環境變數。
- 若未指定,則
-
環境:為機器學習環境提供可選的自訂設定。
azd由參考的 YAML 檔案定義建立新的環境版本。 -
flow:可選擇性自訂流程配置。
azd從指定的檔案路徑建立新的提示流程。 -
模型:為機器學習模型提供可選的自訂配置。
azd從參考的 YAML 檔案定義建立新的模型版本。 -
部署:線上端點部署 所需的 設定。
azd根據參考的 YAML 檔案定義,建立一個新的線上部署至相關的線上端點。
-
workspace:Microsoft Foundry 工作區的名稱。 支援
請參考以下設定這些功能的範例 azure.yaml 檔案:
name: contoso-chat
metadata:
template: contoso-chat@0.0.1-beta
services:
chat:
# Referenced new ai.endpoint host type
host: ai.endpoint
# New config flow for AI project configuration
config:
# The name of the Foundry workspace
workspace: ${AZUREAI_PROJECT_NAME}
# Optional: Path to custom ML environment manifest
environment:
path: deployment/docker/environment.yml
# Optional: Path to your prompt flow folder that contains the flow manifest
flow:
path: ./contoso-chat
# Optional: Path to custom model manifest
model:
path: deployment/chat-model.yaml
overrides:
"properties.azureml.promptflow.source_flow_id": ${AZUREAI_FLOW_NAME}
# Required: Path to deployment manifest
deployment:
path: deployment/chat-deployment.yaml
environment:
PRT_CONFIG_OVERRIDE: deployment.subscription_id=${AZURE_SUBSCRIPTION_ID},deployment.resource_group=${AZURE_RESOURCE_GROUP},deployment.workspace_name=${AZUREAI_PROJECT_NAME},deployment.endpoint_name=${AZUREAI_ENDPOINT_NAME},deployment.deployment_name=${AZUREAI_DEPLOYMENT_NAME}
此 config.deployment 區段為必修,並根據參考的 YAML 檔案定義建立新的線上部署至相關線上端點。 此功能處理以下事項:
- 相關環境與模型在可用時會被參考。
-
azd等待部署進入終端配置狀態。 - 在成功部署時,所有流量都會轉移到新的部署版本。
- 所有先前的部署都會被刪除,以便釋放運算資源以供未來部署使用。
探索設定選項
每個支援的 AI/ML 線上端點功能,都支援根據您的特定情境進行自訂,使用以下章節所述的選項。
Flow
flow設定區塊為可選,支援以下數值:
名稱:流程的名稱。 如果未指定,則預設為。
<service-name>-flow-<timestamp>path:指向包含流程清單資料夾的相對路徑。
覆寫:任何可套用到流程中的自訂覆寫。
備註
每次呼叫
azd deploy都會產生一個具有時間戳記的新流程。
環境
environment設定區塊為可選,支援以下數值:
名稱:自訂環境的名稱。 如果未指定,則預設為。
<service-name>-environmentpath:指向自訂環境 yaml 清單的相對路徑。
覆寫:任何套用到環境的自訂覆寫。
備註
每次調用
azd deploy都會創建一個新的環境版本。
型號
model設定區塊為可選,支援以下數值:
名稱:客製化模型的名稱。 如果未指定,則預設為。
<service-name>-modelpath:指向自訂 模型 YAML manifest 的相對路徑。
覆寫:任何套用到模型上的自訂覆寫。
備註
每次呼叫
azd deploy都會產生一個新的模型版本。
部署
deployment
設定區塊是必填且支援以下數值的:
名稱:自訂部署的名稱。 如果未指定,則預設為。
<service-name>-deploymentpath:自訂 部署 YAML 清單檔案 的相對路徑。
environment:一個關鍵值對的映射,用以設定部署的環境變數。 支援使用
${VAR_NAME}語法從 OS/AZD 環境變數中替換環境變數。覆寫:任何套用到部署上的自訂覆寫。
備註
只支援管理式線上部署。
AgentSchema 與 agent.yaml
AgentSchema 是一個開放規範,用於以程式碼優先的 YAML 格式定義 AI 代理。 檔案 agent.yaml 描述代理的設定,包括其模型、指令、工具與連接。 AgentSchema 作為 Microsoft Copilot Studio、Microsoft Foundry 及其他平台之間的統一交換格式。
AgentSchema 支援兩種主要格式:
- AgentDefinition — 一個完整且具體的代理規範,可直接執行。 此格式用於單一用途代理,所有設定值皆已知且固定。
-
AgentManifest — 一個用於動態建立代理的參數化範本。 此格式可用於可重用的代理模式,例如模型名稱、連線或指令等值,在執行時以
{{parameter}}語法配置。
範例 agent.yaml
以下範例展示了一個可部署至 Microsoft Foundry 的託管agent.yaml定義azd。 頂部的結構註解告訴懂 YAML 的編輯器要對已發佈的 AgentSchema 進行驗證:
# yaml-language-server: $schema=https://raw.githubusercontent.com/microsoft/AgentSchema/refs/heads/main/schemas/v1.0/ContainerAgent.yaml
kind: hosted
name: customer-support
description: Handles customer inquiries and support requests
protocols:
- protocol: responses
version: v1
code_configuration:
runtime: python_3_14
entry_point: main.py
這個範例使用 kind: hosted 搭配 code_configuration 區塊,告知 azd 將您的原始碼封裝為 ZIP,並讓 Foundry 管理執行階段環境。 若要改為部署預先建置的容器映像,請將 code_configuration 替換為指向 Azure Container Registry 中映像的 image 欄位。
使用agent.yamlazd
azure.yaml 架構支援 azure.ai.agent 主機類型,用於部署代理程式至 Microsoft Foundry。 當您將 host 設為 azure.ai.agent 時,azd 會讀取您服務目錄中的 agent.yaml 檔案,並使用其 kind 欄位來判斷如何部署代理程式。 欲了解更多資訊,請參閱 azure.yaml 架構參考。
支援的 kind 值
kind頂部agent.yaml的欄位選擇展開形狀。
azd 會根據下表的值驗證此欄位,並在部署時拒絕其他值。
kind |
azd 會部署什麼 |
何時使用 |
|---|---|---|
hosted |
由 Foundry 託管的代理程式。 部署子模式取決於檔案中包含哪些欄位:若要進行程式碼部署(ZIP 上傳、由 Foundry 管理的執行階段),請新增 code_configuration;若要進行容器部署(來自 Azure Container Registry 的預先建置映像),請新增 image。 |
大多數由 azd ai agent init 建立的代理程式。 想用 Foundry 管理執行時就用 code deploy;需要完全控制映像時就用容器部署。 |
備註
AgentSchema 是比 azd 目前部署的內容更廣泛的規範。 如果你在 AgentSchema 參考資料中看到其他的 kind 值(例如僅含提示的代理程式定義),表示 azd 不支援這些格式,azd deploy 也不接受這些格式。
欲了解更多 AgentSchema 資訊,請參閱以下資源:
相關內容
請求幫助
如需了解如何提出錯誤、請求協助或建議Azure開發者 CLI 新功能,請造訪 troubleshooting and support 頁面。