前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用CrewAI和Ollama本地构建创作blog的Multi-Agent工作流

如何用CrewAI和Ollama本地构建创作blog的Multi-Agent工作流

作者头像
山行AI
发布2024-06-07 14:39:20
2540
发布2024-06-07 14:39:20
举报
文章被收录于专栏:山行AI山行AI

介绍

从技术角度来看,AI代理是一个旨在代表用户或其他程序自主或半自主执行任务的软件实体。这些代理利用人工智能进行决策、采取行动,并与其环境或其他系统互动。

代理的一些关键特征如下:

1.自主性:AI 代理无需持续的人类干预即可运作。一旦给定目标,它们可以独立执行任务。2.决策能力:它们使用算法、规则和 AI 模型,根据其感知和目标进行决策。这包括评估不同的选项并选择最佳行动方案。3.学习:许多 AI 代理采用机器学习技术来随着时间的推移提高其性能。它们可以从过去的经验中学习并适应新情况。4.交互:AI 代理可以与用户、其他代理或系统进行沟通和协作。这种交互可以包括自然语言处理、发送和接收数据或执行协调任务。5.专业化:AI 代理可以专门用于特定任务或领域。例如,有些代理可能设计用于网页浏览,而另一些则可能处理数据库交互、执行复杂计算或生成图像。6.目标导向:AI 代理通常被编程为具有特定的目标或任务。它们通过一系列的行动和决策来实现这些目标。

总结来说,AI代理是强大的工具,可以自动化和增强从简单的重复性任务到复杂的解决问题情境的各种活动,使它们在各类应用和行业中都极具价值。

想象一下将上述所有概念整合在一起,并共同朝着预定的目标努力,以实现预期的结果。这些任务可以按照顺序或层级流程执行,所有的代理像一个协调的团队一样工作。这种强大的协作可以彻底改变我们处理复杂问题的方式,使流程更加高效,结果更加有效。这就是CrewAI框架的意义所在。

什么是CrewAI?

CrewAi 是一个最先进的框架,用于协调角色扮演和自主AI代理。通过促进协作智能,CrewAi 使代理能够无缝地协同工作,解决复杂任务。

核心概念 — CrewAi

1.代理:这些是独立的单元,被编程用于执行任务、做出决策并与其他代理进行沟通。他们可以使用工具,这些工具可以是简单的搜索功能,也可以是涉及其他链、API等的复杂集成。2.任务:任务是人工智能代理需要完成的指派或工作。它们可以包含额外的信息,比如哪个代理应该执行任务以及他们可能需要哪些工具。

3.团队:一个团队是一组代理,每个代理都有特定的角色,他们共同协作以实现一个共同的目标。组建团队的过程包括集合代理、定义他们的任务以及建立任务执行的顺序。

crewAI地址:https://github.com/joaomdmoura/crewAI?ref=blog.composio.dev

本文旨在通过一个CrewAI示例,提供对CrewAI平台组件的全面概述。

什么是Ollama?

Ollama[1] 是一个开源应用程序,允许你在MacOS、Linux和Windows上使用命令行界面本地运行、创建和分享大型语言模型。Ollama 可以直接从其库中访问广泛的LLM,只需一个命令即可下载。下载后,只需执行一个命令即可开始使用。这对于工作主要在终端窗口中进行的用户来说非常有帮助。如果他们在某处遇到困扰,可以无需切换到另一个浏览器窗口就能得到答案。

功能和优势

以下是为什么 OLLAMA 是您工具包中必不可少的原因:

简单性:OLLAMA 提供了一个简单明了的设置过程。你不需要拥有机器学习的博士学位就可以让它运行起来。•成本效益:在本地运行模型意味着你不需要承担云端费用。你的钱包会感激你。•隐私:使用 OLLAMA,所有数据处理都在你的本地机器上进行。这是用户隐私的一大胜利。•多功能性:OLLAMA 不仅仅适用于 Python 爱好者。它的灵活性使其可以用于各种应用,包括网页开发。

使用 Ollama 进行 LLM 选择

默认情况下,CrewAI 中使用 OpenAI 模型作为 LLM。为了在 CrewAI 团队中达到最佳性能,建议为你的 AI 代理使用 OpenAI 的 GPT-4 或稍便宜的 GPT-3.5。这些模型是你的代理的核心,并且显著影响其能力。

但在这里我们将使用 Meta Llama 3,这是目前最强大的公开可用 LLM。Meta Llama 3 是由 Meta Inc. 开发的一系列模型,代表了最新的技术水平,提供了 8B 和 70B 参数规模的型号(预训练或指令调优)。Llama 3 指令调优模型经过微调和优化,专为对话/聊天用例设计,在常见的基准测试中表现优于许多现有的开源聊天模型。

llama3地址:https://ollama.com/library/llama3

llama3[2]

代码实现

安装所需依赖项

•ollama (Windows)

前往 Ollama 并下载 .exe 文件: https://ollama.com[3]

