文档索引
获取完整文档索引: https://docs.crewai.com.cn/llms.txt
在深入了解之前,请使用此文件来浏览所有可用页面。
可自定义的属性
构建高效的 CrewAI 团队,关键在于能够动态调整您的 AI 智能体,以满足任何项目的独特需求。本节将涵盖您可以自定义的基础属性。核心自定义属性
| 属性 | 描述 |
|---|---|
| 角色 (Role) | 指定智能体在团队中的职位,例如“分析师”或“客服代表”。 |
| 目标 (Goal) | 定义智能体的目标,需与其角色及团队的总体使命保持一致。 |
| 背景故事 (Backstory) | 为智能体的人设增加深度,增强其在团队中的动力与参与度。 |
| 工具 (Tools) (可选) | 代表智能体执行任务时使用的能力或方法,从简单的函数到复杂的集成功能均可。 |
| 缓存 (Cache) (可选) | 确定智能体在调用工具时是否应使用缓存。 |
| 每分钟最大请求数 (Max RPM) | 设置每分钟的最大请求数 (max_rpm)。可以设为 None 以允许对外部服务进行无限次请求。 |
| 详细模式 (Verbose) (可选) | 开启详细日志记录以辅助调试和优化,提供对执行过程的深入洞察。 |
| 允许委托 (Allow Delegation) (可选) | 控制任务是否可以委托给其他智能体,默认为 False。 |
| 最大迭代次数 (Max Iter) (可选) | 限制任务的最大迭代次数 (max_iter) 以防止死循环,默认为 25 次。 |
| 最大执行时间 (Max Execution Time) (可选) | 设置智能体完成任务所允许的最大执行时间。 |
| 系统模板 (System Template) (可选) | 定义智能体的系统格式。 |
| 提示词模板 (Prompt Template) (可选) | 定义智能体的提示词格式。 |
| 响应模板 (Response Template) (可选) | 定义智能体的响应格式。 |
| 使用系统提示词 (Use System Prompt) (可选) | 控制智能体在任务执行过程中是否使用系统提示词。 |
| 遵循上下文窗口 (Respect Context Window) | 默认启用滑动上下文窗口,以维持上下文大小。 |
| 最大重试次数 (Max Retry Limit) | 设置智能体在遇到错误时的最大重试次数 (max_retry_limit)。 |
高级自定义选项
除了基础属性外,CrewAI 还允许进行更深层次的定制,以显著增强智能体的行为和能力。语言模型自定义
智能体可以使用特定的语言模型 (llm) 和函数调用语言模型 (function_calling_llm) 进行配置,从而对其处理能力和决策能力进行高级控制。需要注意的是,设置 function_calling_llm 可以覆盖团队默认的函数调用语言模型,从而提供更高程度的定制。
性能与调试设置
调整智能体的性能并监控其运行情况,对于实现高效的任务执行至关重要。详细模式与 RPM 限制
- 详细模式 (Verbose Mode):启用智能体操作的详细日志记录,有助于调试和优化。具体而言,它提供了对智能体执行过程的深入了解,有助于优化性能。
- RPM 限制 (RPM Limit):设置每分钟的最大请求数 (
max_rpm)。此属性为可选,可设置为None表示无限制,允许根据需要对外部服务进行无限次数的查询。
任务执行的最大迭代次数
max_iter 属性允许用户定义智能体针对单个任务可以执行的最大迭代次数,从而防止死循环或执行时间过长。默认值设为 25,在彻底性和效率之间取得了平衡。当智能体接近该迭代次数时,它将尽最大努力给出最佳答案。
自定义智能体与工具
通过在初始化时定义智能体的属性和工具,可以实现对智能体的定制。工具对于智能体的功能至关重要,使其能够执行专业化任务。tools 属性应为一个智能体可使用的工具数组,默认初始化为空列表。在智能体初始化之后,也可以添加或修改工具以适应新需求。
示例:为智能体分配工具
代码
委托与自主性
控制智能体委托任务或提出问题的能力,对于调整其在 CrewAI 框架内的自主性和协作动态至关重要。默认情况下,allow_delegation 属性现设为 False,即禁止智能体在需要时寻求协助或委托任务。这一默认行为可以更改,以提升 CrewAI 生态系统内的协同解决问题能力和效率。如有必要,可以启用委托功能以满足特定的操作要求。
示例:禁用智能体的委托功能
代码
