ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1em;letter-spacing: 0.1em;color: rgb(80, 80, 80);">?Crew AI:一个前沿AI框架,使用它便可部署一支由你指挥的人工智能代理大军,创建强大数字劳动力。 Hello,大家好,我是Aitrainee,今天要给大家介绍一个超酷的新AI框架——Crew AI(Crew:船员,顾名思义:机组人员人工智能)。该框架使代理能够通过角色扮演无缝协作和协同工作。可以将其视为协调一支高效、有凝聚力的 AI 代理团队,每个代理都有自己独特的角色和目标。所以 Crew AI 就是让一群 AI 代理像一个团队一样协同工作。 关键特性ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;list-style: circle;color: rgb(63, 63, 63);">•基于角色的代理设计:使用特定的角色、目标和工具自定义代理。 •自主的代理间委派:代理可以自主委派任务并互相询问,提高问题解决效率。 •灵活的任务管理:定义带有可定制工具的任务,并动态分配给代理。 •流程驱动:目前仅支持顺序任务执行和层级流程,但更复杂的流程如共识和自主流程正在开发中。 •保存输出为文件:将单个任务的输出保存为文件,以便日后使用。 •解析输出为Pydantic或Json:将单个任务的输出解析为Pydantic模型或Json。 •支持开源模型:使用Open AI或开源模型运行你的crew,详见连接crewAI到LLMs页面,了解如何配置代理连接到模型,即使是本地运行的模型!

教程与演示视频ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: var(--articleFontsize);letter-spacing: 0.034em;text-align: justify;">最简单入门教程: ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: var(--articleFontsize);letter-spacing: 0.034em;text-align: justify;">一个例子:CrewAI LLaMa 3:如何创建AI代理来实现新闻机构自动化 利用 Groq 和 Llama 3 API支持Crew AI 以创建 AI 代理。?✨ 我们将首先设置数据库并创建 API,然后将这些元素与 Crew AI 集成,为新闻机构开发自定义工具和 AI 代理。 ?您将学到什么:为体育新闻设置自己的数据库。开发与数据库交互的 API。在 Crew AI 中创建自定义工具以利用您的 API。为体育领域的研究和新闻构建 AI 代理。 官方演示:股票分析人工智能团队ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: var(--articleFontsize);letter-spacing: 0.034em;text-align: justify;">股票分析人工智能团队:CrewAI 旨在促进角色扮演 AI 代理的协作。在此示例中,这些代理共同提供完整的股票分析和投资建议 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 2em auto 1em;padding-right: 1em;padding-left: 1em;border-bottom: 2px solid rgb(0, 152, 116);color: rgb(63, 63, 63);">1. 运行脚本默认使用 GPT-4,因此您需要具备 GPT-4 的访问权限来运行它。 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">免责声明:这将使用 GPT-4,除非您更改设置,否则将花费您费用。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;padding-left: 1em;list-style: circle;color: rgb(63, 63, 63);" class="list-paddingleft-1">•配置环境:复制.env.example并设置Browseless、Serper、SEC-API和OpenAI的环境变量。 •安装依赖项:运行poetry install --no-root。 •执行脚本:运行python main.py并输入您的想法。 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.1em;font-weight: bold;margin-top: 2em;margin-right: 8px;margin-bottom: 0.75em;padding-left: 8px;border-left: 3px solid rgb(0, 152, 116);color: rgb(63, 63, 63);">详细信息与解释ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;padding-left: 1em;list-style: circle;color: rgb(63, 63, 63);" class="list-paddingleft-1">•运行脚本:执行python main.py并在提示时输入要分析的公司。脚本将利用 CrewAI 框架来分析公司并生成详细报告。 •关键组件: 使用 GPT 3.5CrewAI 允许您将 llm 参数传递给代理构造函数,使其成为代理的大脑。因此,将代理更改为使用 GPT-3.5 而不是 GPT-4 只需在您希望使用该 LLM 的代理(在main.py中)传递该参数。 fromlangchain.chat_modelsimportChatOpenAI
llm=ChatOpenAI(model='gpt-3.5')#加载GPT-3.5
deflocal_expert(self): returnAgent( 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 与 CrewAI 集成fromlangchain.llmsimportOllama ollama_openhermes=Ollama(model="openhermes") #将 Ollama 模型传递给代理:在 CrewAI 框架内创建代理时,您可以将 Ollama 模型作为参数传递给代理构造函数。例如:
deflocal_expert(self): returnAgent( 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 ] )
使用本地模型的优势下面提供官方的文档介绍、相关资源、部署教程等,进一步支撑你的行动,以提升本文的帮助力。 官方教程
要开始使用CrewAI,请按照以下简单步骤操作: 1. 安装pipinstallcrewai 如果您希望安装带有可选功能(包括代理额外工具)的‘crewai’包,可以使用以下命令:pip install 'crewai[tools]'。此命令安装基本包并添加需要更多依赖项才能运行的额外组件。 pipinstall'crewai[tools]' 2. 设置你的Crewimportos fromcrewaiimportAgent,Task,Crew,Process fromcrewai_toolsimportSerperDevTool
os.environ["OPENAI_API_KEY"]="YOUR_API_KEY" os.environ["SERPER_API_KEY"]="YourKey"#serper.devAPIkey
#您可以选择通过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/LMStudio的本地模型,或是远程模型 #如OpenAI、Mistral、Antrophic等(https://docs.crewai.com/how-to/LLM-Connections/) # #importos #os.environ['OPENAI_MODEL_NAME']='gpt-3.5-turbo' # #或 # #fromlangchain_openaiimportChatOpenAI
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的比较CrewAI的优势:CrewAI是以生产为目的构建的。它结合了Autogen的对话代理的灵活性和ChatDev的结构化流程方法,但没有僵化性。CrewAI的流程设计动态且适应性强,能够无缝融入开发和生产工作流中。 贡献CrewAI是开源的,我们欢迎贡献。如果你想贡献,请: •Fork 仓库。 •为你的特性创建一个新分支。 •添加你的特性或改进。 •发送 pull 请求。 •我们感谢你的输入!
安装依赖项poetrylock poetryinstall
虚拟环境poetryshell Pre-commit hookspre-commitinstall 运行测试poetryrunpytest 运行静态类型检查poetryrunmypy 打包poetrybuild 本地安装pipinstalldist/*.tar.gz
|