为了账号安全,请及时绑定邮箱和手机立即绑定

使用Crewai和Ollama创建一个博客作者多代理系统

使用CrewAI和Ollama的多代理工作流程

简介

在技术术语中,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. 一个代理团队_是由具有特定角色的智能代理组成的,一起工作以实现共同目标。组建代理团队的过程包括组装智能代理、定义他们的任务并确定任务执行顺序。

https://github.com/joaomdmoura/crewAI?ref=blog.composio.dev (这是一个 GitHub 项目页面的链接)

这篇文章旨在通过一个CrewAI示例来全面介绍CrewAI平台的各个组成部分。

瑞典没有橄榄树是什么?
瑞典没有橄榄树是什么?
什么是Ollama?这是一个指什么的概念或术语?

修正后的翻译为:

什么是Ollama?这是一个指什么的概念或术语?

Ollama 是一个开源应用程序,允许你使用命令行界面在 MacOS、Linux 和 Windows 操作系统上本地运行、生成和与他人分享大规模语言模型。

Ollama 可以直接访问其库中的一系列大型语言模型 (LLMs),并通过一个命令即可下载。一旦下载完成,只需执行一条命令即可开始使用它。这对于工作负载主要通过终端窗口完成的用户来说非常有帮助。如果他们在某个地方遇到了困难,他们可以不用切换到另一个浏览器窗口就能获得答案。

功能和好处

这里有几个原因说明为什么OLLAMA是你的工具包中不可或缺的:

  • 简明性:OLLAMA提供了一个简单的设置流程。你不需要具备机器学习博士学位就能让它运行起来。
  • 成本效益:本地运行模型意味着你不会产生云服务的费用。你的钱包会为此感到高兴。
  • 隐私保护:使用OLLAMA,所有的数据处理都是在你的本地机器上进行的。这对用户隐私是个大好消息。
  • 灵活性:OLLAMA不仅适合Python爱好者。它的灵活性使其可以在各种应用中发挥作用,包括但不限于网页开发。
基于Ollama的选择大模型
基于Ollama:选择大模型

(Note: There are two possible translations based on context, either can be used. If it's meant to be a title, removing the second line is appropriate. If it's meant to be an instructional heading, retaining both lines with a colon is better.)

For the most natural fit, the preferred one would be:

基于Ollama:选择大模型

默认情况下,CrewAI 使用 OpenAI 的模型作为 llm。 若要实现 CrewAI 的最佳性能,建议使用 OpenAI 的 GPT-4 或稍便宜的 GPT-3.5。这些模型是您 AI 代理的基石,并显著影响其能力。

但在这里我们将使用Meta Llama 3,这是迄今为止最强大的公开可用LLM。Meta Llama 3是由Meta Inc.开发的一系列最新最先进的模型,提供8B和70B参数大小的预训练或指令微调版本。

经过指令调优的 Llama 3 模型适用于对话和聊天场景,微调并优化后,在常用基准测试中表现优于许多开源聊天模型。

https://ollama.com/library/llama3

https://ollama.com/library/llama3

代码实现篇
安装所需的依赖:

ollama: (Windows)

去Ollama网站并下载.exe文件: https://ollama.com

下载 Ollama 并在 Windows 上安装它。您可以选择使用默认保存路径,通常位于:

C:\ Users\你的用户名(your_username)\.ollama

不过,如果 C: 分区的空间不足,建议换成其他目录。要是你有其他分区,如 D盘,只需这样做:

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

在 Windows 的任务栏上会出现一个 Ollama 图标。如果程序没有自动启动,可以在 Windows 的应用程序列表中找到它,然后从那里启动它。

从命令行下载llama3模型

执行ollama run llama3命令(运行llama3)
  • 崔娃
    !pip install crewai==0.28.8 crewai_tools==0.1.6 langchain_community==0.0.29
将LLM设置为Llama3

