JoyAgent-JDGenie 是一个由京东开源的多智能体框架,专注于自动化处理复杂任务。它在 GAIA 基准测试中表现优异,准确率达到 75.15%,超越了多个同类产品。这个框架开箱即用,不依赖云平台,适合本地部署。用户可以通过输入查询或任务,让系统自动完成代码生成、文档处理和报告生成等操作。它支持挂载子智能体或工具,灵活适配不同需求。项目代码托管在 GitHub 上,基于 Apache-2.0 许可证,允许开发者自由使用和修改。
功能列表
- 支持多智能体协作,处理代码、文档、报告生成等复杂任务。
- 开箱即用的框架,无需复杂配置即可运行。
- 支持本地部署,不依赖云平台,适合企业级应用。
- 提供模块化工具挂载,可定制子智能体以满足特定需求。
- 集成多种任务处理能力,如代码调试、数据分析和自动化报告。
- 支持多模态输入,处理文本、图像等多种数据类型。
- 提供示例数据和测试用例,便于开发者快速上手。
使用帮助
JoyAgent-JDGenie 的使用流程清晰,适合开发者快速集成到项目中。以下是详细的安装和使用指南,帮助用户从零开始上手。
安装流程
- 环境准备
确保你的系统已安装 Python 3.8 或以上版本,以及 Git。推荐使用 Linux 或 macOS 系统,Windows 用户需安装 WSL 或使用兼容环境。sudo apt update sudo apt install python3 python3-pip git
- 克隆项目代码
从 GitHub 仓库下载 JoyAgent-JDGenie 的源代码。打开终端,输入以下命令:git clone https://github.com/jd-opensource/joyagent-jdgenie.git cd joyagent-jdgenie
- 安装依赖
项目依赖一些 Python 库,安装前确保pip
已更新。运行以下命令安装所需依赖:pip3 install --upgrade pip pip3 install -r requirements.txt
- 配置环境变量
JoyAgent-JDGenie 支持 AWS Claude 和 OpenAI 的 API 作为语言模型驱动。你需要配置至少一种 API 密钥。编辑.env
文件(或新建一个),添加以下内容:export OPENAI_API_KEY="你的OpenAI密钥" # 或者 export AWS_CLAUDE_API_KEY="你的Claude密钥"
保存后,运行
source .env
使环境变量生效。 - 安装 ChromeDriver(可选)
如果需要处理网页任务,需安装 ChromeDriver。以下是 Linux 系统下的安装命令:wget https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/linux64/chromedriver-linux64.zip unzip chromedriver-linux64.zip sudo mv chromedriver /usr/bin/chromedriver sudo chmod +x /usr/bin/chromedriver
默认情况下,Chrome 运行在无头模式(无 GUI)。若需可视化浏览器,编辑配置文件,设置
headful=True
。 - 验证安装
运行以下命令,测试框架是否正常工作:python3 -m simulated_web_agent.main --help
如果输出帮助信息,说明安装成功。
功能操作流程
JoyAgent-JDGenie 的核心功能是通过多智能体协作完成复杂任务。以下是主要功能的详细操作步骤。
1. 运行任务
项目提供 1000 个示例人物数据(位于 example_data/personas/json/
),可用于测试。运行任务的命令如下:
python3 -m simulated_web_agent.main --persona "example_data/personas/json/virtual customer 0.json" --output "output" --llm-provider openai
--persona
:指定人物数据文件,包含任务描述,如购买商品或生成报告。--output
:指定输出目录,保存任务结果。--llm-provider
:选择语言模型(openai
或claude
)。
示例人物数据格式如下:
{
"persona": "Persona: Michael ...",
"intent": "buy a large, inflatable spider decoration for halloween",
"age": 42,
"gender": "male",
"income": [30001, 94000]
}
运行后,系统会根据任务目标调用智能体,完成网页浏览、数据提取或报告生成等操作。
2. 自定义子智能体
JoyAgent-JDGenie 支持挂载子智能体或工具,满足特定需求。例如,添加一个用于数据分析的子智能体:
- 在
tools/
目录下创建新工具脚本,遵循项目文档中的接口规范。 - 修改
config.yaml
,添加工具路径:tools: - path: "tools/custom_analyzer.py" name: "DataAnalyzer"
- 重新运行任务,系统会自动加载新工具。
3. 处理多模态任务
框架支持处理文本、图像等多种输入。例如,上传图像并要求生成描述:
- 将图像文件放入
input/
目录。 - 修改任务配置文件,指定图像路径和任务目标:
{ "input": "input/image.jpg", "task": "generate image description" }
- 运行任务,系统会调用多模态智能体生成结果。
4. 查看输出结果
任务完成后,结果保存在 --output
指定的目录。输出文件包括任务日志、生成的内容和调试信息。检查 output/
目录下的文件,确保任务执行正确。
注意事项
- 确保网络连接稳定,API 密钥有效。
- 如果任务执行时间过长,可调整配置文件中的
timeout
参数。 - 定期更新项目代码以获取最新功能:
git pull origin main
应用场景
- 自动化代码调试
开发者可以使用 JoyAgent-JDGenie 自动分析代码错误,生成修复建议。上传代码文件,指定任务为“调试代码”,系统会调用智能体分析并输出解决方案。 - 生成商业报告
企业用户可以输入销售数据或市场调研任务,框架自动生成结构化的报告。适合快速生成财务分析或市场趋势报告。 - 网页数据抓取
系统支持自动化网页浏览和数据提取。例如,输入“抓取电商平台商品价格”,智能体会访问目标网站并返回结构化数据。 - 个性化任务处理
通过自定义子智能体,用户可以实现特定功能,如自动回复邮件或批量处理文档,适合办公自动化场景。
QA
- JoyAgent-JDGenie 需要云服务支持吗?
不需要。框架支持本地部署,适合企业级应用或对数据隐私有要求的环境。 - 如何选择合适的语言模型?
支持 OpenAI 和 AWS Claude。OpenAI 适合快速响应,Claude 适合复杂任务。根据需求在.env
文件中配置对应 API 密钥。 - 可以处理哪些类型的任务?
支持代码生成、文档处理、报告生成、网页抓取和多模态任务。具体任务通过人物数据或配置文件定义。 - 如何扩展功能?
在tools/
目录下添加自定义工具脚本,并更新config.yaml
文件。参考官方文档确保接口兼容。