下载 Ollama 并安装在 Windows 上。您可以选择使用默认的模型保存路径,通常位于:C:\Users\your_user.ollama

但是,如果 C: 分区的空间有限,建议切换到其他目录。如果你有另一个分区如 D:\,只需:

1.右键点击桌面上的计算机图标。2.选择 属性,然后导航到“高级系统设置”。3.点击 环境变量。4.在 用户变量 中插入存储所有模型的目录的绝对路径。例如:

在Windows的底部栏将会出现一个Ollama图标。如果程序没有启动,在Windows程序中搜索并从那里启动它。

然后在命令提示符中下载llama3模型

代码语言:javascript
复制
ollama run llama3

•Crewai

代码语言:javascript
复制
!pip install crewai==0.28.8 crewai_tools==0.1.6 langchain_community==0.0.29

设置 LLM 为 Llama3

在你的项目目录中创建一个类似下面的 ModelFile。

代码语言:javascript
复制
FROM llama3
# 设置参数
PARAMETER temperature 0.8
PARAMETER stop Result
# 设置自定义系统消息以指定聊天助手的行为
# 现在暂时留空。
SYSTEM """"""

在命令提示符中运行以下命令

ollama create crewai-llama3 -f .\Modelfile

代码语言:javascript
复制
传输模型数据
读取模型元数据
创建系统层
创建参数层
创建配置层
使用已创建的层 sha256:00e1317cbf74d901080d7100f57580ba8dd8de57203072dc6f668324ba545f29
使用已创建的层 sha256:4fa551d4f938f68b8c1e6afa9d28befb70e3f33f75d0753248d530364aeea40f
使用已创建的层 sha256:8ab4849b038cf0abc5b1c9b8ee1443dca6b93a045c2272180d985126eb40bf6f
写入层 sha256:71f37c09fdf6373a2c6afd11a4d20421862fd722ce465743c2f49f763a639f56
写入层 sha256:045397f468c947b89b22042cb6cf3f3b275c93751c1e66d077f967ff85977d51
写入层 sha256:a5d199f54597766bdf1741b00fc797bec159ae6386feef22d3f062a5fe5dc9ef
写入清单
成功

清单如下图

代码如下

代码语言:javascript
复制
from crewai import Agent, Task, Crew
from langchain_openai import ChatOpenAI
import os
os.environ["OPENAI_API_KEY"] = "NA"

llm = ChatOpenAI(
 model = "crewai-llama3",
 base_url = "http://localhost:11434/v1")

创建代理来规划、撰写和编辑博客文章的内容

代理是一个自主单元,其编程目的是:

•执行任务•做出决策•与其他代理交流

代理属性

角色: 定义代理在团队中的功能。它决定了代理最适合执行的任务类型。

目标: 代理旨在实现的个人目标。它指导代理的决策过程。

背景故事: 为代理的角色和目标提供背景信息,丰富互动和协作动态。

LLM (可选)表示将运行代理的语言模型。它会动态获取来自 OPENAI_MODEL_NAME 环境变量的模型名称,如果未指定,则默认为 "gpt-4"。 工具 :(可选)代理可以用来执行任务的一组功能或能力。预计是与代理执行环境兼容的自定义类实例。工具初始化时默认值为空列表。

功能调用语言模型 :(可选)指定将处理此代理工具调用的语言模型,如果传递,将覆盖默认的功能调用语言模型。默认值为None

最大迭代次数 :(可选)代理在被迫给出其最佳答案之前可以执行的最大迭代次数。默认值为25最大RPM :(可选)代理每分钟可以执行的最大请求数,以避免速率限制。此项为可选项,可以不指定,默认值为 None

最大执行时间 :(可选)代理执行任务的最大执行时间。此项为可选项,可以不指定,默认值为None,意味着没有最大执行时间。

详细日志 :(可选)将此项设置为True 可以配置内部日志记录器提供详细的执行日志,有助于调试和监控。默认值为 False允许委派: *(可选)代理可以将任务或问题委派给其他代理,确保每个任务都由最合适的代理处理。默认值是True.

步骤回调: (可选)在代理的每一步操作后调用的函数。可以用来记录代理的动作或执行其他操作。它将覆盖crew的 step_callback.

缓存: (可选)指示代理是否应为工具使用启用缓存。默认值是 True

内容规划代理

代码语言:javascript
复制
planner = Agent(
 角色="内容策划",
 目标="规划有关{topic}的引人入胜且事实准确的内容",
 背景故事="你正在为 'https://medium.com/' 上关于{topic}的话题策划一篇博客文章。"
 "你收集有助于观众学习和做出明智决策的信息。"
 "你需要准备一个详细的大纲以及包括在博客文章中的相关主题和子主题。"
 "你的工作是内容编写者撰写此主题文章的基础。",
 llm=llm,
 允许委派=False,
 详细=True
)

内容撰写代理

