將工具新增至 Azure AI 代理程式

已完成

在 Microsoft 代理程式架構中,工具可讓您的 AI 代理程式使用現有的 API 和服務來執行無法自行執行的工作。 工具通過函數調用工作,允許 AI 自動請求和使用特定功能。 框架將請求路由到程式碼庫中的適當函數,並將結果傳回大型語言模型 (LLM),以便產生最終回應。

若要啟用自動函式呼叫,工具需要提供描述其運作方式的詳細資料。 函數的輸入、輸出和用途應該以 AI 可以理解的方式描述,否則 AI 無法正確呼叫函數。

如何使用 Microsoft Foundry 代理工具

Microsoft Agent Framework 支援自訂函式工具和內建工具,這些工具可立即使用。

內建工具

Microsoft Foundry 代理程式內建了幾個你可以立即使用的工具:

  • 程式碼解釋器 - 執行 Python 程式碼進行計算、資料分析等
  • 檔案搜尋 - 搜尋和分析文件
  • 網路搜尋 - 從網際網路擷取資訊

這些工具會自動可用,不需要任何額外的設定。

自訂功能工具

在為您的 Microsoft Foundry 代理建立客製化工具時,您需要了解幾個關鍵概念:

  1. 函數定義和註釋

    透過定義具有適當類型註釋的常規 Python 函數來建立您的工具。 使用 AnnotatedField from Pydantic 提供詳細描述,幫助 AI 理解函數的用途以及如何使用其參數。 您的註釋描述性越強,AI 就越能理解何時以及如何呼叫您的函數。

  2. 將工具新增至您的代理程式

    建立時,使用 tools 參數將您的自訂函數傳遞給 ChatAgent。 您可以新增單一函式或多個函式的清單。 框架會自動註冊這些函數,並使其可供 AI 調用。

  3. 透過對話來調用工具

    向代理程式註冊工具後,您不需要手動叫用它們。 相反,向代理提出問題或給它一些自然會需要使用您工具功能的任務。 AI 根據對話上下文和您提供的工具描述自動確定何時呼叫您的工具。

  4. 多種工具和協調

    您可以將多個工具添加到單個代理,AI 會根據用戶的請求自動選擇要使用的工具。 該框架處理協調流程,呼叫適當的函數並結合其結果以提供全面的回應。

工具開發的最佳實務

  • 清晰描述: 為您的功能和參數撰寫清晰、詳細的描述,以幫助 AI 理解其用途
  • 類型註釋: 使用適當的 Python 類型提示來指定預期的輸入和輸出類型
  • 錯誤處理: 在您的工具函數中實現適當的錯誤處理,以優雅地處理意外輸入
  • 返回有意義的數據: 確保您的函數返回 AI 可以在其回應中有效使用的數據
  • 保持功能專注:設計每個工具來處理特定任務,而不是試圖在一個功能中做太多事情

遵循這些概念,您可以擴充 Microsoft Foundry 代理,加入內建與自訂工具,使其能與 API 互動並執行進階任務。 這種方法使您的人工智慧更加強大,並且能夠有效地處理現實世界的應用程式。