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