在你的项目文件夹里, 创建一个像下面这样的ModelFile。

    FROM llama3  

    # 设置温度参数 0.8  
    # 设置停止关键词 为 结果  

    # 设置一个自定义的系统消息来指定聊天助手的行为  

    # 暂时留空。  

    SYSTEM """""""  

请在命令提示符里运行这个命令

    >>ollama create crewai-llama3 -f .\Modelfile  

    正在传输模型数据  
    正在读取模型元数据  
    正在创建系统层  
    正在创建参数层  
    正在创建配置层  
    正在使用已创建的层 sha256:00e1317cbf74d901080d7100f57580ba8dd8de57203072dc6f668324ba545f29  
    正在使用已创建的层 sha256:4fa551d4f938f68b8c1e6afa9d28befb70e3f33f75d0753248d530364aeea40f  
    正在使用已创建的层 sha256:8ab4849b038cf0abc5b1c9b8ee1443dca6b93a045c2272180d985126eb40bf6f  
    正在写入层 sha256:71f37c09fdf6373a2c6afd11a4d20421862fd722ce465743c2f49f763a639f56  
    正在写入层 sha256:045397f468c947b89b22042cb6cf3f3b275c93751c1e66d077f967ff85977d51  
    正在写入层 sha256:a5d199f54597766bdf1741b00fc797bec159ae6386feef22d3f062a5fe5dc9ef  
    正在写入清单文件  
    成功完成

    从 crewai 导入 Agent, Task, Crew  
    从 langchain_openai 导入 ChatOpenAI 作为 llm  
    导入 os 环境变量  
    os.environ["OPENAI_API_KEY"] = "NA"  # "NA" 表示未设置 API 密钥  

    llm = ChatOpenAI(  
        model="crewai-llama3",  
        base_url="http://localhost:11434/v1")
创建用于规划、撰写和编辑博客帖子内容的角色

一个代理程序是被设计成自主单元的,用于:

自主单元

  • 完成任务
  • 做决定
  • 与其他代理人沟通
代理特征

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

目标: 代理人希望达成的具体目标。它引导代理人的决策过程。

背景设定:提供了代理人的角色和目标背景,使互动和协作更加丰富多彩。

LLM (可选)指运行代理的语义模型。它从 OPENAI_MODEL_NAME 环境变量中动态获取模型名,默认为 "gpt-4",如果没有指定的话

工具 (可选)代理可以使用的执行任务的能力或功能集合。这些工具应当是与代理执行环境兼容的自定义类的实例。工具的默认设置为空列表。

调用功能的LLM:(可选)指定用于此代理的工具调用的语言模型,如果指定了该参数,将覆盖船员的默认功能调用LLM。默认为:

Max 迭代数 :可选的最大迭代数。默认是25。在给出最终答案前,智能体可以执行的最大迭代数。

每分钟最大请求数 :(可选)代理可以执行的最大请求数,以避免速率限制。这是可选的,可以不设置,默认为未设置。_None__

_max_executiontime :(可选)代理执行任务时的最大执行时间。它是可选的,可以不指定,默认值为None,表示没有设置最大执行时间

详细模式: (可选的)启用_True_ 以生成详细的执行日志,有助于调试和系统监控。默认情况下为_False_ .

允许委派: (可选)人员可以将任务或问题委托给其他人员,确保每个任务都能由最适合的人处理。默认为_True_ .

步骤回调:(可选)一个在代理每一步结束时调用的回调函数。这可以用来记录代理的动作或进行其他操作。将覆盖_step_callback_

缓存: (可选)指示代理是否应该使用缓存来存储工具的使用数据。默认为True

内容策划代理

    planner = Agent(  
        role="内容规划师",  
        goal="制定关于{topic}的吸引人且准确的内容计划",  
        backstory="你正在为'https://medium.com/'上的{topic}主题博客文章制定内容计划。"  
                  "你收集帮助读者了解{topic}并做出明智决策的信息。"  
                  "你需要准备一个详细的提纲,包括博客文章中需要涵盖的相关主题和子主题。"  
                  "你的工作将为内容撰写者撰写此主题的文章提供基础。",  
        llm=llm,  
        allow_delegation=False,  
        verbose=True  
    )

