閱讀英文

共用方式為


建立 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 來記錄代理程式並將其部署至模型服務端點。

下一步