Criar ferramentas de agentes de IA
Importante
Esse recurso está em uma versão prévia.
Este artigo mostra como criar ferramentas para agentes de IA usando o Mosaic AI Agent Framework. Para saber mais, consulte O que são sistemas compostos de IA e agentes de IA?.
Os agentes de IA usam ferramentas para executar ações além da geração de linguagem, como recuperar dados estruturados ou não estruturados, executar código ou conversar com serviços remotos (por exemplo, enviar um e-mail ou uma mensagem do Slack).
Para fornecer ferramentas a um agente com o Mosaic AI Agent Framework, você pode usar qualquer combinação dos seguintes métodos:
- Crie ferramentas com funções do Catálogo do Unity: as funções do Catálogo do Unity fornecem fácil descoberta, governança e compartilhamento. As funções do Catálogo do Unity funcionam especialmente bem para aplicar transformações e agregações em grandes conjuntos de dados.
- Criar ferramentas com código de agente: essa abordagem é útil ao fazer chamadas para APIs REST, usar código ou bibliotecas arbitrárias ou executar ferramentas com latência muito baixa. No entanto, essa abordagem não tem a capacidade de descoberta e governança internas fornecidas pelas funções do Catálogo do Unity. Avalie essa compensação ao criar seu agente para determinar qual abordagem é melhor.
Ambas as abordagens funcionam para agentes escritos em código Python personalizado ou usando uma biblioteca de criação de agente como o LangGraph.
Melhore a chamada de ferramentas com documentação
Os agentes de IA usam sua documentação para entender quando e como usar as ferramentas que você fornece. Portanto, ao definir ferramentas, certifique-se de adicionar documentação clara e detalhada para a ferramenta, seus parâmetros e seus valores de retorno.
Para funções do Catálogo do Unity, use COMMENT
para descrever a ferramenta.
Requisitos
- O Databricks recomenda instalar a versão mais recente do cliente Python do MLflow ao desenvolver operadores. Confira Autenticação para recursos dependentes para obter informações sobre os requisitos da versão
mlflow
.
Criar ferramentas com funções do Catálogo do Unity
Os exemplos a seguir mostram como criar ferramentas de agente com funções do Catálogo do Unity.
Ferramenta executora Python
Este exemplo cria uma ferramenta para executar código Python.
Um LLM pode usar essa ferramenta para executar código Python fornecido por um usuário ou escrito pelo LLM.
Execute o código a seguir em um CÉL notebook. Ele usa a mágica do notebook %sql
para criar uma função do Catálogo do Unity chamada python_exec
.
%sql
CREATE OR REPLACE FUNCTION
main.default.python_exec (
code STRING COMMENT 'Python code to execute. Remember to print the final result to stdout.'
)
RETURNS STRING
LANGUAGE PYTHON
DETERMINISTIC
COMMENT 'Executes Python code in the sandboxed environment and returns its stdout. The runtime is stateless, and you can not read the output of the previous tool executions. No such variables, "rows", or "observations" were defined. Calling another tool inside a Python code is NOT allowed. Use standard Python libraries only.'
AS $$
import sys
from io import StringIO
sys_stdout = sys.stdout
redirected_output = StringIO()
sys.stdout = redirected_output
exec(code)
sys.stdout = sys_stdout
return redirected_output.getvalue()
$$
Ferramenta de consulta de tabela
Este exemplo cria uma ferramenta para consultar dados do cliente de uma tabela do Catálogo do Unity.
Ele cria uma função do Catálogo do Unity chamada lookup_customer_info
que um LLM pode usar para recuperar dados estruturados de uma tabela hipotética customer_data
.
Execute o código a seguir em um editor de SQL.
CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
customer_name STRING COMMENT 'Name of the customer whose info to look up'
)
RETURNS STRING
COMMENT 'Returns metadata about a particular customer given the customer name, including the customer email and ID. The
customer ID can be used for other queries.'
RETURN SELECT CONCAT(
'Customer ID: ', customer_id, ', ',
'Customer Email: ', customer_email
)
FROM main.default.customer_data
WHERE customer_name = customer_name
LIMIT 1;
Atribuir ferramentas do Catálogo do Unity aos agentes
Depois de criar as ferramentas do Catálogo do Unity, atribua as ferramentas ao seu agente para que ele possa usá-las.
Esta seção descreve como criar um agente de chamada de ferramenta usando o playground de IA.
Exportar agentes de chamada de ferramentas do AI Playground
Use o AI Playground para atribuir ferramentas do Catálogo do Unity a um LLM, testar o agente e exportar o código que define o agente de chamada de ferramenta.
Para usar o AI Playground para exportar agentes, seu espaço de trabalho deve atender aos seguintes requisitos:
- Catálogo do Unity habilitado
- Computação sem servidor habilitada
- Modelos de base de pagamento por token ou modelos externos habilitados
No Playground, selecione um modelo com o rótulo Ferramentas ativadas .
Selecione Ferramentas e clique em Adicionar uma ferramenta.
No menu suspenso, selecione uma função do Catálogo do Unity:
Use o Playground para conversar e testar a combinação atual de LLM, ferramentas e prompt do sistema. Experimente variações para ter uma ideia de como a configuração atual funciona.
Depois de adicionar ferramentas, exporte o agente para notebooks Python:
Clique em Exportar para gerar blocos de anotações do Python que definem e implantam o agente.
Depois de exportar o código do agente, você verá três arquivos salvos em seu espaço de trabalho:
- Notebook
agent
: contém código Python que define seu agente usando LangChain. - Notebook
driver
: contém código Python para registrar em log, rastrear, registrar e implantar o agente de IA usando a Estrutura de Agente de IA do Mosaico. config.yml
: Contém informações de configuração sobre seu agente, incluindo definições de ferramentas.
- Notebook
Abra o
agent
notebook para ver o código LangChain que define seu agente. Use este notebook para testar e iterar no agente programaticamente, como definir mais ferramentas.Quando estiver satisfeito com as saídas do agente, você poderá executar o
driver
notebook para registrar e implantar seu agente em um ponto de extremidade do Serviço de Modelo.
Criar ferramentas com código de agente
Você também pode criar ferramentas no código do agente em vez de nas funções do Catálogo do Unity.
Essa abordagem é útil ao chamar APIs REST, usar código ou bibliotecas arbitrárias ou executar ferramentas de baixa latência. No entanto, a definição de ferramentas no código do agente não tem a capacidade de descoberta e a governança fornecidas pelas funções do Catálogo do Unity.
Para obter um exemplo de uma ferramenta de recuperação de pesquisa de vetor definida no código do agente, consulte Criar uma ferramenta de recuperação de pesquisa de vetor.