Dela via


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 UCFunctionToolkitoch 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 UCFunctionToolkitmå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 UCFunctionToolKitfinns 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)
""")