自学内容网 自学内容网

LLMs之Agent:crewAI的简介、安装和使用方法、案例应用之详细攻略

LLMs之Agent:crewAI的简介、安装和使用方法、案例应用之详细攻略

目录

crewAI的简介

crewAI的安装和使用方法

1、安装

2、使用方法

(1)、创建项目

(2)、定义 Agents 和 Tasks:

(3)、定义 Crew 和 Process

(4)、运行 Crew

crewAI的案例应用


crewAI的简介

2023年11月,CrewAI是一个用于编排角色扮演式自主AI智能体的生产级框架。它通过促进协作式智能,使智能体能够无缝协同工作,从而解决复杂的任务。CrewAI 从底层构建,不依赖于Langchain或其他代理框架,旨在使AI代理能够承担角色、共享目标并在一个紧密结合的单元中运行,就像一个运作良好的团队一样。无论您是构建智能助手平台、自动化客户服务团队还是多智能体研究团队,CrewAI 都能为复杂的智能体交互提供支持。

CrewAI 的核心在于其灵活的生产就绪架构,它平衡了自主性和精确控制,能够处理复杂的现实场景,并保持清晰易维护的代码结构。CrewAI 还提供了 Crews 和 Flows 的详细比较,以及与其他 AI 编排工具(LangGraph、Autogen、ChatDev)的对比,突出了其在生产环境中的优势,例如更高的执行速度和更灵活的定制能力。

GutHub地址https://github.com/crewAIInc/crewAI

crewAI的安装和使用方法

1、安装

确保你的系统已安装 Python 3.10 到 3.13 版本。CrewAI 使用 UV 进行依赖管理和包处理。

# 基本安装
pip install crewai

# 包含可选工具的安装(需要更多依赖项):
pip install 'crewai[tools]'

# 如果安装过程中遇到 ModuleNotFoundError:No module named 'tiktoken' 错误,请单独安装 tiktoken:
pip install 'crewai[embeddings]'

# 如果遇到其他依赖问题,请参考文档中的“Troubleshooting Dependencies”部分。

2、使用方法

(1)、创建项目

使用以下命令创建一个新的 CrewAI 项目:

crewai create crew <project_name>

这将创建一个包含以下结构的项目文件夹:


stylus
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 定义你的 Agent,tasks.yaml 定义你的任务。 .env 文件中设置环境变量,例如 OPENAI_API_KEY 和 SERPER_API_KEY。

(2)、定义 Agents 和 Tasks:

在 agents.yaml 中定义 Agents 的角色、目标和背景故事,在 tasks.yaml 中定义任务的描述、预期输出和负责的 Agent。 以下是一个示例:


# src/my_project/config/agents.yaml
researcher:
  role:>
    {topic} Senior Data Researcher
  goal:>
    Uncover cutting-edge developments in {topic}
  backstory:>
    You're a seasoned researcher...

reporting_analyst:
  role:>
    {topic} Reporting Analyst
  goal:>
    Create detailed reports...
  backstory:>
    You're a meticulous analyst...

# src/my_project/config/tasks.yaml
research_task:
  description:>
    Conduct a thorough research about {topic}...
  expected_output:>
    A list with 10 bullet points...
  agent:researcher

reporting_task:
  description:>
    Review the context you got...
  expected_output:>
    A fully fledge reports...
  agent:reporting_analyst
  output_file:report.md

(3)、定义 Crew 和 Process

在 crew.py 中使用 @CrewBase、@agent、@task 和 @crew 装饰器定义你的 Crew、Agents 和 Tasks,并指定流程(Process.sequential 或 Process.hierarchical)。

(4)、运行 Crew

使用以下命令运行你的 Crew:

crewai run
或者
python src/my_project/main.py

运行前,确保已安装所有依赖项 (crewai install)。

crewAI的案例应用

CrewAI 提供了多个示例,这些示例展示了 CrewAI 如何使用 Crews 和 Flows 结合来构建复杂的自动化流程。 例如,AdvancedAnalysisFlow 示例展示了如何在一个 Flow 中编排多个 Crews,并使用结构化状态、条件分支和任务委托来实现复杂的市场分析。 此外,文档中还详细介绍了如何将 CrewAI 连接到各种 LLM 模型,包括本地模型。

Landing Page Generator:生成落地页。

Trip Planner:行程规划器。

Stock Analysis:股票分析工具。

Write Job Descriptions:编写工作描述。


原文地址:https://blog.csdn.net/qq_41185868/article/details/145250013

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!