Creating and Utilizing Tools in CrewAI
This guide provides detailed instructions on creating custom tools for the CrewAI framework and how to efficiently manage and utilize these tools, incorporating the latest functionalities such as tool delegation, error handling, and dynamic tool calling. It also highlights the importance of collaboration tools, enabling agents to perform a wide range of actions.Subclassing BaseTool
To create a personalized tool, inherit from BaseTool
and define the necessary attributes, including the args_schema
for input validation, and the _run
method.
Code
Using the tool
Decorator
Alternatively, you can use the tool decorator @tool
. This approach allows you to define the tool’s attributes and functionality directly within a function,
offering a concise and efficient way to create specialized tools tailored to your needs.
Code
Defining a Cache Function for the Tool
To optimize tool performance with caching, define custom caching strategies using thecache_function
attribute.
Code