Criando e Utilizando Ferramentas no CrewAI
Este guia traz instruções detalhadas sobre como criar ferramentas personalizadas para o framework CrewAI e como gerenciar e utilizar essas ferramentas de forma eficiente, incorporando funcionalidades recentes, como delegação de ferramentas, tratamento de erros e chamada dinâmica de ferramentas. Destaca também a importância de ferramentas de colaboração, permitindo que agentes executem uma ampla gama de ações.Subclassificando BaseTool
Para criar uma ferramenta personalizada, herde de BaseTool e defina os atributos necessários, incluindo o args_schema para validação de entrada e o método _run.
Code
Usando o Decorador tool
Como alternativa, você pode utilizar o decorador de ferramenta @tool. Esta abordagem permite definir os atributos e as funcionalidades da ferramenta diretamente em uma função,
oferecendo uma maneira concisa e eficiente de criar ferramentas especializadas de acordo com suas necessidades.
Code
Definindo uma Função de Cache para a Ferramenta
Para otimizar o desempenho da ferramenta com cache, defina estratégias de cache personalizadas utilizando o atributocache_function.
Code
Criando Ferramentas Assíncronas
O CrewAI suporta ferramentas assíncronas para operações de I/O não bloqueantes. Isso é útil quando sua ferramenta precisa fazer requisições HTTP, consultas a banco de dados ou outras operações de I/O.Usando o Decorador @tool com Funções Assíncronas
A maneira mais simples de criar uma ferramenta assíncrona é usando o decorador @tool com uma função async:
Code
Subclassificando BaseTool com Suporte Assíncrono
Para maior controle, herde de BaseTool e implemente os métodos _run (síncrono) e _arun (assíncrono):
Code
