基于Spring AI Alibaba的ReAct智能体(工具调用AI助手)产品系统

我要开发同款
java小进2026年10月28日
5阅读

技术信息

语言技术
Java、Python、Spring
系统类型
Web、算法模型
行业分类
人工智能、开发工具

作品详情

行业场景

随着大模型普及,企业不再满足于“只会聊天”的AI,而是需要一个能真正“动手干活”的智能体:自动执行命令、运行代码、处理数据、读取文件,把人从重复操作中解放出来。

本作品基于 Spring AI Alibaba 构建 ReAct 智能体(Agent)。用户用自然语言下达任务后,智能体自主进行“思考—调用工具—观察结果—再决策”的循环,直到完成任务,例如:让它计算数据,它会自己写并执行 Python 代码;让它查看环境,它会自己执行命令;让它读取资料,它会自己打开文件。

智能体的大模型运行在本地(Ollama + 通义千问 Qwen,GPU 加速),无需为每次调用付费,且业务数据不出本机,兼顾成本与安全。

适用于:开发与运维辅助、自动化办公、数据分析与计算、流程自动化、企业内部 AI 助手等场景。通过 Spring AI 的模型抽象层,也可一键切换到云端大模型,灵活适配不同部署需求。

功能介绍

系统主要功能:
1. 自然语言对话:基于大模型的中文理解与生成,支持流式输出,响应流畅。
2. ReAct 推理与工具调用:智能体自主规划任务步骤,按需调用工具,拿到结果后继续推理,最终给出结论,全过程可在界面上看到。
3. Shell 命令执行工具(execute_shell_command):在持久会话中执行命令,支持工作目录确认、命令链式调用与超时控制。
4. Python 代码执行工具(execute_python_code):基于 GraalVM Polyglot 在沙箱中运行 Python,可完成计算、数据处理等,默认禁用文件 IO、进程创建与原生访问,保证安全。
5. 文本文件读取工具(view_text_file):按绝对路径读取文件,支持指定偏移量与行数,便于查看大文件。
6. 多轮记忆:基于检查点(MemorySaver)保存上下文,支持连续追问,会话上下文连贯。
7. 可视化 Web 界面:基于 Spring AI Alibaba Studio 的对话界面,工具请求(Tool Request)与工具结果(Tool Result)以卡片形式折叠展示,可展开查看代码与返回数据。
8. 模型可插拔:通过 Spring AI ChatModel 抽象接入本地 Ollama,也可切换云端模型,业务代码零改动。

项目实现

后端基于 Spring Boot 3 + Spring AI Alibaba Graph,核心是 ReactAgent(ReAct 智能体)。智能体通过 Builder 装配大模型(ChatModel)、系统指令、工具集与记忆存储,并开启日志,模型无关、可替换。

三个工具均以 Spring AI ToolCallback 形式注册:Shell 工具基于 ShellTool,在临时工作区的持久会话中执行,并通过 ShellToolAgentHook 统一管理会话生命周期;Python 工具用 FunctionToolCallback 包装,底层基于 GraalVM Polyglot 多语言引擎,在关闭 IO、进程与原生访问的沙箱中执行代码;文件读取工具基于 ReadFileTool,支持 offset/limit 分段读取。

多轮记忆通过 MemorySaver 检查点实现,智能体每一步的状态都可回溯。

大模型接入本地 Ollama(qwen2.5:7b),通过配置指定 base-url、模型名与上下文长度;同时排除了框架默认的云端模型自动配置,避免多模型冲突。

本人在项目中负责:将官方示例从云端模型改造为本地 Ollama 接入、解决多模型自动配置冲突、完成工具调用链路(含 Function Calling)的端到端验证、性能与显存调优,以及 Web 对话界面的联调与截图。项目结构清晰,可作为企业级工具调用 Agent、本地 AI 助手落地的标准模板。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论