内容写手

writer = Agent(  
    role="写作者",  
    goal="撰写一篇关于主题:{topic} 的见解独到且事实准确的观点文",  
    backstory="您正在为 {topic} 在 'https://medium.com/' 上撰写一篇新的观点文。您根据策划者提供的大纲和相关背景进行写作。您遵循大纲的方向和目标,并提供客观公正的见解,用提供的信息支持这些见解。在文中区分意见和客观陈述。",  
    allow_delegation=False,  
    llm=llm,  
    verbose=True  
)

内容编辑助手

    editor = Agent(  
        role="编辑",  
        goal="编辑一篇给定的博客文章,使其符合‘中’(https://medium.com/)的写作风格。",  
        backstory="你是一名编辑,从内容作者那里收到了一篇博客文章。\n你的任务是审阅这篇博客文章,确保它遵循新闻报道的最佳实践,\n提供平衡的观点和断言,并尽可能避免涉及重大争议话题或观点。",  
        llm=llm,  
        allow_delegation=False,  
        verbose=True  
    )
创建任务

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

任务特性

描述:简单明了地说明任务内容。

代理人: 负责任务的代理人,任务可以由该代理人直接负责,也可以由机组流程指派。

预期的输出结果:任务完成后,应该怎样详细描述。

工具:可选的工具:执行任务时代理可以使用的功能或能力。

异步执行: (如果有设置,该任务将异步执行,允许继续而无需等待完成)

上下文:(可选)指定这些任务的输出将作为此任务的上下文。

配置(可选):(执行任务的代理的额外配置细节,以便进一步自定义。)

输出 JSON:(可选)生成一个 JSON 对象,需要使用 OpenAI 客户端。只能选择一种输出格式。

生成 Pydantic :(可选),生成一个 Pydantic 模型对象,需要使用 OpenAI 客户端。只能选择一种输出格式。

输出文件(可选):(可选)将任务输出保存至文件。如果与_输出JSON_ _输出Pydantic_ 一起使用,以指定输出的保存方式。

可选的回调: 一个在任务完成后执行,并传入任务输出的Python可调用函数或方法。

人类输入说明 :(可选)表明任务是否需要在最后进行人工确认,这样的任务对于需要人工检查的情况特别有用。

创建计划事项

    plan = 任务(Task)(
        描述=(  
            "1. 优先考虑最新的趋势、关键参与者以及与{topic}相关的重大新闻。\n"  
            "2. 确定目标受众,考虑他们的兴趣和痛点所在。\n"  
            "3. 制定详细的内容大纲,包括介绍、要点和行动号召。\n"  
            "4. 包含SEO关键词及相关数据或来源信息。"  
        ),  
        预期输出="一份全面的内容计划文档,涵盖大纲、受众分析、SEO关键词及资源等。",  
        执行者=planner,  
    )

创建写作任务

    write = Task(  
        description=(  
            "1. 根据内容计划撰写一篇关于 {topic} 的引人入胜的博客文章。\n"  
            "2. 自然地融入 SEO 关键词。\n"  
            "3. 正确命名段落/小标题,使其引人入胜。\n"  
            "4. 确保文章结构合理,包括引人入胜的开头、有深度的正文和总结性结尾。\n"  
            "5. 校对语法错误,并确保与品牌声音一致。\n"  
        ),  
        expected_output="一篇格式为 Markdown 的完稿博客文章,准备发布上线,每个部分最好包含 2 到 3 段。",  
        agent=writer,  
    )

创建一个编辑任务

    edit = Task(  
        description=("审阅给定的博客文章,检查语法错误,并确保文章符合品牌的语调。"),  
        expected_output="格式为Markdown的高质量博客文章,准备发表,每个部分应包含2至3个段落。",  
        agent="编辑",  
    )

