共用方式為


建立 AI 代理程式工具

重要

這項功能處於公開預覽狀態

本文提供使用馬賽克 AI 代理程式架構建置 AI 代理程式工具的概觀。

Agent Framework 可協助開發人員建立 AI 代理程式可用來執行語言產生以外的動作的工具,例如擷取結構化或非結構化數據或執行程式碼。

如需 AI 代理程式的簡介,請參閱 什麼是複合 AI 系統和 AI 代理程式?

Unity Catalog 功能工具與代理程式代碼工具

若要使用馬賽克 AI 代理程式架構建立工具並將其新增至代理程式,您可以使用下列方法的任何組合:

  • Unity 目錄函式: Unity 目錄函式是在 Unity 目錄內定義和管理,提供內建的安全性與合規性功能。 將工具撰寫為 Unity 目錄函式,可讓探索性、治理和重複使用更容易。 Unity 目錄函式特別適用於在大型數據集上套用轉換和匯總。
  • 代理程式代碼工具: 這些工具定義於定義 AI 代理程式的相同程式代碼中。 呼叫 REST API、使用任意程式代碼或連結庫,或執行低延遲工具時,此方法很有用。 不過,此方法缺少 Unity 目錄函式所提供的內建可探索性和控管。

這兩種方法都與以自定義 Python 程式碼撰寫的代理程式相容,或使用 LangGraph 等代理程式製作函式庫。

若要查看 Unity 目錄函式工具和代理程式代碼工具的範例,請參閱 Agent 工具範例

使用檔案改善工具通話

清楚和詳細的文件可協助 AI 代理程式瞭解使用您提供之工具的時機和方式。 建立工具時,請徹底記載工具參數並傳回值,以確保您的 AI 代理程式正確且適時地使用這些工具:

針對 Unity 目錄函式,請使用 COMMENT 來描述工具和參數。

有效工具檔的範例

下列範例顯示查詢結構化數據表之 Unity Catalog 函式工具的有效 COMMENT 字串。

CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
  customer_name STRING COMMENT 'Name of the customer whose info to look up.'
)
RETURNS STRING
COMMENT 'Returns metadata about a specific customer including their email and ID.'
RETURN SELECT CONCAT(
    'Customer ID: ', customer_id, ', ',
    'Customer Email: ', customer_email
  )
  FROM main.default.customer_data
  WHERE customer_name = customer_name
  LIMIT 1;

無效工具檔的範例

下列範例顯示遺漏關鍵資訊的無效 COMMENT 字串,例如傳回值。

CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
  customer_name STRING COMMENT 'Name of the customer.'
)
RETURNS STRING
COMMENT 'Returns info about a customer.'
RETURN SELECT CONCAT(
    'Customer ID: ', customer_id, ', ',
    'Customer Email: ', customer_email
  )
  FROM main.default.customer_data
  WHERE customer_name = customer_name
  LIMIT 1;

Agent 工具範例

如需代理程式工具的範例,請參閱下列文章:

將 Unity 目錄工具新增至代理程式

建立 Unity 目錄工具之後,請將它們新增至您的代理程式。 LangChain 代理程式可以利用 UCFunctionToolkit 來納入 UC 工具。

從 AI 遊樂場匯出工具呼叫代理程式

AI 遊樂場 提供將 Unity 目錄工具新增至 LLM、測試代理程式及導出其程式代碼的便利方式。

若要使用 AI 遊樂場匯出代理程式,您的工作區必須符合下列需求:

使用下列步驟匯出工具呼叫代理程式代碼:

  1. 從 AI 遊樂場中,選取已啟用 工具 標籤的模型。

    選取工具呼叫 LLM

  2. 選取 [工具 ],然後按兩下 [ 新增工具]。

  3. 在下拉功能表中,選取 Unity 目錄函式:

    選取工具

  4. 使用遊樂場來聊天及測試 LLM、工具和系統提示的目前組合。 請嘗試變化來瞭解目前設定的運作方式。

    建立 LLM 原型

    新增工具之後,將代理程序匯出至 Python 筆記本:

  5. 按兩下 [ 匯出 ] 以產生可定義及部署代理程式的 Python 筆記本。

    匯出代理程式代碼之後,您會看到儲存至工作區的三個檔案:

    • agent 筆記本:包含使用 LangChain 定義代理程式的 Python 程式碼。
    • driver 筆記本:包含 Python 程式碼,可使用 Mosaic AI 代理程式架構來記錄、追蹤、註冊及部署 AI 代理程式。
    • config.yml:包含代理程式的組態資訊,包括工具定義。
  6. agent開啟筆記本以查看定義代理程式的 LangChain 程式代碼。 使用此筆記本以程式設計方式測試並反覆查看代理程式,例如定義更多工具。

  7. 當您滿意代理程式的輸出時,請執行 driver Notebook 來記錄代理程式並將其部署至模型服務端點。

下一步