跳转至

创建自定义工具

在crewAI中创建和使用工具

本指南提供了在crewAI框架中创建自定义工具的详细说明,以及如何高效管理和使用这些工具,包括最新的功能如工具委派、错误处理和动态工具调用。同时强调了协作工具的重要性,使代理能够执行广泛的操作。

前置条件

在创建自己的工具之前,请确保已安装crewAI额外工具包:

pip install 'crewai[tools]'

继承 BaseTool

要创建个性化工具,请从 BaseTool 继承并定义必要的属性和 _run 方法。

from crewai_tools import BaseTool

class MyCustomTool(BaseTool):
    name: str = "我的工具名称"
    description: str = "这个工具的作用。这对有效利用至关重要。"

    def _run(self, argument: str) -> str:
        # 你的工具逻辑在这里
        return "工具的结果"

使用 tool 装饰器

或者,你可以使用工具装饰器 @tool。这种方法允许你直接在函数内定义工具的属性和功能,提供了一种简洁高效的方式来创建符合你需求的专用工具。

from crewai_tools import tool

@tool("工具名称")
def my_simple_tool(question: str) -> str:
    """工具描述,以便清晰了解。"""
    # 工具逻辑在这里
    return "工具输出"

为工具定义缓存函数

为了通过缓存优化工具性能,使用 cache_function 属性定义自定义缓存策略。

@tool("带缓存的工具")
def cached_tool(argument: str) -> str:
    """工具功能描述。"""
    return "可缓存的结果"

def my_cache_strategy(arguments: dict, result: str) -> bool:
    # 定义自定义缓存逻辑
    return True if some_condition else False

cached_tool.cache_function = my_cache_strategy
通过遵循这些指南,并将新功能和协作工具融入你的工具创建和管理过程中,你可以充分利用crewAI框架的全部能力,提升开发体验和AI代理的效率。