前言
crewAI 是一个开源框架,可以编排角色扮演的 AI 智能体,通过促进协作使这些 AI 智能体无缝衔接,处理复杂问题。
本文采用的 crewAI 版本为 v0.22.5,废话不多说,直接盘它。
安装
pipinstallcrewai
如果原来已经安装过,可以使用如下命令进行更新:
pipinstall--upgradecrewai
创建项目
v0.22.5 版本已经支持使用命令 crewai create 项目名称 创建项目。
例如,我们的本地工作目录为 PythonProjects,要创建的项目为 crewai_labs,就可以这样进行安装:
cdPythonProjects
crewaicreatecrewai_labs
执行成功,结果如下所示:
Creatingfoldercrewai_labs...
-Createdcrewai_labs/.gitignore
-Createdcrewai_labs/pyproject.toml
-Createdcrewai_labs/README.md
-Createdcrewai_labs/src/crewai_labs/__init__.py
-Createdcrewai_labs/src/crewai_labs/main.py
-Createdcrewai_labs/src/crewai_labs/crew.py
-Createdcrewai_labs/src/crewai_labs/tools/custom_tool.py
-Createdcrewai_labs/src/crewai_labs/tools/__init__.py
-Createdcrewai_labs/src/crewai_labs/config/agents.yaml
-Createdcrewai_labs/src/crewai_labs/config/tasks.yaml
Crewcrewai_labscreatedsuccessfully!
安装项目依赖
根据生成文件 crewai_labs/README.md 中说明安装即可。

确保系统上安装了 Python 版本在 3.10 到 3.13 之间;
项目使用 Poetry 进行依赖管理;
pipinstallpoetry
poetry.lock 文件
cdcrewai_labs
poetrylock
安装依赖
cdcrewai_labs
poetryinstall
新增 .env 文件
//框架默认使用的是GPT-4,后面会讲解如何自定义配置LLM
OPENAI_API_KEY=xxx
项目运行
cdcrewai_labs
poetryruncrewai_labs
输出信息:
//信息太多,我就不贴了,如果出现了错误,能一眼就能看出发生了错误。
官方示例在未修改的情况下,运行完毕后会在项目根目录创建一个名为 report.md 的文件,内容是关于大型语言模型(LLMs)研究的输出结果。
我本地运行成功后生成的 report.md 内容如下:
#AILargeLanguageModels(LLMs):AComprehensiveReport
##Introduction
AILLMsaremachinelearningmodelsthatuselargevolumesofdatatounderstandandgeneratehumanlanguage.Theyareincreasinglybeingusedacrossawiderangeofindustries,transforminghowwetranslatelanguages,createcontent,analyzedata,andmore.Recentdevelopments,likeOpenAI'sGPT-3,haveresultedinmodelscapableofgeneratingcontextuallyrelevanttextsandperformingtaskssuchastranslatinglanguages,writingessays,answeringtriviaquestions,andevenwritingpoetry.
##SpecificUseCases
AILLMsarebeingdeployedacrossvarioussectors,eachwithuniqueapplications.Inhealthcare,theyareusedforpredictingpatientoutcomes,diagnosingdiseases,andpersonalizingtreatmentplans.Financeseesitsutilizationforfrauddetection,creditscoring,andalgorithmictrading.Meanwhile,theretailsectorleveragesAILLMsfordemandforecasting,customersegmentation,andpersonalizedmarketing.Notably,intheautomotiveindustry,theyareintegraltothedevelopmentofautonomousvehicles.
##EthicalConcerns
Despitetheadvantages,AILLMspresentarangeofethicalchallengesandbiasconcerns.AIsystemsmayperpetuateexistingbiasesiftrainedonbiaseddata,leadingtounfairoutcomesinapplicationslikehiringorlending.Privacyconcernsalsoexist,asAIsystemsoftenrequireaccesstolargeamountsofdata,potentiallyincludingsensitivepersonalinformation.Accountabilityissuesariseaswell,asitcanbechallengingtodetermineresponsibilitywhenanAIsystemcausesharm.
##FutureTrends
ThefutureofAILLMstechnologyispromising.CurrenttrendspointtowardsmoretransparentAIsystemsthatcanexplaintheirdecisions,aconceptknownasexplainableAI.Thereisalsoagrowinginterestinfederallylearning,allowingAImodelstolearnfromdecentralizeddatasourceswhilepreservingprivacy.ResearchisalsounderwaytoimprovetheefficiencyofAImodels,enablingthemtoprovidemoreaccuratepredictionswithlessdataandcomputationalresources.
##MarketAnalysis
TheAILLMsmarketiscompetitive,withkeyplayerslikeIBM,Google,Amazon,andMicrosoftattheforefront.ThesecompaniescompetebasedontheaccuracyoftheirAImodels,diversityofapplications,anduser-friendlyinterfaces.Partnershipsarealsoacommonstrategytoenhanceofferings,suchasIBM'scollaborationwithAppletodevelophealthcareapplications.
##NotableAchievements
TherehavebeenmanygroundbreakingachievementsinAILLMs.Google'sAImodel,AlphaGo,defeatedtheworldchampioninthegameofGo,signifyingasignificantmilestoneinAIdevelopment.OpenAI'sGPT-3hasshowcasedimpressivecapabilitiesinnaturallanguageunderstandingandgeneration.Inthemedicalfield,severalmodelshavedemonstratedperformanceonparwithorsuperiortohumanexpertsformedicaldiagnoses.
核心文件
src/crewai_labs/config/agents.yaml,在这里定义 Agents。
src/crewai_labs/config/tasks.yaml,在这里定义 Tasks。
src/crewai_labs/crew.py,在这里定义自己的逻辑、工具和参配。
src/crewai_labs/main.py,在这里定义自己的输入信息。
每个文件的内容,都比较简单,大家可以看一下 ~
主要做了一件什么事?输入一个{主题}(框架中默认主题为:AI LLMs),然后输出一份报告。
框架定义了两个 Agent:
研究人员
- 背景:您是一位经验丰富的研究员,擅长发掘{主题}领域的最新进展。您以能够找到最相关的信息并以清晰、简洁的方式呈现而闻名。
- 任务:对{主题}进行全面研究
确保在2024年当前的情况下,找到任何有趣且相关的信息。
- 预期输出:一个包含关于{主题}最相关信息的10个要点的列表。
报告分析师
- 背景:您是一位注重细节的分析师,对细节有敏锐的洞察力。您以将复杂数据转化为清晰、简洁的报告而闻名,使他人能够轻松理解和根据您提供的信息采取行动。
- 任务:审查你所获得的背景信息,并将每个主题扩展成一个报告的完整部分。确保报告详细且包含所有相关信息。
- 预期输出:一份完整的报告,包含主要主题,每个主题都有一个完整的信息部分。以markdown格式呈现,不使用 '```' 符号。
这的核心是提示词!在 .yaml 文件中,按照规范定义提示词即可。
小结
看到这,估计大家都有了自己的想法,知道 crewAI 框架到底是干什么的了。它可以使 AI 代理能够承担角色,可以共享目标,就像一个精密运作的团队一样,共同为一个目标而努力。
个人认为,多智能体协作平台做出的东西可以颠覆目前很多的单智能体应用,好好进行任务编排,大有可为。