CrewAI
综合介绍
CrewAI 是一个用于编排角色扮演、自主AI智能体的框架。 它通过促进协作智能,使AI智能体能够无缝地协同工作,处理复杂的任务。 crewAI是一个精简、高速的Python框架,完全从头开始构建,不依赖于LangChain或其他智能体框架。 它为开发人员提供了高级的简洁性和精确的低级控制,是创建适用于任何场景的自主AI智能体的理想选择。 crewAI提供两种互补的方法来构建复杂的AI应用程序:Crews,即具有真正自主权的AI智能体团队,通过基于角色的协作来共同完成复杂任务;以及Flows,即生产就绪的、事件驱动的工作流,可对复杂自动化进行精确控制。
功能列表
- 自主AI智能体协作: crewAI的核心是其能够协调多个AI智能体,每个智能体都有特定的角色、目标和背景故事,以类似人类团队的方式协同工作。
- 角色扮演: 可以为每个智能体分配专门的角色,例如“研究员”、“数据科学家”或“产品经理”,使它们能够专注于特定任务并进行有效的协作。
- 内存: 为智能体提供短期、长期和共享内存,以确保它们在执行任务时能够记住关键信息。
- 工具: 为每个智能体分配预构建和自定义工具(例如,用于网络搜索),以扩展其功能。
- 流程控制: 支持顺序和分层流程,允许对任务执行进行更精细的控制。
- 与任何LLM连接: 虽然默认使用OpenAI的GPT-4,但crewAI支持连接到各种LLM,包括通过Ollama的本地模型。
- 开源: crewAI是开源的,并欢迎社区的贡献。
使用帮助
安装
在开始之前,请确保您的系统上安装了Python >=3.10 <3.14。crewAI使用UV进行依赖管理和包处理,提供了无缝的设置和执行体验。
首先,安装crewAI:
pip install crewai
如果您想安装crewai
包及其可选功能,其中包括用于智能体的其他工具,您可以使用以下命令:```bashpip install 'crewai[tools]'
### 设置您的第一个Crew
要创建一个新的crewAI项目,请运行以下CLI(命令行界面)命令:
```bash
crewai create crew <project_name>```
此命令会创建一个新的项目文件夹,其结构如下:
my_project/├── .gitignore├── pyproject.toml├── README.md├── .env└── src/└── my_project/├── init.py├── main.py├── crew.py├── tools/│ ├── custom_tool.py│ └── init.py└── config/├── agents.yaml└── tasks.yaml
现在,您可以通过编辑`src/my_project`文件夹中的文件来开始开发您的crew。`main.py`是项目的入口点,`crew.py`是您定义crew的地方,`agents.yaml`是您定义智能体的地方,`tasks.yaml`是您定义任务的地方。
### 自定义您的项目
- 修改`src/my_project/config/agents.yaml`来定义您的智能体。
- 修改`src/my_project/config/tasks.yaml`来定义您的任务。
- 修改`src/my_project/crew.py`来添加您自己的逻辑、工具和特定参数。
- 修改`src/my_project/main.py`来为您的智能体和任务添加自定义输入。
- 将您的环境变量添加到`.env`文件中。
### 运行您的Crew
在运行您的crew之前,请确保您已在`.env`文件中将以下密钥设置为环境变量:
- OpenAI API密钥(或其他LLM API密钥):`OPENAI_API_KEY=sk-...`
- Serper.dev API密钥:`SERPER_API_KEY=YOUR_KEY_HERE`
导航到您的项目目录,然后使用CLI命令锁定依赖项并安装它们:
```bash
cd my_project
crewai install
要运行您的crew,请在项目根目录中执行以下命令:
crewai run
或者
python src/my_project/main.py
您应该会在控制台中看到输出,并且report.md
文件应该在项目的根目录中创建,其中包含完整的最终报告。
应用场景
- 求职申请为求职申请量身定制简历和准备面试。
- 内容创作研究、撰写和编辑技术文章。
- 客户支持自动化处理客户支持查询。
- 市场营销执行客户拓展活动。
- 活动策划规划和执行活动。
- 金融分析进行财务分析。
QA
- crewAI到底是什么?crewAI是一个独立的、精简、快速的Python框架,专门用于编排自主AI智能体。与LangChain等框架不同,crewAI不依赖于外部依赖项,这使其更轻便、更快速、更简单。
- 如何安装crewAI?使用pip安装crewAI:
pip install crewai
。对于其他工具,请使用:pip install 'crewai[tools]'
。 - crewAI是否依赖于LangChain?不。crewAI完全从头开始构建,不依赖于LangChain或其他智能体框架。这确保了精简、快速和灵活的体验。
- crewAI可以处理复杂的用例吗?是的。crewAI擅长处理简单和高度复杂的现实世界场景,提供从内部提示到复杂工作流编排的深度定制选项。
- 我可以在本地AI模型上使用crewAI吗?当然!crewAI支持各种语言模型,包括本地模型。像Ollama和LM Studio这样的工具可以实现无缝集成。