代码语言:javascript
复制
writer = Agent(
 角色="内容作家",
 目标="撰写关于主题:{topic} 的有见地且事实准确的评论文章",
 背景故事="你正在'https://medium.com/'上撰写一篇关于主题:{topic} 的新评论文章。"
 "你的写作基于内容策划人的工作,内容策划人提供了大纲和相关背景信息。"
 "你遵循大纲的主要目标和方向,"
 "如由内容策划人提供。"
 "你还提供客观和公正的见解,"
 "并用内容策划人提供的信息来支持这些见解。"
 "在你的评论文章中,你会明确指出哪些是你的观点,"
 "哪些是客观陈述。",
 允许委派=False,
 llm=llm,
 详细=True
)

内容编辑代理

代码语言:javascript
复制
editor = Agent(
 角色="编辑",
 目标="编辑给定的博客文章,使其符合"
 "组织 'https://medium.com/' 的写作风格。",
 背景故事="你是一名从内容作者那里接收博客文章的编辑。"
 "你的目标是审阅博客文章,"
 "确保其遵循新闻业的最佳实践,"
 "在提供意见或断言时提供平衡观点,"
 "并且尽可能避免重大争议话题或意见。",
 llm=llm,
 允许委派=False,
 详细=True
)

创建Crew

任务在crewAI中可以是协作性的,需要多个代理一起工作。这通过任务属性进行管理,并由团队的流程协调,从而提升团队合作和效率。

Crew任务属性

描述: 对任务内容的清晰简明陈述。

代理: 负责任务的代理,由团队的流程直接或间接分配。

预期输出: 对任务完成后的详细描述。

工具: (可选)代理可以用来执行任务的功能或能力。 异步执行: (可选)如果设置,任务将异步执行,允许在不等待完成的情况下继续进行。

上下文: (可选)指定其输出用作此任务上下文的任务。

配置: (可选)为执行任务的代理提供额外的配置细节,允许进一步定制化。

输出JSON : (可选)输出一个JSON对象,需要OpenAI客户端。只能设置一种输出格式。

输出Pydantic : (可选)输出一个Pydantic模型对象,需要OpenAI客户端。只能设置一种输出格式。 输出文件: (可选)将任务输出保存到一个文件中。如果与 输出 JSON输出 Pydantic 一起使用,则指定输出的保存方式。

回调:(可选)一个在任务完成后使用任务输出执行的 Python 可调用对象。

人工输入: (可选)表示任务是否在结束时需要人工反馈,对于需要人工监督的任务很有用。

创建计划任务

代码语言:javascript
复制
plan = Task(
 description=(
 "1. 优先考虑最新趋势、关键参与者和关于{topic}的重要新闻。\n"
 "2. 确定目标受众,考虑他们的兴趣和痛点。\n"
 "3. 制定详细的内容大纲,包括介绍、关键点和行动号召。\n"
 "4. 包含SEO关键词和相关数据或来源。"
 ),
 expected_output="一个包含大纲、受众分析、SEO关键词和资源的综合内容计划文档。",
 agent=planner,
)

创建写作任务

代码语言:javascript
复制
write = Task(
 description=(
 "1. 使用内容计划撰写一篇引人入胜的博客文章,主题为{topic}。\n"
 "2. 自然地融入SEO关键词。\n"
 "3. 章节/小标题需以一种吸引人的方式命名。\n"
 "4. 确保文章结构包含引人入胜的介绍、有见地的正文,"
 "以及总结性的结论。\n"
 "5. 校对语法错误,并确保与品牌的声音一致。\n"
 ),
 expected_output="一篇撰写良好的博客文章,"
 "以markdown格式准备好发布,每个部分应有2到3个段落。",
 agent=writer,
)

创建编辑任务

代码语言:javascript
复制
edit = 任务(
 描述=("校对给定的博客文章,检查 "
 "语法错误和 "
 "与品牌声音的一致性。"),
 预期输出="一篇写得很好的博客文章,使用markdown格式,"
 "准备发布,"
 "每个部分应有2到3段。",
 代理=编辑
)

:使用多字符串的好处:

代码语言:javascript
复制
变量名 = "文本的第1行"
 "文本的第2行"

三引号文档字符串相比:

代码语言:javascript
复制
变量名 = """文本的第1行
 文本的第2行
 """

创建Crew

•创建你的代理团队•将任务传递给这些代理执行。•注意:对于这个简单的例子,任务将按顺序执行(即它们彼此依赖),所以任务在列表中的顺序很重要。•verbose=2 允许你查看执行的所有日志。

代码语言:javascript
复制
crew = Crew(
  agents=[planner, writer, editor],
  tasks=[plan, write, edit],
  verbose=2
)

运行Crew

代码语言:javascript
复制
inputs = {"topic":"Comparative study of LangGraph, Autogen and Crewai for building multi-agent system."}
result = crew.kickoff(inputs=inputs)

响应