提示:使用多个字符串的好处有:

    varname = "第一行文本"  # 第一行的注释
              "第二行文本"  # 第二行的注释

与三引号字符串相比

    varname = """第一行文本  
                 第二行文本  
              """

这样可以避免多余的空白和换行,让传递给LLM的输入更整洁。

创建团队
  • 创建你的特工队伍,然后分配任务给他们。
  • 分配给这些特工要执行的任务。
  • 注意:在此简单的例子中,任务将会顺序执行(即它们是相互依赖的),所以任务列表中的顺序很重要。
  • 使用 verbose=2 可以查看所有执行日志。
    crew = Crew(  
        agents=[planner, writer, editor],  
        tasks=[规划, 写作, 校对],  
        verbose=2  
    )
带好团队
inputs = {'topic': 'LangGraph、Autogen 和 Crewai 在构建多代理系统方面的比较研究'}
result = crew.kickoff(inputs=inputs)

响应

    [DEBUG]: == 工作代理:内容规划者  
     [INFO]: == 开始任务:1. 优先考虑最新的趋势、关键参与者以及关于LangGraph、Autogen和Crewai在构建多代理系统方面的比较研究和值得留意的新闻。  

2. 确定目标受众,考虑他们的兴趣和痛点。  

3. 制定详细的内容大纲,包括介绍、要点和呼吁行动。  

4. 包含SEO关键字和相关数据或来源。  

    > 进入新的CrewAgentExecutor链...  
    最终答案:  

    **全面内容计划文件**  

    **目标受众分析**  

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

* 对LangGraph、Autogen和Crewai之间的差异缺乏理解  

* 难以为特定需求选择最佳技术  

* 希望了解多代理系统构建的最新发展  

    **内容大纲**  

    I. **介绍**  

* 多代理系统的定义及其在各个领域(AI、机器人技术、物流)中的重要性  

* LangGraph、Autogen和Crewai的简要概述  

* 论点陈述:虽然这三种技术都有其优缺点,但比较研究表明,每种技术在构建多代理系统方面都有其独特的优点。  

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

    A. **LangGraph**  

* LangGraph的功能概述(自然语言处理、语义解析)  

* 优点:易于与现有的NLP框架集成,可扩展  

* 缺点:处理复杂场景的能力有限  

    B. **Autogen**  

* Autogen的功能概述(机器学习、数据生成)  

* 优点:能够生成用于训练ML模型的真实数据,有效处理数据  

* 缺点:需要大量的数据注释,在嘈杂环境中可能表现不佳,影响其性能  

    C. **Crewai**  

* Crewai的功能概述(基于规则的系统、知识表示)  

* 优点:允许明确的知识表示和推理,可扩展  

* 缺点:需要手动开发规则,可能不适合处理复杂场景  

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

* 比较分析的总结  

* 使用每种技术的建议  

* 呼吁行动:为您的下一个多代理系统项目做好准备!  

    **SEO关键字和相关数据**  

* 关键词:LangGraph、Autogen、Crewai、多代理系统、AI、机器人技术、NLP、ML  

* 来源:  
     + "多代理系统的调查",[作者姓名],[出版日期]  
     + "LangGraph:一种描述复杂系统的新型语言",[作者姓名],[出版日期]  
     + "Autogen:一种有效的数据生成和处理框架",[作者姓名],[出版日期]  

* 相关数据:  
     + 各领域(AI、机器人技术、物流)中多代理系统应用的增长统计  
     + 使用LangGraph、Autogen和Crewai成功的多代理系统实现案例  

    **结论**  

    这项全面的比较研究为读者提供了LangGraph、Autogen和Crewai的功能、优点和缺点的深入理解。通过对每种技术的优缺点进行分析,读者将能够为他们特定的多代理系统构建需求做出明智的选择。  

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

    > 完成链。  
     [DEBUG]: == [内容规划者] 任务输出:**全面内容计划文件**  

    **目标受众分析**  

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

