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