代码语言:javascript
复制
[DEBUG]: == 工作代理: 内容策划
[INFO]: == 开始任务: 
1. 优先考虑关于LangGraph、Autogen和Crewai在构建多代理系统中的比较研究的最新趋势、关键人物和重要新闻。
2. 确定目标受众,考虑他们的兴趣和痛点。
3. 制定详细的内容大纲,包括介绍、关键点和行动号召。
4. 包含SEO关键词和相关数据或来源。
> 进入新的CrewAgentExecutor链条…
> 最终答案:

**综合内容规划文档**

**目标受众分析**
本文的目标受众是具有计算机科学或相关领域背景并对构建多智能体系统感兴趣的个人。他们可能是研究人员、学生或专业人士,想要了解该领域的最新趋势和技术。该受众的痛点包括:

- 对LangGraph、Autogen和Crewai之间差异的了解有限
- 难以选择最适合其具体需求的技术
- 希望及时了解多智能体系统构建的最新发展

**内容大纲**
I. **介绍**

- 多智能体系统的定义及其在各个领域(人工智能、机器人、物流)中的重要性
- 简要概述LangGraph、Autogen和Crewai
- 论文声明:虽然这三种技术各有优缺点,但比较研究表明,每种技术在构建多智能体系统时都有其独特的优势。

II. **LangGraph、Autogen和Crewai的比较分析**

A. **LangGraph**
- LangGraph 的功能概述(自然语言处理,语义解析)
- 优点:易于与现有的NLP框架集成,可扩展
- 缺点:处理复杂场景的能力有限

B. **Autogen**

- Autogen 的功能概述(机器学习,数据生成)
- 优点:能够生成用于训练ML模型的真实数据,高效的数据处理
- 缺点:需要大量的数据标注,在噪声环境中可能表现不佳

C. **Crewai**
- Crewai 功能概述(基于规则的系统,知识表示)
- 优点:允许显式知识表示和推理,可扩展
- 缺点:需要手动开发规则,可能不适用于复杂场景

III. **关键要点和建议**

- 比较分析总结
- 何时使用每种技术的建议
- 行动建议:开始探索 LangGraph、Autogen 和 Crewai,用于您的下一个多代理系统项目!

**SEO 关键词和相关数据**
- 关键词: LangGraph, Autogen, Crewai, 多智能体系统, 人工智能, 机器人技术, 自然语言处理, 机器学习
- 资料来源:
  - "多智能体系统调查" 作者:[作者姓名],[出版日期]
  - "LangGraph: 描述复杂系统的新型语言" 作者:[作者姓名],[出版日期]
  - "Autogen: 高效数据生成与处理框架" 作者:[作者姓名],[出版日期]
- 相关数据:
  - 多智能体系统在各个领域(人工智能、机器人技术、物流)应用增长的统计数据
  - 使用LangGraph、Autogen和Crewai成功实施多智能体系统的示例
**结论**

这项全面的比较研究为读者提供了对LangGraph、Autogen和Crewai特性、优点和缺点的深入理解。通过分析每种技术的优劣,读者将能够在选择最适合其特定多代理系统构建需求的工具时做出明智的决定。

思考:我现在已经给出了一个很好的答案!

> 完成链。
>  [调试]: == [内容规划者] 任务输出: **综合内容计划文档**

**目标受众分析**
本文的目标读者是具有计算机科学或相关领域背景的个人,他们对构建多智能体系统感兴趣。这些读者可能是研究人员、学生或专业人士,希望了解该领域的最新趋势和技术。该受众的痛点包括:

- 对LangGraph、Autogen和Crewai之间差异的理解有限
- 难以选择最适合其具体需求的技术
- 希望了解多智能体系统构建的最新进展

**内容大纲**
# I. **引言**

- 多智能体系统的定义及其在各个领域(人工智能、机器人、物流)中的重要性
- LangGraph、Autogen 和 Crewai 的简要概述
- 论文声明:尽管这三种技术各有优缺点,但比较研究表明,每一种技术在构建多智能体系统方面都有其独特的优势。

# II. **LangGraph、Autogen 和 Crewai 的比较分析**

## A. **LangGraph**
- LangGraph 功能概述(自然语言处理,语义解析)
- 优点:易于与现有的 NLP 框架集成,具有可扩展性
- 缺点:处理复杂场景的能力有限

B. **Autogen**

- Autogen 功能概述(机器学习,数据生成)
- 优点:能够生成用于训练机器学习模型的真实数据,高效的数据处理
- 缺点:需要大量的数据标注,在嘈杂环境中可能表现不佳

C. **Crewai**
- Crewai 功能概述(基于规则的系统,知识表示)
- 优点:允许明确的知识表示和推理,具有可扩展性
- 缺点:需要手动开发规则,可能不适用于复杂场景

III. **关键要点和建议**

- 比较分析总结
- 何时使用每种技术的建议
- 行动号召:开始探索LangGraph、Autogen和Crewai,用于你的下一个多代理系统项目!

