Создание пользовательских средств агента ИИ с помощью функций каталога Unity
Важный
Эта функция доступна в общедоступной предварительной версии.
Узнайте, как создавать средства агента ИИ с помощью функций каталога Unity для выполнения пользовательского кода Python для операций, относящихся к задачам.
Что такое UCFunctionToolkit
Databricks рекомендует использовать UCFunctionToolkit
для создания и использования средств агента, определенных с помощью функций каталога Unity.
UCFunctionToolkit
является ключевым компонентом библиотеки AI Core каталога Unity, которая упрощает процесс создания и использования функций каталога Unity в качестве инструментов в платформах ИИ, таких как LangChain. Он служит мостом между функциями каталога Unity и агентами ИИ.
После настройки можно создать функции каталога Unity, упаковать их в UCFunctionToolkit
и использовать их в качестве инструментов в агентах ИИ. Эта абстракция позволяет согласованно создавать средства в библиотеках разработки и обеспечивает такие функции, как автоматическая трассировка функций извлекателя, что упрощает просмотр извлеченных документов и связанных данных.
См. краткое руководство по библиотеке AI Core каталога Unity для получения дополнительной информации и примеров.
Определение функции каталога Unity
Чтобы использовать UCFunctionToolkit
, необходимо установить библиотеку AI Core каталога Unity и все необходимые пакеты интеграции.
## 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]
Заметка
В этом примере используется LangChain, необходимо установить правильный пакет для библиотеки агентов. Например, агенты OpenAI должны использовать %pip install unitycatalog-openai[databricks]
. См. интеграции каталога Unity.
Создайте функцию каталога Unity, содержащую логику средства.
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,
)
Использование функции в качестве инструмента
После создания функции вы можете сделать ее доступной для библиотек разработки ИИ, упаковав ее в набор средств. В следующем примере используется LangChain, но аналогичный подход можно применить к другим платформам:
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
Для получения дополнительной информации о UCFunctionToolKit
см. документацию каталога Unity .
Встроенное средство исполнителя Python
Azure Databricks также предоставляет встроенную функцию каталога Unity, которая позволяет агентам ИИ динамически выполнять код Python в запросах.
system.ai.python_exec
доступен по умолчанию и может использоваться как любое другое средство на основе функций каталога Unity.
В следующем примере показано, как использовать функцию python_exec
в SQL-запросе:
SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")