使用 Microsoft Agent Framework 建立 Azure AI 代理程式
Tip
有關更多詳細信息,請參閱 文本和圖像 選項卡!
Foundry 代理服務是使用 Microsoft 代理框架建置的生產環境的推薦提供者。 它能處理服務端持續的對話紀錄,支援內建工具如程式碼執行與檔案搜尋,並與 Azure 身份管理無縫整合。 這些功能讓你能專注於客服人員的行為,而非其基礎設施的負擔。
設定 Foundry 代理程式
建立並與 Foundry 代理互動遵循一致的步驟序列。
1. 建立你的鑄造廠專案
在撰寫任何程式碼之前,你需要一個 Microsoft Foundry 專案,並有一個已部署的模型。 你透過兩項資訊連結你的專案:
- Project 端點——你的 Foundry project 網址。
- 模型部署名稱——你想用於代理的模型部署名稱。
2. 設定認證
代理框架會透過 Azure 憑證連接到你的 Foundry 專案。 在大多數情況下,DefaultAzureCredential會根據你的環境自動解析正確的憑證——開發時使用 Azure CLI,生產環境中使用受管理身份。 不需要硬編碼連接字串或 API 金鑰。
3. 初始化 Foundry 聊天客戶端
建立一個 Foundry 聊天客戶端,提供你的憑證、專案端點和模型名稱。 此客戶端是您的應用程式與 Foundry 代理服務之間的橋樑。 它負責認證、請求路由及服務端會話管理。
4. 建立代理人
使用聊天客戶端,提供一組定義其行為的指令來建立一個代理:
- 指令——定義代理人角色、目標與限制的系統提示
- 工具(可選)—代理程式可呼叫的自訂函式,用以執行動作或擷取資訊
框架會註冊你提供的任何工具,並自動產生它們的結構,讓模型知道何時以及如何調用它們。
5. 建立工作階段並執行 Agent
要開始互動,你必須透過代理實例開啟 一個會話 。 工作階段會做為交談狀態的容器。 你將使用者訊息傳送到會話的執行方法,該方法會處理提示、協調必要的工具呼叫,並回傳模型的回應。
多回合對話
呼叫代理的執行方法即可處理一次交換——一個使用者訊息,一個回應。 真正的對話需要代理人記住之前回合說過的內容。 這就是 療程 的意義所在。
對 Foundry 提供者而言,會話是由 服務端儲存支援——對話歷史記錄存在於 Foundry 代理服務中,而非應用程式的記憶體中。
持久歷史——由於狀態存在於服務端,使用者的對話仍能跨越多個請求持續進行,即使你的應用程式重新啟動或擴展到多個實例。
本地歷史——對於不支援服務端歷史的提供者,框架會在會話物件內的記憶體中維持對話狀態。 局部歷史適合短命或無狀態的應用程式,但不會在程序重新啟動後持續存在。
非串流與串流回應
代理框架支援兩種回應模式:
非串流(同步)——執行方法會等待代理完成處理後,回傳完整的回應物件。 非串流是最簡單的模式,當你不需要逐一顯示輸出時,效果很好。
串流(非同步)——run 方法會回傳回應串流,讓你以非同步方式逐一迭代,並在模型生成內容時接收部分更新。 串流更適合面向使用者的介面,因為顯示輸出會逐步提升體驗。
在這兩種情況下,回應都會提供一個 text 屬性,用來彙整代理程式輸出中的所有文字內容,因此無論使用哪一種模式,都能輕鬆擷取最終答案。