Skip to content

Latest commit

 

History

History
190 lines (145 loc) · 7.39 KB

File metadata and controls

190 lines (145 loc) · 7.39 KB

DeepResearch

中文 | English

License Java Spring Boot Spring AI

📖 介绍

DeepResearch是基于Spring AI Alibaba Graph构建的智能研究Agent,旨在攻克复杂研究任务。它采用Multi-Agent协作模式,支持动态任务规划与执行。系统集成了多源在线搜索与Hybrid RAG技术,配合Secure Sandbox执行Python代码,实现高效的数据分析。通过Reflection、HITL及Self-evolution Memory,Agent能持续自我优化,最终输出高质量的研究报告,提供深度洞察。

✨ Technical Features

  • 📋Plan and Execute: 复杂问题的动态规划与自动执行
  • 🤖Multi Agent: 多智能体(如Researcher, Coder)协同作业
  • 🌐Online Search: 集成Tavily、Jina、阿里云 AI Search等多源搜索服务
  • 📖Hybrid RAG: 结合向量与关键词检索,实现全面信息获取
  • 🔄Reflection: 智能体自主反思,持续优化输出质量
  • 🚶‍♂️HITL: 支持人机交互反馈,增强可控性
  • 🧬Self-evolution Memory: 基于交互反馈的记忆结构与内容自进化用户角色记忆
  • 🖇️MCP Allocation: 支持多智能体场景下的MCP分配
  • 🔒Secure Sandbox: Docker沙箱环境下的安全Python代码执行
  • 📊Report Generation: 支持HTML报告预览,Markdown、PDF等多种格式的报告生成

🎋 项目架构

DeepResearch/
├──  ├── src/
│    ├── agents                          # 多Agent初始化,MCP分配,可观测初始化
│    ├── config                          # Graph图构建,项目Config配置类
│    ├── controller                      # Http接口端点
│    ├── dispatcher                      # Graph EdgeAction
│    ├── model                           # 基础项目实体
│    ├── node                            # Graph关键node定义
│    ├── rag                             # RAG核心实现
│    ├── repository                      # 模型配置加载
│    ├── serializer                      # 消息序列化实现
│    ├── service                         # 业务代码实现
│    ├── tool                            # Agent Tool定义
│    ├── util                            # 项目util
│    └── DeepResearchApplication         # 启动类
├──  ├── resource/                  
│    ├── prompts                         # 核心prompt
│	 ├── mcp-config.json                 # Agent Mcp配置
│    ├── model-config.json               # 多Agent模型配置
├──  └── website-weight-config.json      # 搜索引擎权重配置

🧩 系统架构

更多图例

🔍 运行示例

演示视频

🚀 快速开始

Prerequisites

  • Java 17+
  • Maven 3.6+
  • DashScope API Key

1. 克隆并构建

git clone https://github.com/spring-ai-alibaba/deepresearch.git
cd deepresearch
mvn clean install -DskipTests

2. 配置API Key

export AI_DASHSCOPE_API_KEY=your-api-key-here

3. 启动应用

从项目启动

后端:

cd deepresearch
mvn spring-boot:run

前端:

cd ui-vue3
pnpm install
npm run dev

Docker版启动

  • 在deepresearch项目工程目录下执行构建命令,构建docker镜像大约要花费5分钟左右
cd deepresearch
docker build -t alibaba-deepresearch:v1.0
  • 构建完成后,执行docker run命令启动镜像,设置环境变量
docker run -d \
  --name alibaba-deepresearch \
  -e AI_DASHSCOPE_API_KEY="your_key_here" \
  -e TAVILY_API_KEY="your_key_here" \
#  -e JINA_API_KEY="your_key_here" \ 选填
  -p 8080:8080 \
  alibaba-deepresearch:v1.0
  • 或者使用docker-compose up命令启动,当前容器包括Redis,ElasticSearch, DeepResearch App.
  docker-compose up

💡注意

  • .env文件中设置api-key信息
  • dockerConfig目录下有对应应用的配置文件,也可在配置文件中设置key及相关配置信息

4. 配置项

5. Debug和可观测

支持集成Langfuse体系可观测,相关配置项可查看文档

相关API文档

测试用例

相关请求可见:DeepResearch.http

curl --location 'http://localhost:8080/chat/stream' \
--header 'Content-Type: application/json' \
--data '{
    "thread_id": "__default_",
    "enable_deepresearch": false,
    "query": "请为我分析泡泡玛特现象级爆火的原因",
    "max_step_num": 2,
    "auto_accepted_plan": true
}'

📚 参考文档

🤝 加入社区 & 贡献

欢迎贡献!请参阅 CONTRIBUTING 了解指南。

社区

📄 许可证

本项目采用 Apache License 2.0 许可证 - 详见 LICENSE 文件。

Contributors

感谢如下贡献人员的付出,逐渐完善本项目,其 Github 账号如下(排名顺序不分先后):

yingzizhouyouNOBODYxiaohai-78VLSMBdisaster1-teskAllen HuMakotosixiyidaGfangxinAliciaHuswlhuangzhenTfh-Yqfanyin-xyzzhou youkangsupermonkeyguysyuluo-yxKen Liuco63oxbenym


Made with ❤️ by Spring AI Alibaba DeepResearch Team