**SEO 关键词和相关数据**
- 关键词: LangGraph, Autogen, Crewai, 多智能体系统, 人工智能, 机器人技术, 自然语言处理, 机器学习
- 来源:
  - "多智能体系统调查" 作者:[作者名], [出版日期]
  - "LangGraph:描述复杂系统的新型语言" 作者:[作者名], [出版日期]
  - "Autogen:高效的数据生成和处理框架" 作者:[作者名], [出版日期]
- 相关数据:
  - 多智能体系统在不同领域(人工智能、机器人技术、物流)的应用增长统计数据
  - 使用LangGraph、Autogen和Crewai成功实现多智能体系统的示例
**结论**

这项全面的比较研究为读者提供了对LangGraph、Autogen和Crewai功能、优点和缺点的深入理解。通过分析每种技术的优势和劣势,读者将能够在为其特定的多代理系统构建需求选择最佳工具时做出明智的决策。

思考:我现在已经给出了一个很好的答案!
[DEBUG]: == 工作代理: 内容撰写员
[INFO]: == 开始任务: 
1. 使用内容计划撰写一篇关于LangGraph、Autogen和Crewai在构建多代理系统中的比较研究的引人入胜的博客文章。
2. 自然地融入SEO关键词。
3. 各章节/小标题的命名应有吸引力。
4. 确保文章结构包含引人入胜的介绍、深入的正文和总结性的结论。
5. 校对以确保语法无误并符合品牌声音。

> 进入新的CrewAgentExecutor链...
> **思考:** 现在我可以给出一个很好的答案!
**最终答案:**

关于构建多代理系统的LangGraph、Autogen和Crewai的比较研究
近年来,多智能体系统在人工智能(AI)、机器人技术和物流等各个领域受到了极大的关注。这些复杂的系统涉及多个智能体相互交互以实现共同的目标。技术的选择在构建成功的多智能体系统中起着至关重要的作用。本文将对用于构建多智能体系统的三种主要技术——LangGraph、Autogen和Crewai进行比较研究。

**引言**

一个多智能体系统(MAS)被定义为一个由多个智能体相互作用以实现共同目标的复杂系统。MAS的重要性在于它能够对现实世界中多个自主实体相互作用并适应变化环境的系统进行建模。LangGraph、Autogen 和 Crewai 是在多智能体系统构建领域中获得显著关注的三项技术。
LangGraph、Autogen 和 Crewai 都旨在通过提供高效的方法来表示、推理和生成复杂的知识结构,从而促进多代理系统的开发。虽然每种技术都有其优点和缺点,但比较研究表明,LangGraph 非常适合自然语言处理(NLP)任务,Autogen 在机器学习(ML)和数据生成方面表现出色,而 Crewai 在基于规则的系统和知识表示方面表现突出。

**LangGraph、Autogen 和 Crewai 的比较分析**

### LangGraph
LangGraph 是一种专门用于描述复杂系统的新型语言。其自然语言处理能力使其成为需要语义解析的任务(如问答和文本摘要)的理想选择。使用 LangGraph 的优点包括易于与现有 NLP 框架集成和可扩展性。然而,其局限性体现在其无法处理复杂场景。

### 自动生成
Autogen 是一个机器学习框架,旨在高效生成用于训练机器学习模型的真实数据。其数据生成能力使其适用于数据增强、文本分类和图像识别等任务。使用 Autogen 的优势包括高效的数据处理和生成真实数据的能力。然而,Autogen 需要大量的数据注释,并且在嘈杂环境中可能表现不佳。

### Crewai
Crewai 是一个基于规则的系统,旨在促进知识表示和推理。其可扩展性使其适用于大规模应用,例如专家系统、决策支持系统和智能代理。使用 Crewai 的优点包括其表示复杂知识结构和可扩展的能力。然而,Crewai 需要手动规则开发,可能不适用于复杂的场景。

**关键要点和建议**
总之,LangGraph、Autogen 和 Crewai 是三种在构建多代理系统中具有各自优势的技术。一个关键结论是,每种技术都有其独特的优点和缺点。技术的选择取决于应用的具体需求,例如 LangGraph 适用于自然语言处理任务,Autogen 适用于数据生成。

建议包括:
- 使用LangGraph进行NLP任务,如问答和文本摘要。
- 利用Autogen处理需要高效数据处理和生成真实数据的机器学习任务。
- 应用Crewai于需要可扩展性和复杂推理的基于规则的系统和知识表示。

**行动呼吁**
下一个多智能体系统项目需要仔细考虑技术选择。LangGraph、Autogen 和 Crewai 在构建成功的多智能体系统方面提供了独特的优势。今天就开始探索这些技术,解锁它们的潜力,并享受开发尖端多智能体系统的成果吧!

思考:我现在已经给出了一个很好的答案!

> 链条完成。
>  [调试]: == [内容撰写人] 任务输出: **

