Criar ferramentas personalizadas do agente AI com funções Unity Catalog

Prévia

Esse recurso está em Pré-lançamento público.

Saiba como criar ferramentas de agente AI usando as funções Unity Catalog para executar o código Python personalizado para operações específicas da tarefa.

O que é UCFunctionToolkit

A Databricks recomenda o uso de UCFunctionToolkit para criar e usar ferramentas de agente definidas com as funções do Unity Catalog.

UCFunctionToolkit é um componente key da biblioteca Unity Catalog AI Core que simplifica o processo de criação e uso de funções Unity Catalog como ferramentas em estruturas AI como LangChain. Ele serve como uma ponte entre as funções Unity Catalog e os agentes AI.

Uma vez configurado, o senhor pode criar funções Unity Catalog, envolvê-las com UCFunctionToolkit e usá-las como ferramentas em seus agentes AI. Essa abstração permite a criação consistente de ferramentas em toda a biblioteca de autoria e possibilita recursos como o rastreamento automático de funções de recuperação, facilitando a view recuperação de documentos e dados relacionados.

Consulte oUnity Catalog's AI Core biblioteca quickstart para obter mais informações e exemplos.

Definir uma função do Unity Catalog

Para usar UCFunctionToolkit, o senhor deve instalar a biblioteca Unity Catalog AI Core e qualquer pacote de integração necessário.

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

Observação

Este exemplo usa LangChain, o senhor deve instalar o pacote correto para sua biblioteca de agentes. Por exemplo, os agentes da OpenAI devem usar %pip install unitycatalog-openai[databricks]. Consulte Unity Catalog AI integrações.

Crie uma função do Unity Catalog que contenha a lógica da ferramenta.

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

Use a função como uma ferramenta

Depois de criar uma função, o senhor pode torná-la acessível para a biblioteca de autoria AI, envolvendo-a em um kit de ferramentas. O exemplo a seguir usa o LangChain, mas uma abordagem semelhante pode ser aplicada a outras estruturas:

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

Para obter mais informações sobre UCFunctionToolKit, consulte a documentaçãoUnity Catalog .

Ferramenta integrada do executor Python

Databricks também oferece uma função integrada Unity Catalog que permite que os agentes AI executem dinamicamente o código Python em consultas de forma dinâmica.

system.ai.python_exec está disponível em default e pode ser usado como qualquer outra ferramenta baseada na função Unity Catalog.

O exemplo a seguir mostra como usar a função python_exec em uma consulta SQL:

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