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 UCFunctionToolkit
i 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)
""")