Skapa anpassade AI-agentverktyg med Unity Catalog-funktioner
Viktig
Den här funktionen finns i offentlig förhandsversion.
Lär dig hur du skapar AI-agentverktyg med hjälp av Unity Catalog-funktioner för att köra anpassad Python-kod för uppgiftsspecifika åtgärder.
Vad är UCFunctionToolkit
Databricks rekommenderar att du använder UCFunctionToolkit
för att skapa och använda agentverktyg som definierats med Unity Catalog-funktioner.
UCFunctionToolkit
är en viktig komponent i Unity Catalog AI Core Library som förenklar processen att skapa och använda Unity Catalog-funktioner som verktyg i AI-ramverk som LangChain. Den fungerar som en brygga mellan Unity Catalog-funktioner och AI-agenter.
När du har konfigurerat kan du skapa Unity Catalog-funktioner, omsluta dem med UCFunctionToolkit
och använda dem som verktyg i dina AI-agenter. Den här abstraktionen möjliggör konsekvent skapande av verktyg mellan redigeringsbibliotek och möjliggör funktioner som automatisk spårning av hämtningsfunktioner, vilket gör det enklare att visa hämtade dokument och relaterade data.
Mer information och exempel finns i snabbstarten för Unity Catalogs AI Core-bibliotek.
Definiera en Unity Catalog-funktion
Om du vill använda UCFunctionToolkit
måste du installera Unity Catalog AI Core Library och alla nödvändiga integreringspaket.
## 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]
Not
I det här exemplet används LangChain. Du måste installera rätt paket för agentbiblioteket. Till exempel bör OpenAI-agenter använda %pip install unitycatalog-openai[databricks]
. Se AI-integreringar i Unity Catalog.
Skapa en Unity Catalog-funktion som innehåller verktygets logik.
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,
)
Använda funktionen som ett verktyg
När du har skapat en funktion kan du göra den tillgänglig för AI-redigeringsbibliotek genom att omsluta den i en verktygslåda. I följande exempel används LangChain, men en liknande metod kan tillämpas på andra ramverk:
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
Mer information om UCFunctionToolKit
finns i dokumentationen Unity Catalog.
Inbyggt Python-körverktyg
Azure Databricks har också en inbyggd Unity Catalog-funktion som gör att AI-agenter dynamiskt kan köra Python-kod i frågor dynamiskt.
system.ai.python_exec
är tillgängligt som standard och kan användas som andra funktionsbaserade verktyg i Unity Catalog.
I följande exempel visas hur du använder funktionen python_exec
i en SQL-fråga:
SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")