Unity Catalog 関数でカスタム AI エージェントツールを作成
関数を使用してAIエージェントツールを作成し、カスタムロジックを実行し、特定のタスクを実行する方法を学びます。
ライブラリ UCFunctionToolkit
Databricks では、 UCFunctionToolkit
を使用して、Unity Catalog 関数で定義されたエージェント ツールを作成および使用することをお勧めします。
UCFunctionToolkit
は、Unity CatalogのAIコアライブラリの主要なコンポーネントであり、Unity Catalog AI関数をツールとして使用してLangChain のような フレームワークのプロセスを簡素化します。これは、Unity Catalog 機能と AI エージェントの間の架け橋として機能します。
セットアップが完了したら、Unity Catalog 関数を作成し、それらを UCFunctionToolkit
でラップして、AI エージェントのツールとして使用できます。 この抽象化により、オーサリングライブラリ間で一貫したツールの作成が可能になり、取得者関数の自動トレースなどの機能が有効になり、取得したドキュメントや関連データを簡単に表示できます。
詳細については Unity Catalogの AI Core ライブラリのクイックスタート を参照してください。
Unity Catalog 関数を定義する
UCFunctionToolkit
を使用するには、 Unity Catalog AI Core ライブラリと必要な統合パッケージをインストールする必要があります。
## Install UCToolkit for LangChain with the Databricks extra
# Install the core package for databricks
%pip install unitycatalog-ai[databricks]
# Install the LangChain integration
%pip install unitycatalog-langchain[databricks]
この例では LangChain を使用しているため、エージェント ライブラリの正しいパッケージをインストールする必要があります。 たとえば、OpenAI エージェントは %pip install unitycatalog-openai[databricks]
を使用する必要があります。 「Unity Catalog AI の統合」を参照してください。
ツールのロジックを含む Unity Catalog 関数を作成します。
from unitycatalog.ai.core.databricks import DatabricksFunctionClient
client = DatabricksFunctionClient()
CATALOG = "my_catalog"
SCHEMA = "my_schema"
def add_numbers(number_1: float, number_2: float) -> float:
"""
A function that accepts two floating point numbers adds them,
and returns the resulting sum as a float.
Args:
number_1 (float): The first of the two numbers to add.
number_2 (float): The second of the two numbers to add.
Returns:
float: The sum of the two input numbers.
"""
return number_1 + number_2
function_info = client.create_python_function(
func=add_numbers,
catalog=CATALOG,
schema=SCHEMA,
)
機能をツールとして使用する
関数を作成したら、ツールキットにラップすることで、AI オーサリングライブラリからアクセス可能にすることができます。 次の例では LangChain を使用していますが、同様のアプローチを他のフレームワークにも適用できます。
from unitycatalog.ai.langchain.toolkit import UCFunctionToolkit
# Define the UC function to be used as a tool
func_name = f"{CATALOG}.{SCHEMA}.add_numbers"
# Create a toolkit with the UC function
toolkit = UCFunctionToolkit(function_names=[func_name], client=client)
tools = toolkit.tools
UCFunctionToolKit
の詳細については、 Unity Catalog のドキュメントを参照してください。