前言
本次训练我们使用了CrewAI搭建多智能体分析报告自动化系统。我们通过设计两个Agent角色(研究员和报告分析员)实现此任务。其中,研究员负责探索特定主题的前沿发展,而报告分析员则负责将研究结果转化为详细的分析报告。

配置OneAPI
首先,我们配置OneAPI服务。OneAPI服务通过聚合各提供商API接口,实现在统一接口下访问不同厂商的多种模型。
我们启动one-api.exe,然后打开OneAPI默认的前端页面:http://localhost:3000,默认用户名为root,密码为123456
我们先添加渠道。“添加渠道”功能相当于添加模型提供商。OneAPI已经内置各提供商的API端点,我们只需选择所需提供商与所需模型的标签。这里我们以阿里同义千问为例。如图所示,我们添加渠道并填入自己的阿里云百炼密钥。
添加渠道后如图所示。
我们添加令牌。令牌是OneAPI提供的中转服务,应用程序可通过OneAPI的API端点与令牌访问OneAPI的聚合服务,同时,令牌也可提供简单的额度限制功能。添加令牌如图所示。
如下图所示,我们成功添加令牌后,复制得到的令牌。
配置CrewAI
下面,我们配置CrewAI服务。我们以“AI LLMs”为研究主题,探索人工智能大语言模型的分析报告。
首先,我们创建虚拟环境。
conda create name crewai_env python=3.10
然后,安装项目所需的依赖包,包括作为Agent开发框架的CrewAI库,构建分析报告自动化系统API服务所需的FastAPI库与Uvicorn库。
pip install -r requirements.txt
我们在项目根目录下执行命令,创建CrewAI项目:
crewai create crew testproject
接着,进入创建的项目目录:
cd testproject
修改.env中关于大模型的环境变量配置:
安装CrewAI相关依赖:
crewai install
若这里出现错误 uvloop does not support Windows at the moment,我们在poetry.lock中找到所有与uvloop相关的依赖配置并删除,即可解决此问题。
该问题的成因是,CrewAI的某些依赖,硬性依赖于uvloop包,而uvloop包在Windows环境中不被支持。若不修改原有库,我们只能通过删除lock文件的相应配置解决这一点。
最后,我们启动项目:
crewai run
等待整个工作流运行结束后,我们便得到了完整的分析报告。
问题及解决方案
我们将遇到的问题总结如下:
问题 | 解决方案 |
报错中含有Python版本信息 | 调整Python版本,保证Python版本在3.10~3.12之间(推荐3.10) |
numpy提示np.float_失效 | 将np.float_改为受支持的np.float64 |
uvloop does not support Windows | 在poetry.lock中找到所有与uvloop相关的依赖配置并删除 |
结语
通过这次实践,我们深入理解了CrewAI框架的核心概念,包括Agents、Tasks、Processes、Crews等组件的协同工作机制。这种多Agent协作的方式利用群体智能,为AI应用开发提供了新的思路,特别适合处理需要多个角色协同完成的复杂任务。