Pular para o conteúdo principal

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.
Quer publicar sua ferramenta para a comunidade? Se você está construindo uma ferramenta que pode beneficiar outros, confira o guia Publicar Ferramentas Personalizadas para aprender como empacotar e distribuir sua ferramenta no PyPI.

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 atributo cache_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
Seguindo essas orientações e incorporando novas funcionalidades e ferramentas de colaboração nos seus processos de criação e gerenciamento de ferramentas, você pode aproveitar ao máximo as capacidades do framework CrewAI, aprimorando tanto a experiência de desenvolvimento quanto a eficiência dos seus agentes de IA.