LangGraph、Autogen 和 Crewai 在构建多智能体系统方面的比较研究
近年来,多智能体系统在人工智能(AI)、机器人技术和物流等多个领域引起了广泛关注。这些复杂的系统涉及多个智能体相互作用,以实现共同的目标。技术的选择在构建成功的多智能体系统中起着至关重要的作用。本文将对LangGraph、Autogen和Crewai这三种用于构建多智能体系统的主要技术进行比较研究。

**引言**
一个多智能体系统(MAS)被定义为一个由多个智能体相互作用以实现共同目标的复杂系统。MAS的重要性在于它能够模拟现实世界中多个自主实体相互作用并适应变化环境的系统。LangGraph、Autogen和Crewai是三个在多智能体系统构建领域中获得显著关注的技术。
LangGraph、Autogen 和 Crewai 都旨在通过提供有效的方法来表示、推理和生成复杂的知识结构,从而促进多代理系统的开发。尽管每种技术都有其优缺点,但一项比较研究表明,LangGraph 非常适合自然语言处理(NLP)任务,Autogen 在机器学习(ML)和数据生成方面表现出色,而 Crewai 在基于规则的系统和知识表示方面表现突出。

**LangGraph、Autogen 和 Crewai 的比较分析**

### LangGraph
LangGraph是一种专门为描述复杂系统而设计的新型语言。其自然语言处理能力使其成为需要语义解析的任务(如问答和文本摘要)的理想选择。使用LangGraph的优势包括易于与现有的NLP框架集成和可扩展性。然而,它的局限性体现在无法处理复杂场景上。

### 自生成
Autogen 是一个旨在高效生成用于训练机器学习模型的真实数据的机器学习框架。其数据生成能力使其适用于数据增强、文本分类和图像识别等任务。使用 Autogen 的优点包括高效的数据处理和生成真实数据的能力。然而,Autogen 需要大量的数据标注,并且在嘈杂的环境中可能表现不佳。

### Crewai
Crewai 是一个基于规则的系统,旨在促进知识表示和推理。其可扩展性使其适用于大型应用程序,如专家系统、决策支持系统和智能代理。使用 Crewai 的优点包括其表示复杂知识结构和可扩展性的能力。然而,Crewai 需要手动规则开发,可能不适用于复杂场景。

**关键要点和建议**
总之,LangGraph、Autogen 和 Crewai 是三种在构建多代理系统方面各具特色的技术。一个关键点是每种技术都有其独特的优点和缺点。技术的选择取决于应用的具体需求,例如 LangGraph 适用于自然语言处理任务,Autogen 适用于数据生成任务。

建议包括:
- 使用 LangGraph 进行自然语言处理任务,例如问答和文本摘要。
- 利用 Autogen 处理需要高效数据处理和生成真实数据的机器学习任务。
- 应用 Crewai 于需要可扩展性和复杂推理的基于规则的系统和知识表示。

**行动呼吁**
下一个多智能体系统项目需要仔细考虑技术选择。LangGraph、Autogen 和 Crewai 在构建成功的多智能体系统方面提供了独特的优势。今天就开始探索这些技术,解锁其潜力,并收获开发尖端多智能体系统的成果!

思考:我现在已经给出了一个很好的答案!

[调试]: == 工作代理: 编辑
 [信息]: == 启动任务: 校对给定的博客文章是否有语法错误并与品牌的声音保持一致。

> 进入新的 CrewAgentExecutor 链...
> 思考:我现在可以给出一个很好的答案
最终答案:

比较研究LangGraph、Autogen和Crewai在构建多代理系统中的应用
近年来,多智能体系统在人工智能(AI)、机器人技术和物流等多个领域受到了广泛关注。这些复杂系统涉及多个智能体相互作用以实现共同目标。技术选择在构建成功的多智能体系统中起着至关重要的作用。本文将对LangGraph、Autogen和Crewai三种用于构建多智能体系统的主要技术进行比较研究。

**引言**
一个多智能体系统(MAS)被定义为由多个智能体相互作用以实现共同目标的复杂系统。MAS的重要性在于其能够模拟现实世界中多个自主实体相互作用并适应变化环境的系统。LangGraph、Autogen 和 Crewai 是在多智能体系统构建领域中获得显著关注的三项技术。
LangGraph、Autogen 和 Crewai 都旨在通过提供高效的方法来表示、推理和生成复杂的知识结构,从而促进多智能体系统的发展。虽然每种技术都有其优缺点,但比较研究表明,LangGraph 非常适合自然语言处理(NLP)任务,Autogen 在机器学习(ML)和数据生成方面表现出色,而 Crewai 在基于规则的系统和知识表示方面表现优异。

**LangGraph、Autogen 和 Crewai 的比较分析**

### LangGraph
LangGraph是一种专门用于描述复杂系统的新型语言。其自然语言处理能力使其成为需要语义解析任务(如问答和文本摘要)的理想选择。使用LangGraph的优势包括易于与现有的NLP框架集成和可扩展性。然而,其局限性体现在无法处理复杂场景。

