Udostępnij za pośrednictwem


Projektowanie niestandardowych narzędzi agenta AI za pomocą funkcji katalogu Unity

Ważny

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Dowiedz się, jak tworzyć narzędzia agenta sztucznej inteligencji przy użyciu funkcji Katalogu Unity do wykonywania niestandardowego kodu Python dla operacji specyficznych dla konkretnego zadania.

Co to jest UCFunctionToolkit

Databricks zaleca używanie UCFunctionToolkit do tworzenia i korzystania z narzędzi agenta zdefiniowanych przy użyciu funkcji katalogu Unity.

UCFunctionToolkit jest kluczowym składnikiem głównej biblioteki AI Unity Catalog, która upraszcza proces tworzenia i używania funkcji Unity Catalog jako narzędzi w ramach AI, takich jak LangChain. Służy to jako most między technologiami katalogu Unity a agentami sztucznej inteligencji.

Po skonfigurowaniu można tworzyć funkcje Katalogu Unity, opakować je w UCFunctionToolkiti używać ich jako narzędzi w swoich agentach AI. Ta abstrakcja umożliwia spójne tworzenie narzędzi w bibliotekach autorskich i pozwala na korzystanie z funkcji takich jak automatyczne śledzenie funkcji pobierających, co ułatwia wyświetlanie pobranych dokumentów i powiązanych danych.

Aby uzyskać więcej informacji i przykładów, zobacz przewodnik Szybki start dotyczący biblioteki AI Core katalogu Unity Catalog.

Zdefiniuj funkcję katalogu Unity

Aby użyć UCFunctionToolkit, należy zainstalować biblioteki podstawowe AI Unity Catalog oraz wszelkie niezbędne pakiety integracyjne.

## 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]

Notatka

W tym przykładzie użyto języka LangChain. Należy zainstalować poprawny pakiet dla biblioteki agentów. Na przykład agenci openAI powinni używać %pip install unitycatalog-openai[databricks]. Zobacz integracje AI katalogu Unity.

Utwórz funkcję Unity Catalog zawierającą logikę narzędzia.

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,
)

Używanie funkcji jako narzędzia

Po utworzeniu funkcji można ją udostępnić bibliotekom tworzenia sztucznej inteligencji, opakowując ją w zestaw narzędzi. W poniższym przykładzie użyto biblioteki LangChain, ale podobne podejście można zastosować do innych struktur:

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

Aby uzyskać więcej informacji na temat UCFunctionToolKit, zajrzyj do dokumentacji Unity Catalog .

Wbudowane narzędzie wykonawcze języka Python

Usługa Azure Databricks udostępnia również wbudowaną funkcję katalogu Unity, która umożliwia agentom sztucznej inteligencji dynamiczne wykonywanie kodu w języku Python w zapytaniach.

system.ai.python_exec jest domyślnie dostępna i może być używana jak każde inne narzędzie oparte na funkcjach Unity Catalog.

W poniższym przykładzie pokazano, jak używać funkcji python_exec w zapytaniu SQL:

SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")