* 对LangGraph、Autogen和Crewai之间的差异缺乏理解  

* 难以为特定需求选择最佳技术  

* 希望了解多代理系统构建的最新发展  

    **内容大纲**  

    I. **介绍**  

* 多代理系统的定义及其在各个领域(AI、机器人技术、物流)中的重要性  

* LangGraph、Autogen和Crewai的简要概述  

* 论点陈述:虽然这三种技术都有其优缺点,但比较研究表明,每种技术在构建多代理系统方面都有其独特的优点。  

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

    A. **LangGraph**  

* LangGraph的功能概述(自然语言处理、语义解析)  

* 优点:易于与现有的NLP框架集成,可扩展  

* 缺点:处理复杂场景的能力有限  

    B. **Autogen**  

* Autogen的功能概述(机器学习、数据生成)  

* 优点:能够生成用于训练ML模型的真实数据,有效处理数据  

* 缺点:需要大量的数据注释,在嘈杂环境中可能表现不佳,影响其性能  

    C. **Crewai**  

* Crewai的功能概述(基于规则的系统、知识表示)  

* 优点:允许明确的知识表示和推理,可扩展  

* 缺点:需要手动开发规则,可能不适合处理复杂场景  

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

* 比较分析的总结  

* 使用每种技术的建议  

* 呼吁行动:为您的下一个多代理系统项目做好准备!  

    **SEO关键字和相关数据**  

* 关键词:LangGraph、Autogen、Crewai、多代理系统、AI、机器人技术、NLP、ML  

* 来源:  
     + "多代理系统的调查",[作者姓名],[出版日期]  
     + "LangGraph:一种描述复杂系统的新型语言",[作者姓名],[出版日期]  
     + "Autogen:一种有效的数据生成和处理框架",[作者姓名],[出版日期]  

* 相关数据:  
     + 各领域(AI、机器人技术、物流)中多代理系统应用的增长统计  
     + 使用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框架集成和可扩展性。然而,LangGraph的局限性在于处理复杂场景的能力有限。  

    ##自动  

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

    ### 勒鲁瓦  

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

    **关键要点和建议**  
    ----------------------------------------  

    总之,LangGraph、Autogen和Crewai是构建多代理系统的三种技术,每种技术都有独特的优点和缺点。一个关键要点是,每种技术都有其独特的优缺点。技术的选择取决于应用程序的具体需求,例如NLP任务适合LangGraph,而数据生成适合Autogen。  

    建议包括:  

* 对于NLP任务(如问答和文本摘要),使用LangGraph。  

* 对于需要高效数据处理和生成真实数据的机器学习任务,请使用Autogen。  

* 对于需要可扩展性和复杂推理的知识表示的基于规则的系统,请使用Crewai。  

    **呼吁行动**  
    -------------------  

    在进行下一个多代理系统项目时,请仔细考虑技术的选择。LangGraph、Autogen和Crewai在构建成功的多代理系统方面提供了独特的优势,帮助您做出正确的选择。今天就开始探索这些技术,以充分发挥其潜力并获得成功吧!  

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

    > 完成链。  
     [DEBUG]: == [内容撰写者] 任务输出: **  

    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框架集成和可扩展性。然而,LangGraph的局限性在于处理复杂场景的能力有限。  

    ### Autogen  

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

    ### Crewai  

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

    **关键要点和建议**  
    ----------------------------------------  

    总之,LangGraph、Autogen和Crewai是构建多代理系统的三种技术,每种技术都有独特的优点和缺点。一个关键要点是,每种技术都有其独特的优缺点。技术的选择取决于应用程序的具体需求,例如NLP任务适合LangGraph,而数据生成适合Autogen。  

    建议包括:  

* 对于NLP任务(如问答和文本摘要),使用LangGraph。  

* 对于需要高效数据处理和生成真实数据的机器学习任务,请使用Autogen。  