### Autogen
Autogen 是一个机器学习框架,旨在高效生成用于训练机器学习模型的真实数据。其数据生成能力使其适用于数据增强、文本分类和图像识别等任务。使用 Autogen 的优势包括高效的数据处理和生成真实数据的能力。然而,Autogen 需要广泛的数据注释,并且在噪声环境中可能表现不佳。

### Crewai
Crewai 是一个基于规则的系统,旨在促进知识表示和推理。它的可扩展性使其适用于大规模应用,如专家系统、决策支持系统和智能代理。使用 Crewai 的优点包括其表示复杂知识结构和可扩展性的能力。然而,Crewai 需要手动规则开发,可能不适用于复杂的场景。

**主要结论和建议**
总之,LangGraph、Autogen 和 Crewai 是三种在构建多代理系统方面具有独特优势的技术。一个关键点是,每种技术都有其独特的优点和缺点。技术的选择取决于应用的具体需求,例如 LangGraph 的 NLP 任务或 Autogen 的数据生成。

建议包括:
- 使用LangGraph进行自然语言处理任务,例如问答和文本摘要。
- 利用Autogen进行需要高效数据处理和生成逼真数据的机器学习任务。
- 应用Crewai于需要可扩展性和复杂推理的基于规则的系统和知识表示。

**行动号召**
下一代多智能体系统项目需要仔细考虑技术选择。LangGraph、Autogen 和 Crewai 在构建成功的多智能体系统方面各有独特优势。今天就开始探索这些技术,解锁它们的潜力,并享受开发尖端多智能体系统所带来的成果吧!

> 完成任务链。
>  [调试]: == [编辑器] 任务输出: LangGraph、Autogen 和 Crewai 在构建多智能体系统中的比较研究
> ======================================================
近年来,多智能体系统在人工智能(AI)、机器人学和物流等各个领域引起了广泛关注。这些复杂系统涉及多个智能体相互作用以实现共同目标。技术选择在构建成功的多智能体系统中起着至关重要的作用。本文将对用于构建多智能体系统的三种主要技术:LangGraph、Autogen和Crewai进行比较研究。

**引言**
多智能体系统(MAS)被定义为由多个智能体相互作用以实现共同目标的复杂系统。MAS 的重要性在于其能够模拟现实世界中多个自主实体相互作用并适应变化环境的系统。LangGraph、Autogen 和 Crewai 是三种在多智能体系统构建领域中获得了显著关注的技术。
LangGraph、Autogen和Crewai都是为了促进多代理系统的开发,通过提供有效的方法来表示、推理和生成复杂的知识结构。虽然每种技术都有其优点和缺点,但比较研究表明,LangGraph适合自然语言处理(NLP)任务,Autogen在机器学习(ML)和数据生成方面表现出色,而Crewai则在基于规则的系统和知识表示方面表现突出。

**LangGraph、Autogen和Crewai的比较分析**

### LangGraph
LangGraph 是一种专门为描述复杂系统而设计的新型语言。其自然语言处理能力使其成为需要语义解析的任务(如问答和文本摘要)的理想选择。使用 LangGraph 的优势包括易于与现有的 NLP 框架集成和可扩展性。然而,它的局限性体现在无法处理复杂场景。

### Autogen
Autogen 是一个机器学习框架,旨在高效生成用于训练机器学习模型的真实数据。其数据生成能力使其适用于数据增强、文本分类和图像识别等任务。使用 Autogen 的优势包括高效的数据处理和生成真实数据的能力。然而,Autogen 需要大量的数据标注,并且在嘈杂的环境中可能表现不佳。

### Crewai
Crewai 是一个基于规则的系统,旨在促进知识表示和推理。其可扩展性使其适用于大规模应用,例如专家系统、决策支持系统和智能代理。使用 Crewai 的优势包括其表示复杂知识结构和可扩展性的能力。然而,Crewai 需要手动规则开发,可能不适用于复杂场景。

**关键要点和建议**
总之,LangGraph、Autogen 和 Crewai 是三种在构建多代理系统中具有独特优势的技术。一个关键的结论是,每种技术都有其独特的优点和缺点。技术的选择取决于应用的具体需求,例如 LangGraph 适用于自然语言处理任务,Autogen 适用于数据生成。

建议包括:
- 使用 LangGraph 进行自然语言处理任务,例如问答和文本摘要。
- 利用 Autogen 处理需要高效数据处理和生成真实数据的机器学习任务。
- 应用 Crewai 于需要可扩展性和复杂推理的规则系统和知识表示。

**行动呼吁**
下一个多智能体系统项目需要仔细考虑技术选择。LangGraph、Autogen 和 Crewai 在构建成功的 MAS 方面提供了独特的优势。今天开始探索这些技术,释放它们的潜力,并收获开发尖端多智能体系统的成果!

