快速且灵活的多智能体自动化框架
CrewAI 是一个精简、快速的 Python 框架,完全从零开始构建——完全独立于 LangChain 或其他智能体框架。它为开发者提供了高层次的简洁性和精确的底层控制,非常适合创建适用于任何场景的自主 AI 智能体。
超过 100,000 名开发者通过我们在 learn.crewai.com 的社区课程获得认证,CrewAI 正在迅速成为企业级 AI 自动化的标准。
CrewAI 释放了多智能体自动化的真正潜力,通过 AI 智能体团队(Crews)或事件流程(Flows)提供一流的速度、灵活性和控制的组合。该框架具有以下核心优势:
CrewAI 赋能开发者和企业自信地构建智能自动化,弥合简洁性、灵活性和性能之间的差距。
确保您的系统上安装了 Python >=3.10 <3.14。CrewAI 使用 UV 进行依赖管理和包处理,提供无缝的设置和执行体验。
首先,安装 CrewAI:
pip install crewai
如果您想安装包含智能体附加工具的可选功能的 'crewai' 包,可以使用以下命令:
pip install 'crewai[tools]'
要创建一个新的 CrewAI 项目,运行以下 CLI(命令行界面)命令:
crewai create crew <project_name>
此命令创建一个具有以下结构的新项目文件夹。您现在可以通过编辑项目文件夹中的文件来开始开发您的 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 之前,确保在 .env 文件中将以下密钥设置为环境变量。使用 CLI 命令锁定依赖项并安装它们,但首先导航到您的项目目录:
cd my_project
crewai install
要运行您的 crew,在项目根目录中执行以下命令:
crewai run
或
python src/my_project/main.py
您应该在控制台中看到输出,并且 report.md 文件应该在项目根目录中创建,包含完整的最终报告。除了顺序流程,您还可以使用分层流程,它会自动为定义的 crew 分配一个管理者,以通过委派和验证结果来适当协调任务的规划和执行。
CrewAI 作为一个精简、独立、高性能的多 AI 智能体框架脱颖而出,提供简洁性、灵活性和精确控制——摆脱了其他智能体框架中的复杂性和限制。
选择 CrewAI 轻松构建强大、适应性强且生产就绪的 AI 自动化。
CrewAI 支持通过各种连接选项使用各种 LLM。默认情况下,您的智能体将在查询模型时使用 OpenAI API。但是,还有其他几种方法允许您的智能体连接到模型。
如果您已经在系统中配置了 DeepSeek API 密钥作为环境变量,CrewAI 可以直接使用 DeepSeek 模型。
在您的 .env 文件中设置:
DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_API_BASE=https://api.deepseek.com/v1 # DeepSeek API 基础 URL
然后在代码中配置智能体:
from crewai import Agent
from langchain_openai import ChatOpenAI
# 配置 DeepSeek 模型
deepseek_llm = ChatOpenAI(
model="deepseek-chat", # 或 "deepseek-coder" 用于代码任务
openai_api_key=os.getenv("DEEPSEEK_API_KEY"),
openai_api_base=os.getenv("DEEPSEEK_API_BASE"),
temperature=0.7
)
# 创建使用 DeepSeek 的智能体
researcher = Agent(
role="研究员",
goal="进行深入研究",
backstory="您是一位经验丰富的研究员...",
llm=deepseek_llm,
verbose=True
)
您也可以在 Crew 级别设置默认 LLM:
from crewai import Crew, Agent, Task
from langchain_openai import ChatOpenAI
import os
# 配置 DeepSeek
deepseek_llm = ChatOpenAI(
model="deepseek-chat",
openai_api_key=os.getenv("DEEPSEEK_API_KEY"),
openai_api_base=os.getenv("DEEPSEEK_API_BASE")
)
# 创建 crew,所有智能体都将使用 DeepSeek
crew = Crew(
agents=[agent1, agent2],
tasks=[task1, task2],
manager_llm=deepseek_llm, # 用于分层流程
verbose=True
)
deepseek-chat: 通用对话和推理任务deepseek-coder: 专门针对代码生成和分析进行优化CrewAI 还支持:
请参考 连接 CrewAI 到 LLMs 页面,了解有关配置智能体与模型连接的详细信息。
您可以在 CrewAI-examples 仓库中测试不同的真实 AI crew 示例:
CrewAI 提供两种强大的互补方法,可以无缝协同工作以构建复杂的 AI 应用程序:
Crews(团队):具有真正自主性和代理能力的 AI 智能体团队,通过基于角色的协作共同完成复杂任务。Crews 实现智能体之间的自然、自主决策,动态任务委派和协作,具有明确目标和专业知识的专业角色,以及灵活的问题解决方法。
Flows(流程):生产就绪的事件驱动工作流,对复杂自动化提供精确控制。Flows 提供对现实世界场景的执行路径进行细粒度控制,任务之间的安全、一致的状态管理,AI 智能体与生产 Python 代码的清晰集成,以及复杂业务逻辑的条件分支。
CrewAI 的真正力量在于结合 Crews 和 Flows 时显现。这种协同作用允许您构建复杂的生产级应用程序,平衡自主性与精确控制,处理复杂的现实世界场景,并维护清晰、可维护的代码结构。
CrewAI 的优势:CrewAI 通过其独特的 Crews 和 Flows 架构将自主智能体智能与精确的工作流控制相结合。该框架在高级编排和底层定制方面都表现出色,可以通过细粒度控制实现复杂的生产级系统。
LangGraph:虽然 LangGraph 为构建智能体工作流提供了基础,但其方法需要大量样板代码和复杂的状态管理模式。该框架与 LangChain 的紧密耦合可能会在实现自定义智能体行为或与外部系统集成时限制灵活性。
Autogen:虽然 Autogen 擅长创建能够一起工作的对话式智能体,但它缺乏流程的固有概念。在 Autogen 中,编排智能体的交互需要额外的编程,随着任务规模的增长,这可能变得复杂和繁琐。
ChatDev:ChatDev 将流程的概念引入了 AI 智能体领域,但其实现相当僵化。ChatDev 中的自定义是有限的,并且不适合生产环境,这可能会阻碍现实应用中的可扩展性和灵活性。
A: CrewAI 是一个独立、精简且快速的 Python 框架,专门为编排自主 AI 智能体而构建。与 LangChain 等框架不同,CrewAI 不依赖外部依赖项,使其更精简、更快、更简单。
A: 使用 pip 安装 CrewAI:
pip install crewai
对于附加工具,使用:
pip install 'crewai[tools]'
A: 不。CrewAI 完全从头开始构建,不依赖于 LangChain 或其他智能体框架。这确保了精简、快速和灵活的体验。
A: 是的。CrewAI 在简单和高度复杂的现实世界场景中都表现出色,在高层和底层都提供深度定制选项,从内部提示到复杂的工作流编排。
A: 当然可以!CrewAI 支持各种语言模型,包括本地模型。像 Ollama 和 LM Studio 这样的工具允许无缝集成。查看 LLM 连接文档了解更多详细信息。
A: Crews 提供自主智能体协作,非常适合需要灵活决策和动态交互的任务。Flows 提供精确的事件驱动控制,非常适合管理详细的执行路径和安全的状态管理。您可以无缝结合两者以获得最大效果。
A: CrewAI 提供更简单、更直观的 API、更快的执行速度、更可靠和一致的结果、强大的文档和活跃的社区——解决了与 LangChain 相关的常见批评和限制。
A: 是的,CrewAI 是开源的,积极鼓励社区贡献和协作。
A: 当然可以!CrewAI 智能体可以轻松与外部工具、API 和数据库集成,使它们能够利用真实世界的数据和资源。
A: 是的,CrewAI 明确设计了生产级标准,确保企业部署的可靠性、稳定性和可扩展性。
A: CrewAI 具有高度可扩展性,支持简单的自动化和涉及众多智能体和复杂任务的大规模企业工作流。
CrewAI 是开源的,我们欢迎贡献。如果您想贡献,请: