14.8k Star!CrewAI:部署一支由你指挥的人工智能代理大军,股票分析、发布帖子、支持Ollama!

cover_image
原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!)

14.8k Star!CrewAI:部署一支由你指挥的人工智能代理大军,股票分析、发布帖子、支持Ollama!

🌟Crew AI: 一个前沿AI框架,使用它便可 部署一支由你指挥的人工智能代理大军,创建强大数字劳动力。


Hello,大家好,我是Aitrainee, 今天要给大家介绍一个超酷的新AI框架——Crew AI ( Crew:船员,顾名思义: **
机组人员人工智能 ** )。

该框架使代理能够通过 角色扮演 无缝协作和协同工作。可以将其视为协调一支 高效、有凝聚力 的 AI 代理团队,每个代理都有自己
独特的角色和目标。 所以 Crew AI 就是让一群 AI 代理像一个团队一样协同工作。

关键特性

  • 基于角色的代理设计 :使用特定的角色、目标和工具自定义代理。

  • 自主的代理间委派 :代理可以自主委派任务并互相询问,提高问题解决效率。

  • 灵活的任务管理 :定义带有可定制工具的任务,并动态分配给代理。

  • 流程驱动 :目前仅支持顺序任务执行和层级流程,但更复杂的流程如共识和自主流程正在开发中。

  • 保存输出为文件 :将单个任务的输出保存为文件,以便日后使用。

  • 解析输出为Pydantic或Json :将单个任务的输出解析为Pydantic模型或Json。

  • 支持开源模型 :使用Open AI或开源模型运行你的crew,详见连接crewAI到LLMs页面,了解如何配置代理连接到模型,即使是本地运行的模型!

教程 与演示 视频

** ** 最简单入门教程: ** **

** 一个例子:CrewAI LLaMa 3:如何创建AI代理来实现新闻机构自动化 **

**** 利用 Groq 和 Llama 3 API支持Crew AI 以创建 AI 代理。🤖✨ 我们将首先设置数据库并创建 API,然后将这些元素与
Crew AI 集成,为新闻机构开发自定义工具和 AI 代理。

🔥 您将学到什么:为体育新闻设置自己的数据库。开发与数据库交互的 API。在 Crew AI 中创建自定义工具以利用您的
API。为体育领域的研究和新闻构建 AI 代理。

官方演示: 股票分析人工智能团队

** 股票分析人工智能团队: ** CrewAI 旨在促进角色扮演 AI 代理的协作。在此示例中,这些代理共同提供完整的股票分析和投资建议

1. 运行脚本

默认使用 GPT-4,因此您需要具备 GPT-4 的访问权限来运行它。

免责声明: 这将使用 GPT-4,除非您更改设置,否则将花费您费用。

  • 配置环境 :复制 .env.example 并设置 Browseless 、 Serper 、 SEC-API 和 OpenAI 的环境变量。

  • 安装依赖项 :运行 poetry install --no-root

  • 执行脚本 :运行 python main.py 并输入您的想法。

详细信息与解释

  • 运行脚本 :执行 python main.py 并在提示时输入要分析的公司。脚本将利用 CrewAI 框架来分析公司并生成详细报告。

  • 关键组件

    • ./main.py :主脚本文件。

    • ./stock_analysis_tasks.py :包含任务提示的主要文件。

    • ./stock_analysis_agents.py :包含代理创建的主要文件。

    • ./tools :包含代理使用的工具类。

使用 GPT 3.5

CrewAI 允许您将 llm 参数传递给代理构造函数,使其成为代理的大脑。因此,将代理更改为使用 GPT-3.5 而不是 GPT-4 只需在您希望使用该
LLM 的代理(在 main.py 中)传递该参数。

from langchain.chat_models import ChatOpenAI  llm = ChatOpenAI(model='gpt-3.5') # 加载 GPT-3.5  def local_expert(self):  return Agent(  role='最佳金融分析师',  goal="""以您的财务数据和市场趋势分析  给所有客户留下深刻印象""",  backstory="""最有经验的金融分析师,拥有丰富的股票市场分析和  投资策略经验,正在为一个非常重要的客户工作。""",  verbose=True,  llm=llm, # <----- 在这里传递我们的 llm 引用  tools=[  BrowserTools.scrape_and_summarize_website,  SearchTools.search_internet,  CalculatorTools.calculate,  SECTools.search_10q,  SECTools.search_10k  ]  )

2. 与 Ollama 结合使用本地模型

CrewAI 框架支持与本地模型(如 Ollama)的集成,以增强灵活性和定制化。这使您能够利用自己的模型,这对于专门任务或数据隐私问题特别有用。

设置 Ollama

  • 安装 Ollama :确保 Ollama 在您的环境中正确安装。请按照 Ollama 提供的安装指南进行详细说明。

  • 配置 Ollama :设置 Ollama 以使用您的本地模型。您可能需要 使用 Modelfile 调整模型 ,我建议添加 Observation 作为停用词,并调整 top_ptemperature

将 Ollama 与 CrewAI 集成

  • • 实例化 Ollama 模型:创建 Ollama 模型的实例。您可以在实例化期间指定模型和基本 URL。例如:

    from langchain.llms import Ollama
    ollama_openhermes = Ollama(model=“openhermes”)

    将 Ollama 模型传递给代理:在 CrewAI 框架内创建代理时,您可以将 Ollama 模型作为参数传递给代理构造函数。例如:

    def local_expert(self):
    return Agent(
    role=‘最佳金融分析师’,
    goal=“”“以您的财务数据和市场趋势分析
    给所有客户留下深刻印象”“”,
    backstory=“”“最有经验的金融分析师,拥有丰富的股票市场分析和
    投资策略经验,正在为一个非常重要的客户工作。”“”,
    verbose=True,
    llm=ollama_openhermes, # 在这里传递 Ollama 模型
    tools=[
    BrowserTools.scrape_and_summarize_website,
    SearchTools.search_internet,
    CalculatorTools.calculate,
    SECTools.search_10q,
    SECTools.search_10k
    ]
    )

使用本地模型的优势

  • 隐私 :本地模型允许在您自己的基础设施内处理数据,确保数据隐私。

  • 定制化 :您可以根据任务的具体需求定制模型。

  • 性能 :根据您的设置,本地模型可以提供性能优势,特别是在延迟方面。

下面提供官方的 文档介绍、相关资源、部署教程 等,进一步支撑你的行动,以提升本文的帮助力。

![](https://res.wx.qq.com/t/wx_fed/we-

emoji/res/v1.3.10/assets/newemoji/Party.png) 官方教程

要开始使用CrewAI,请按照以下简单步骤操作:

1. 安装

pip install crewai

如果您希望安装带有可选功能(包括代理额外工具)的‘crewai’包,可以使用以下命令: pip install 'crewai[tools]'
。此命令安装基本包并添加需要更多依赖项才能运行的额外组件。

pip install 'crewai[tools]'

2. 设置你的Crew

import os  
from crewai import Agent, Task, Crew, Process  
from crewai_tools import SerperDevTool  os.environ["OPENAI_API_KEY"] = "YOUR_API_KEY"  
os.environ["SERPER_API_KEY"] = "Your Key" # serper.dev API key  # 您可以选择通过Ollama使用本地模型。更多信息请参阅https://docs.crewai.com/how-to/LLM-Connections/  # os.environ["OPENAI_API_BASE"] = 'http://localhost:11434/v1'  
# os.environ["OPENAI_MODEL_NAME"] ='openhermes'  # 根据可用模型进行调整  
# os.environ["OPENAI_API_KEY"] ='sk-111111111111111111111111111111111111111111111111'  # 您可以传递一个可选的llm属性来指定您想要使用的模型。  
# 它可以是通过Ollama / LM Studio的本地模型,或是远程模型  
# 如OpenAI、Mistral、Antrophic等(https://docs.crewai.com/how-to/LLM-Connections/)  
#  
# import os  
# os.environ['OPENAI_MODEL_NAME'] = 'gpt-3.5-turbo'  
#  
# 或  
#  
# from langchain_openai import ChatOpenAI  search_tool = SerperDevTool()  # 定义具有角色和目标的代理  
researcher = Agent(  role='高级研究分析师',  goal='发现AI和数据科学的最新发展',  backstory="""你在一家领先的科技智库工作。  你的专长在于识别新兴趋势。  你擅长解析复杂数据并提出可行的见解。""",  verbose=True,  allow_delegation=False,  # 您可以传递一个可选的llm属性来指定您想要使用的模型。  # llm=ChatOpenAI(model_name="gpt-3.5", temperature=0.7),  tools=[search_tool]  
)  
writer = Agent(  role='科技内容策划师',  goal='撰写引人入胜的科技进展内容',  backstory="""你是一位著名的内容策划师,以洞察力和引人入胜的文章而闻名。  你将复杂概念转化为引人入胜的叙述。""",  verbose=True,  allow_delegation=True  
)  # 为你的代理创建任务  
task1 = Task(  description="""对2024年AI的最新进展进行全面分析。  识别关键趋势、突破性技术及潜在行业影响。""",  expected_output="要点形式的完整分析报告",  agent=researcher  
)  task2 = Task(  description="""利用提供的见解,撰写一篇引人入胜的博客  文章,突出最重要的AI进展。  你的文章应该既信息丰富又易于理解,面向技术精通的观众。  使其听起来很酷,避免使用复杂的词汇以免听起来像AI。""",  expected_output="至少四段的完整博客文章",  agent=writer  
)  # 用顺序流程实例化你的crew  
crew = Crew(  agents=[researcher, writer],  tasks=[task1, task2],  verbose=2, # 您可以设置为1或2以不同的日志记录级别  
)  # 让你的crew开始工作吧!  
result = crew.kickoff()  print("######################")  
print(result)

除了顺序流程,您还可以使用层级流程,它会自动分配一个经理给已定义的crew,以通过委派和结果验证来正确协调任务的规划和执行。 了解更多关于流程的信息 。

快速教程

撰写职位描述

查看此示例代码 或观看下面的视频:

旅行计划

查看此示例代码 或观看下面的视频:

股票分析

[查看此示例代码](https://github.com/jo

aomdmoura/crewAI-examples/tree/main/stock_analysis)或观看下面的视频:

连接你的Crew到模型

CrewAI支持通过多种连接选项使用不同的LLM。默认情况下,你的代理会在查询模型时使用OpenAI
API。然而,还有其他多种方式允许你的代理连接到模型。例如,你可以通过Ollama工具配置你的代理使用本地模型。

请参考 连接crewAI到LLMs 页面,了解如何配置代理连接到模型。

CrewAI的比较

  • Autogen :虽然Autogen在创建能够协作的对话代理方面表现不错,但它缺乏内在的流程概念。在Autogen中,编排代理的交互需要额外的编程,随着任务规模的扩大,这可能变得复杂和繁琐。

  • ChatDev :ChatDev引入了流程的概念到AI代理领域,但其实现相当僵化。ChatDev的自定义能力有限,并不面向生产环境,这可能会阻碍在实际应用中的可扩展性和灵活性。

CrewAI的优势
:CrewAI是以生产为目的构建的。它结合了Autogen的对话代理的灵活性和ChatDev的结构化流程方法,但没有僵化性。CrewAI的流程设计动态且适应性强,能够无缝融入开发和生产工作流中。

贡献

CrewAI是开源的,我们欢迎贡献。如果你想贡献,请:

  • • Fork 仓库。

  • • 为你的特性创建一个新分支。

  • • 添加你的特性或改进。

  • • 发送 pull 请求。

  • • 我们感谢你的输入!

安装依赖项

poetry lock  
poetry install

虚拟环境

poetry shell

Pre-commit hooks

pre-commit install

运行测试

poetry run pytest

运行静态类型检查

poetry run mypy

打包

poetry build

本地安装

pip install dist/*.tar.gz

参考链接:
[安装教程]https://www.youtube.com/watch?v=Kbq9m-x7gYU

知音难求,自我修炼亦艰

抓住前沿技术的机遇,与我们一起成为创新的超级个体

(把握AIGC时代的个人力量)

**
**

** 点这里 👇 关注我,记得标星哦~ **

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
![](https://res.wx.qq.com/t/wx_fed/we-
emoji/res/v1.3.10/assets/newemoji/Party.png)

预览时标签不可点

微信扫一扫
关注该公众号

轻触阅读原文

AI进修生



收藏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成结构—多处理器

目录 一、SISD、SIMD、MIMD 和向量处理器 1. 费林分类法 2. SIMD 和向量处理器 二、硬件多线程 三、多核处理器和 SMP 1. 多核处理器 2. 共享内存多处理器&#xff08;SMP&#xff09; 3. MPP 和集群 一、SISD、SIMD、MIMD 和向量处理器 通过改进系统结构&#xff0c;可…

C++设计模式-外观模式,游戏引擎管理多个子系统,反汇编

运行在VS2022&#xff0c;x86&#xff0c;Debug下。 30. 外观模式 为子系统定义一组统一的接口&#xff0c;这个高级接口会让子系统更容易被使用。应用&#xff1a;如在游戏开发中&#xff0c;游戏引擎包含多个子系统&#xff0c;如物理、渲染、粒子、UI、音频等。可以使用外观…

图像算法---自动曝光AE

一&#xff0c;自动曝光AE 自动曝光&#xff08;AE&#xff0c;全称Auto Exposure&#xff09;是一种在摄影和摄像中广泛使用的技术&#xff0c;它允许相机或摄像机根据环境光线条件自动调整曝光参数&#xff0c;以获得清晰、亮度适中的图像或视频。以下是关于自动曝光AE的详细…

31|HTTP3:甩掉TCP、TLS 的包袱,构建高效网络

前面两篇文章我们分析了HTTP/1和HTTP/2&#xff0c;在HTTP/2出现之前&#xff0c;开发者需要采取很多变通的方式来解决HTTP/1所存在的问题&#xff0c;不过HTTP/2在2018年就开始得到了大规模的应用&#xff0c;HTTP/1中存在的一大堆缺陷都得到了解决。 HTTP/2的一个核心特性是…

优卡集团冲刺港股上市:90后创始团队孵化,IPO前突击大额分红

现年26岁的鲁圳&#xff0c;正在带领其6年以来的创业成果冲击资本市场。 近日&#xff0c;金融居间机构服务商优卡集团&#xff08;Yoc Group&#xff09;向港交所递交上市申请&#xff0c;民银资本为其独家保荐人。透过招股书可知&#xff0c;优卡集团成立于2018年&#xff0…

【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

文件上传 文章目录 文件上传What is Upload-File&#xff1f;Upload-File In CTFWeb151考点&#xff1a;前端校验解题&#xff1a; Web152考点&#xff1a;后端校验要严密解题&#xff1a; Web153考点&#xff1a;后端校验 配置文件介绍解题&#xff1a; Web154考点&#xff1a…

vcruntime140.dll找不到的正确处理方法,vcruntime140.dll是什么文件

vcruntime140.dll找不到的这个问题&#xff0c;相信不少人都有遇到吧&#xff1f;其实遇到了也不需要害怕&#xff0c;这只是一个很小的问题&#xff0c;我们完全可以自己快速修复。还有就是缺失这个vcruntime140.dll文件&#xff0c;你的一些程序是会打不开的&#xff0c;不用…

揭秘!2024版Camtasia永久免费,全新功能体验

在当今数字时代&#xff0c;视频已经成为了我们生活中不可或缺的一部分。无论是在工作中进行演示、培训&#xff0c;还是在生活中分享生活点滴&#xff0c;视频都扮演着重要的角色。而要想制作出高质量的视频&#xff0c;一款专业的录屏软件是必不可少的。今天&#xff0c;我就…

PHP函数大全之array_count_values()

array_count_values()函数是用于计算数组中每个值的出现次数的PHP函数&#xff0c;并返回一个关联数组&#xff0c;该数组的键表示原始数组中的唯一值&#xff0c;而键值表示该值在原始数组中的出现次数。 array_count_values()函数的一些注意事项&#xff1a; 该函数不区分大…

美团发布2024年一季度财报:营收733亿元,同比增长25%

6月6日&#xff0c;美团(股票代码:3690.HK)发布2024年第一季度业绩报告。受益于经济持续回暖和消费复苏&#xff0c;公司各项业务继续取得稳健增长&#xff0c;营收733亿元(人民币&#xff0c;下同)&#xff0c;同比增长25%。 财报显示&#xff0c;一季度&#xff0c;美团继续…

Linux应用 sqlite3编程

1、概念 SQLite3是一个轻量级的、自包含的、基于文件的数据库管理系统&#xff0c;常用于移动设备、嵌入式设备和小型应用程序中&#xff0c;应用场景如下&#xff1a; 移动应用程序&#xff1a;由于SQLite3是零配置、无服务器的数据库引擎&#xff0c;非常适合用于移动应用程…

uni微信小程序editor富文本组件如何插入图片

需求 在editor中插入图片&#xff0c;并对图片进行编辑&#xff0c;简略看一下组件的属性&#xff0c;官网editor 组件 | uni-app官网 解决方案 首先要使用到ready这个属性&#xff0c;然后官网有给代码粘过来&#xff0c;简单解释一下这段代码的意思&#xff08;作用是在不同…

星火秘境游戏开发链游app定制开发源码部署

星火秘境是一款神秘而充满冒险的游戏&#xff0c;开发这样一款游戏需要综合考虑多个方面&#xff0c;包括游戏设计、美术设计、程序开发、音效制作等。下面我将简要介绍一下游戏开发和链游app搭建的一般流程&#xff1a; 游戏设计&#xff1a; 确定游戏类型&#xff1a;星火秘…

webgl_effects_stereo

ThreeJS 官方案例学习&#xff08;webgl_effects_stereo&#xff09; 1.效果图 2.源码 <template><div><div id"container"></div></div> </template> <script> import * as THREE from three; // 导入控制器 import { …

碳课堂|一文梳理国际碳标准发展历程

在全球气候行动的浪潮中&#xff0c;国际碳标准作为衡量和指导组织与产品环境影响的重要工具&#xff0c;其发展历程不仅标志着环境保护意识的觉醒&#xff0c;也反映了全球合作对抗气候变化的决心。从产品碳足迹的评估到组织碳排放的监控&#xff0c;再到碳中和目标的追求&…

天润酸奶爆改饭盒?为什么听劝营销“硬控”消费者如此有效

不知道大家会不会经常逛超市&#xff1f;有没有发现酸奶货架上有一道异于其它品牌的包装&#xff0c;它就是新疆天润酸奶&#xff0c;酷似饭盒的外包装对于当代倡导实用主义的年轻人来讲&#xff0c;这一发现无疑是直接“创进心巴”&#xff0c;不少网友表示它直接解决了带饭人…

HiveQL性能调优-概览

一、铺垫 1、HiveQL 在执行时会转化为各种计算引擎的能够运行的算子&#xff0c;这里以mr引擎为切入点&#xff0c;要想让HiveQL 的效率更高&#xff0c;就要理解HiveQL 是如何转化为MapReduce任务的 2、hive是基于hadoop的&#xff0c;分布式引擎采用mr、spark、tze&#x…

前端面试题(二)答案版

面试形式&#xff1a;线上面试&#xff08;不露脸&#xff09;&#xff1a;时长40分钟 面试评价&#xff1a;由易到难&#xff0c;由细到全&#xff0c;比较不错 面试官&#xff1a;项目经理 面试官提问&#xff08;面试题&#xff09;&#xff1a; 1、聊聊最近写的这个项目…

WordPress--批量关闭 Pingback 和 Trackback

原文网址&#xff1a;WordPress--批量关闭 Pingback 和 Trackback_IT利刃出鞘的博客-CSDN博客 简介 本文介绍WordPress如何批量关闭 Pingback 和 Trackback。 新发布文章默认关闭 在设置> 讨论中关闭如下两项&#xff1a; 关闭已经发布的文章 UPDATE wp_posts SET ping…

三石峰汽车生产厂的设备振动检测项目案例

汽车生产厂的设备振动检测项目 ----天津三石峰科技&#xff08;http://www.sange-cbm.com&#xff09; 汽车产线有很多传动设备需要长期在线运行&#xff0c;会出现老化、疲劳、磨损等问题&#xff0c;为了避免意外停机造成损失&#xff0c;需要加装一些健康监测设备&#xf…