建立 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 工具範例
如需代理程式工具的範例,請參閱下列文章:
- 程式代碼解釋器工具 允許代理程式執行 Python 之類的任意程序代碼。
- 結構化數據擷取工具 可讓您的代理程式查詢結構化數據源,例如 SQL 資料表。
- 非結構化數據擷取工具 可讓您的智能代理查詢非結構化數據源,例如文本語料庫來執行檢索增強生成。
將 Unity 目錄工具新增至代理程式
建立 Unity 目錄工具之後,請將它們新增至您的代理程式。 LangChain 代理程式可以利用 UCFunctionToolkit 來納入 UC 工具。
從 AI 遊樂場匯出工具呼叫代理程式
AI 遊樂場 提供將 Unity 目錄工具新增至 LLM、測試代理程式及導出其程式代碼的便利方式。
若要使用 AI 遊樂場匯出代理程式,您的工作區必須符合下列需求:
- 必須啟用 Unity 目錄。
- 必須啟用無伺服器計算
。 - 必須啟用 以每個令牌付費的基礎模型 或 外部模型。
使用下列步驟匯出工具呼叫代理程式代碼:
從 AI 遊樂場中,選取已啟用 工具 標籤的模型。
選取 [工具 ],然後按兩下 [ 新增工具]。
在下拉功能表中,選取 Unity 目錄函式:
使用遊樂場來聊天及測試 LLM、工具和系統提示的目前組合。 請嘗試變化來瞭解目前設定的運作方式。
新增工具之後,將代理程序匯出至 Python 筆記本:
按兩下 [ 匯出 ] 以產生可定義及部署代理程式的 Python 筆記本。
匯出代理程式代碼之後,您會看到儲存至工作區的三個檔案:
-
agent
筆記本:包含使用 LangChain 定義代理程式的 Python 程式碼。 -
driver
筆記本:包含 Python 程式碼,可使用 Mosaic AI 代理程式架構來記錄、追蹤、註冊及部署 AI 代理程式。 -
config.yml
:包含代理程式的組態資訊,包括工具定義。
-
agent
開啟筆記本以查看定義代理程式的 LangChain 程式代碼。 使用此筆記本以程式設計方式測試並反覆查看代理程式,例如定義更多工具。當您滿意代理程式的輸出時,請執行
driver
Notebook 來記錄代理程式並將其部署至模型服務端點。
下一步
- 追蹤代理。