当前位置: 首页 > news >正文

基于Spring AI Deep Researcher Agent

基于Spring AI Deep Researcher Agent

📑 目录

  • 1. 项目简介
  • 2. 技术栈
  • 3. 系统架构
  • 4. 系统节点详解
  • 5. 系统流程图
  • 6. 功能特点
  • 7. 使用方法
  • 8. 项目结构

1. 项目简介

✨ 本项目基于 Spring AI + LangGraph4j 构建,旨在打造一个 具备自主研究能力的智能体系统

深度研究智能体是一款基于 Spring AILangGraph4j 的智能研究助手,能够根据用户提出的问题,自动完成
澄清需求 → 制定研究简报 → 执行深度搜索 → 整理与压缩信息 → 生成最终报告 的全流程研究任务。

该系统采用 图驱动的智能体架构 (Graph-based Agent Architecture),具备 ** 多节点协作、监督机制、工具链调用、实时反馈
** 等特性,可广泛应用于学术研究、市场分析、技术趋势追踪等场景。

github:https://github.com/renpengben/deep-researcher-agent

2. 技术栈

  • Java 17
  • Spring Boot 3.5.5
  • Spring AI 1.0.1
  • LangGraph4j 1.6.2

3. 系统架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

系统采用分层的智能体图结构,主要包含以下组件:

  • DeepResearchGraph
    主研究流程图,协调整个研究过程

  • SupervisorGraph
    监督研究质量,确保方向正确

  • ResearcherGraph
    执行具体研究任务,包括搜索、思考和信息压缩

架构总览

用户输入问题│▼ClarifyWithUserNode (澄清需求)│▼WriteResearchBriefNode (生成研究简报)│▼SupervisorGraph (监督研究)│▼ResearcherGraph (执行研究 → 压缩信息)│▼FinalReportGenerationNode (生成报告)

4. 系统节点详解

主图节点

  • ClarifyWithUserNode: 澄清用户研究问题
  • WriteResearchBriefNode: 生成研究简报
  • FinalReportGenerationNode: 生成最终研究报告

SupervisorGraph

  • SupervisorNode: 分配研究任务,调用 ResearcherGraph
  • SupervisorToolNode: 处理工具调用结果,支持并行执行

ResearcherGraph

  • ResearcherNode: 执行研究任务,调用 TavilySearch、ThinkTool、ResearchComplete
  • ResearcherToolsNode: 处理工具调用结果
  • CompressResearchNode: 压缩与整理研究内容

5. 系统流程图

总体流程

用户输入问题│▼
ClarifyWithUserNode ──> WriteResearchBriefNode│                          │▼                          ▼
SupervisorGraph  <─────── 研究简报输入│▼
ResearcherGraph ──> CompressResearchNode│▼
FinalReportGenerationNode (最终报告)

SupervisorGraph 子图

研究简报输入│▼
SupervisorNode ──> SupervisorToolNode▲                     │└────── 循环直到完成 ──┘

ResearcherGraph 子图

研究任务输入│▼
ResearcherNode ──> ResearcherToolsNode ──> CompressResearchNode

6. 功能特点

问题澄清:确认研究目标,避免偏差
研究简报:生成可执行的研究计划
信息搜索与整理:Tavily 搜索 + 推理工具链
监督机制:保证研究质量与方向
实时反馈:SSE 实时输出进度与中间结果
最终报告生成:输出结构化分析报告


7. 使用方法

环境要求

  • JDK 17+
  • Maven
  • OpenAI API Key

启动步骤

git clone https://github.com/renpengben/deep-researcher-agent
cd deep-researcher-agent
  1. 配置大模型和Tavily
    application.properties 或环境变量中设置,兼容Open AI规范的大模型接口。
   spring:ai:openai:base-url: https://api.siliconflow.cnapi-key: sk-xxxxchat:options:model: deepseek-ai/DeepSeek-V3.1

Tavily申请key https://www.tavily.com/

tavily:
api-key: tvly-dev-xxx
  1. test
    CompileConfig compileConfig = CompileConfig.builder().checkpointSaver(new MemorySaver()).build();var result = deepResearchGraph.build().getGraph(GraphRepresentation.Type.PLANTUML, "deep research graph", false);System.out.println(result.content());var compileGraph = deepResearchGraph.build().compile(compileConfig);compileGraph.setMaxIterations(50);var generator = compileGraph.stream(Map.of("messages", new UserMessage("研究下Anthropic最新发布的Streamable HTTP的工程中的具体实现方案")));

3.输出结果

在这里插入图片描述


8. 项目结构

├── src/
│   ├── main/java/io/github/renpengben/deepresearch/
│   │   ├── config/         # 配置类
│   │   ├── graph/          # 智能体图结构
│   │   ├── model/          # 数据模型
│   │   ├── nodes/          # 节点实现
│   │   ├── prompt/         # 提示词模板
│   │   ├── state/          # 状态管理
│   │   ├── tools/          # 工具实现
│   │   └── DeepResearcherAgentApplication.java
│   └── resources/
│       └── application.yml
└── pom.xml

http://www.dtcms.com/a/503690.html

相关文章:

  • 海洋承德网站建设公司互联科技 行业网站
  • [嵌入式系统-153]:RS485通信与CAN通信的比较
  • Decoder-Only架构下Decoder的学习
  • Anaconda安装和使用
  • 3.8 JSON Schema 术语回顾
  • 第二次面试:C++qt开发实习生
  • 泰安建设网站哪个好单位网站开发费用进什么科目
  • 【Flume】Flume Learning
  • 和网站设计人员谈价要注意什么那些网站是asp做的
  • 网站视频提取软件app天河做网站设计
  • GPU服务器存储选型指南:SFF与LFF硬盘深度解析与实战策略
  • 学校网站建设介绍吉林网络推广代运营
  • 集合性能基准测试报告:ArrayList vs LinkedList、HashMap vs TreeMap、并发 Map 四兄弟
  • 黄石做网站公司二手商品网站制作
  • c2c网站功能关于网站建设的英文歌
  • k8s(十)Helm详解
  • 建设部执业资格注册中心网站查询免签约收款WordPress
  • 百度推广用户注册单页网站如何优化
  • 数据库--视图、索引
  • 硅基计划5.0 MySQL 叁 E-R关系图联合/多表查询三大连接子查询合并查询
  • 网站设计连接数据库怎么做如何做好网站推广营销
  • Langgraph译文2:多智能体系统
  • 太原云起时网站建设工作室logo设计免费生成
  • 基于Trae/Whisper/FFmpeg与Knowledge Graph MCP技术开发语音生成会议纪要智能应用
  • [嵌入式系统-144]:“智能体机器人”操作系统
  • iis网站开发教程河西区做网站的公司
  • FFmpeg 基本API av_find_input_format函数内部调用流程分析
  • 制作网页的网站2023电商排行榜前十名
  • 【课堂笔记】复变函数-5
  • nas可以做视频网站吗深圳律师网站建设