显示结果

代码语言:javascript
复制
from IPython.display import Markdown,display
display(Markdown(result))

以下是由智能体生成的输出。

代码语言:javascript
复制
# LangGraph、Autogen 和 Crewai 在构建多智能体系统方面的比较研究
近年来,多智能体系统在人工智能(AI)、机器人技术和物流等各个领域引起了广泛关注。这些复杂系统涉及多个智能体相互作用以实现共同目标。技术的选择在构建成功的多智能体系统中起着至关重要的作用。在本文中,我们将对LangGraph、Autogen和Crewai这三种用于构建多智能体系统的主要技术进行比较研究。

# 引言
多智能体系统(MAS)被定义为由多个智能体相互作用以实现共同目标的复杂系统。MAS的重要性在于其能够模拟现实世界中多个自主实体相互作用并适应不断变化的环境。LangGraph、Autogen 和 Crewai 是多智能体系统构建领域中备受关注的三项技术。
LangGraph、Autogen 和 Crewai 都旨在通过提供有效的方法来表示、推理和生成复杂的知识结构,从而促进多代理系统的开发。虽然每种技术都有其优点和缺点,但比较研究表明,LangGraph 非常适合自然语言处理 (NLP) 任务,Autogen 在机器学习 (ML) 和数据生成方面表现出色,而 Crewai 在基于规则的系统和知识表示领域表现突出。

# LangGraph、Autogen 和 Crewai 的比较分析

# LangGraph
LangGraph 是一种专为描述复杂系统而设计的新型语言。其自然语言处理能力使其成为需要语义解析任务(如问答和文本摘要)的理想选择。使用 LangGraph 的优势包括易于与现有的NLP框架集成和可扩展性。然而,其局限性在于无法处理复杂的场景。

# Autogen
Autogen 是一个机器学习框架,旨在高效地生成用于训练机器学习模型的真实数据。其数据生成能力使其适用于数据增强、文本分类和图像识别等任务。使用 Autogen 的优点包括高效的数据处理和生成真实数据的能力。然而,Autogen 需要大量的数据标注,并且在噪声环境中可能表现不佳。

# Crewai
Crewai 是一个基于规则的系统,旨在促进知识表示和推理。其可扩展性使其适用于大规模应用,如专家系统、决策支持系统和智能代理。使用 Crewai 的优点包括其能够表示复杂的知识结构和可扩展性。然而,Crewai 需要手动规则开发,可能不适用于复杂场景。

# 关键要点和建议
总之,LangGraph、Autogen 和 Crewai 是三种在构建多代理系统中具有独特优势的技术。一个关键点是每种技术都有其独特的优点和缺点。技术的选择取决于应用的具体需求,例如 LangGraph 的自然语言处理任务或 Autogen 的数据生成任务。

建议包括:
- 使用LangGraph进行NLP任务,例如问答和文本摘要。
- 利用Autogen进行需要高效数据处理和生成真实数据的机器学习任务。
- 应用Crewai进行需要可扩展性和复杂推理的基于规则的系统和知识表示。

行动呼吁

下一个多智能体系统项目需要仔细考虑技术选择。LangGraph、Autogen 和 Crewai 在构建成功的多智能体系统方面提供了独特的优势。今天就开始探索这些技术,解锁它们的潜力,收获开发尖端多智能体系统的成果吧!

结论

我们在这里实现了一个博客写作代理,并展示了代理如何在彼此之间自主协调以实现最终目标。我们实现了一个顺序多代理过程,其中内容规划者的任务成为内容写作者任务的输入,随后内容写作者任务的输出进一步由内容编辑处理。CrewAI还具备在层级中执行任务以及将两者结合起来执行任务的能力。

注意:本文由山行翻译整理自:https://medium.com/the-ai-forum/create-a-blog-writer-multi-agent-system-using-crewai-and-ollama-f47654a5e1cd,如果对您有帮助,请帮忙点赞、关注、收藏,谢谢~

References

[1] Ollama: https://ollama.ai/ [2] llama3: https://ollama.com/library/llama3 [3] https://ollama.com: https://ollama.com/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 山行AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 什么是CrewAI?
  • 核心概念 — CrewAi
  • 什么是Ollama?
  • 功能和优势
  • 使用 Ollama 进行 LLM 选择
  • 代码实现
    • 安装所需依赖项
      • 设置 LLM 为 Llama3
        • 在命令提示符中运行以下命令
          • 创建代理来规划、撰写和编辑博客文章的内容
            • 代理属性
              • 内容规划代理
              • 内容撰写代理
              • 内容编辑代理
            • 创建Crew
              • Crew任务属性
              • 创建计划任务
              • 创建写作任务
              • 创建编辑任务
            • 创建Crew
              • 运行Crew
                • 响应
                • 显示结果
                • 以下是由智能体生成的输出。
            • 行动呼吁
              • 结论
                • References
            相关产品与服务
            NLP 服务
            NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档