可自定义的属性
打造一个高效的 CrewAI 团队,关键在于能够动态地定制您的 AI 智能体,以满足任何项目的独特需求。本节将介绍您可以自定义的基础属性。自定义的关键属性
| 属性 | 描述 |
|---|---|
| 角色 | 指定智能体在团队中的职责,例如“分析师”或“客服代表”。 |
| 目标 | 定义智能体的目标,使其与其角色和团队的总体任务保持一致。 |
| 背景故事 | 为智能体的角色增添深度,增强其在团队中的动机和参与度。 |
| 工具(可选) | 代表智能体用于执行任务的能力或方法,从简单的函数到复杂的集成不等。 |
| 缓存(可选) | 决定智能体在使用工具时是否应使用缓存。 |
| 最大 RPM | 设置每分钟的最大请求数 (max_rpm)。可设为 None 以便无限制地请求外部服务。 |
| 详细模式(可选) | 启用详细日志记录以进行调试和优化,提供对执行过程的深入了解。 |
| 允许委托(可选) | 控制是否将任务委托给其他智能体,默认为 False。 |
| 最大迭代次数(可选) | 限制任务的最大迭代次数 (max_iter) 以防止无限循环,默认为 25。 |
| 最大执行时间(可选) | 设置智能体完成任务所允许的最长时间。 |
| 系统模板(可选) | 定义智能体的系统格式。 |
| 提示模板(可选) | 定义智能体的提示格式。 |
| 响应模板(可选) | 定义智能体的响应格式。 |
| 使用系统提示(可选) | 控制智能体在执行任务期间是否使用系统提示。 |
| 遵守上下文窗口 | 默认启用滑动上下文窗口,以维持上下文大小。 |
| 最大重试限制 | 设置智能体在出现错误时的最大重试次数 (max_retry_limit)。 |
高级自定义选项
除了基本属性外,CrewAI 还允许更深层次的定制,以显著增强智能体的行为和能力。语言模型定制
可以为智能体定制特定的语言模型 (llm) 和函数调用语言模型 (function_calling_llm),从而对其处理和决策能力进行高级控制。需要注意的是,设置 function_calling_llm 可以覆盖默认的团队函数调用语言模型,从而提供更高程度的定制。
性能和调试设置
调整智能体的性能并监控其操作对于高效执行任务至关重要。详细模式和 RPM 限制
- 详细模式:启用智能体操作的详细日志记录,有助于调试和优化。具体来说,它能提供对智能体执行过程的深入了解,从而帮助优化性能。
- RPM 限制:设置每分钟的最大请求数 (
max_rpm)。此属性是可选的,可以设置为None表示无限制,以便在需要时无限制地查询外部服务。
任务执行的最大迭代次数
max_iter 属性允许用户定义智能体为单个任务执行的最大迭代次数,以防止无限循环或执行时间过长。默认值设置为 25,在彻底性和效率之间取得了平衡。一旦智能体接近这个次数,它将尽力给出最好的答案。
自定义智能体和工具
通过在初始化期间定义智能体的属性和工具来进行定制。工具对智能体的功能至关重要,使其能够执行专门的任务。tools 属性应该是一个智能体可以使用的工具数组,默认情况下初始化为空列表。可以在智能体初始化后添加或修改工具,以适应新的需求。
示例:为智能体分配工具
代码
委托和自主性
控制智能体委托任务或提出问题的能力,对于在 CrewAI 框架内定制其自主性和协作动态至关重要。默认情况下,allow_delegation 属性现在设置为 False,禁止智能体寻求帮助或按需委托任务。可以更改此默认行为以促进 CrewAI 生态系统内的协作解决问题和效率。如果需要,可以启用委托以适应特定的操作要求。
示例:为智能体禁用委托
代码
