跳到主要内容

在 crewAI 中创建和利用工具

在 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 代理的效率。