Vytváření vlastních nástrojů agenta AI pomocí funkcí katalogu Unity
Důležitý
Tato funkce je ve verzi Public Preview.
Naučte se vytvářet nástroje agenta AI pomocí funkcí katalogu Unity ke spouštění vlastního kódu Pythonu pro operace specifické pro úlohy.
Co je UCFunctionToolkit
Databricks doporučuje používat UCFunctionToolkit
k vytváření a používání nástrojů agentů definovaných pomocí funkcí katalogu Unity.
UCFunctionToolkit
je klíčovou součástí základní knihovny Unity Catalog AI, která zjednodušuje proces vytváření a používání funkcí katalogu Unity jako nástrojů v architekturách AI, jako je LangChain. Slouží jako most mezi funkcemi katalogu Unity a agenty AI.
Po nastavení můžete vytvářet funkce katalogu Unity, zabalit je UCFunctionToolkit
a používat je jako nástroje v agentech AI. Tato abstrakce umožňuje konzistentní vytváření nástrojů napříč knihovnami pro vytváření a umožňuje funkce, jako je automatické trasování funkcí retrieveru, což usnadňuje zobrazení načtených dokumentů a souvisejících dat.
Další informace a příklady najdete v rychlém startu knihovny AI Core od katalogu Unity.
Definování funkce Katalogu Unity
Pokud chcete použít UCFunctionToolkit
, musíte nainstalovat knihovnu AI Core Library katalogu Unity a všechny nezbytné integrační balíčky.
## 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]
Poznámka
Tento příklad používá LangChain, musíte nainstalovat správný balíček pro knihovnu pro agenty. Například agenti OpenAI by měli používat %pip install unitycatalog-openai[databricks]
. Viz integrace AI katalogu Unity.
Vytvořte funkci Katalogu Unity obsahující logiku nástroje.
from unitycatalog.ai.core.databricks import 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,
)
Použití funkce jako nástroje
Jakmile vytvoříte funkci, můžete ji zpřístupnit knihovnám pro vytváření AI tak, že ji zabalíte do sady nástrojů. Následující příklad používá LangChain, ale podobný přístup lze použít u jiných frameworků.
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
Další informace o UCFunctionToolKit
naleznete v dokumentaci k katalogu Unity.
Integrovaný nástroj pro vykonávání Pythonu
Azure Databricks také poskytuje integrovanou funkci katalogu Unity, která umožňuje agentům AI dynamicky spouštět kód Pythonu v rámci dotazů.
system.ai.python_exec
je ve výchozím nastavení k dispozici a dá se použít jako jakýkoli jiný nástroj založený na funkcích katalogu Unity.
Následující příklad ukazuje, jak použít funkci python_exec
v dotazu SQL:
SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")