* 对于需要可扩展性和复杂推理的知识表示的基于规则的系统,请使用Crewai。  

    **呼吁行动**  
    -------------------  

    在进行下一个多代理系统项目时,请仔细考虑技术的选择。LangGraph、Autogen和Crewai在构建成功的多代理系统方面提供了独特的优势,帮助您做出正确的选择。今天就开始探索这些技术,以充分发挥其潜力并获得成功吧!  

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

     [DEBUG]: == 工作代理:编辑  
     [INFO]: == 开始任务:校对给定的博客文章中的语法错误,并确保与品牌声音的一致性。  

    > 进入新的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框架集成和可扩展性。然而,LangGraph的局限性在于处理复杂场景的能力有限。  

    ### Autogen  

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

    ### Crewai  

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

    **关键要点和建议**  
    ----------------------------------------  

    总之,LangGraph、Autogen和Crewai是构建多代理系统的三种技术,每种技术都有独特的优点和缺点。一个关键要点是,每种技术都有其独特的优缺点。技术的选择取决于应用程序的具体需求,例如NLP任务适合LangGraph,而数据生成适合Autogen。  

    建议包括:  

* 对于NLP任务(如问答和文本摘要),使用LangGraph。  

* 对于需要高效数据处理和生成真实数据的机器学习任务,请使用Autogen。  

* 对于需要可扩展性和复杂推理的知识表示的基于规则的系统,请使用Crewai。  

    **呼吁行动**  
    -------------------  

    在进行下一个多代理系统项目时,请仔细考虑技术的选择。LangGraph、Autogen和Crewai在构建成功的多代理系统方面提供了独特的优势,帮助您做出正确的选择。今天就开始探索这些技术,以充分发挥其潜力并获得成功吧!  

    > 完成链。  
     [DEBUG]: == [编辑] 任务输出: 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框架集成和可扩展性。然而,LangGraph的局限性在于处理复杂场景的能力有限。  

    ### Autogen  

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

    ### Crewai  

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

    **关键要点和建议**  
    ----------------------------------------  

    总之,LangGraph、Autogen和Crewai是构建多代理系统的三种技术,每种技术都有独特的优点和缺点。一个关键要点是,每种技术都有其独特的优缺点。技术的选择取决于应用程序的具体需求,例如NLP任务适合LangGraph,而数据生成适合Autogen。  

    建议包括:  

* 对于NLP任务(如问答和文本摘要),使用LangGraph。  

* 对于需要高效数据处理和生成真实数据的机器学习任务,请使用Autogen。  

* 对于需要可扩展性和复杂推理的知识表示的基于规则的系统,请使用Crewai。  

    **呼吁行动**  
    -------------------  

    在进行下一个多代理系统项目时,请仔细考虑技术的选择。LangGraph、Autogen和Crewai在构建成功的多代理系统方面提供了独特的优势,帮助您做出正确的选择。今天就开始探索这些技术,以充分发挥其潜力并获得成功吧!

显示结果

    从IPython.display导入Markdown和display:
    display(Markdown(result))
以下是由代理生成的输出。
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在构建成功的MAS方面具有独特的优势。从今天开始探索这些技术,发掘它们的潜力,从而获得开发尖端多代理系统的回报!

结论部分

这里我们实现了博客撰写的代理,并展示了代理如何自主地协调以达成最终目标。我们还实现了一个顺序多代理流程,其中内容规划任务的输出作为内容撰写任务的输入,然后内容撰写的输出再由内容编辑处理。CrewAI 还能以层次结构执行任务,也可以将两者结合。

参考文献如下
如何将CrewAI连接到各种大型语言模型(LLMs) - 关于CrewAI与各种大型语言模型(LLMs)集成的全面指南,docs.crewai.com
主页-用于协调角色扮演、自主AI代理的尖端框架。通过促进协同智能……docs.crewai.com

https://ai.meta.com/blog/meta-llama-3/

https://ollama.com/(奥拉玛官网)

点击这里连接我

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消