news 2026/1/11 15:32:31

构建工业级ReAct智能体系统:LangGraph+MCP供应链管理全栈实现!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
构建工业级ReAct智能体系统:LangGraph+MCP供应链管理全栈实现!

简介

本文介绍了一个基于ReAct模式的工业级供应链管理智能体系统,采用LangGraph工作流编排和MCP工具协议。系统支持本地化部署(SQLite+Ollama),提供CLI和React双界面,采用模块化设计和高性能异步处理。核心组件包括ReAct Agent引擎和MCP工具系统,集成Recharts实现数据可视化。文章详细展示了系统架构、技术栈选型、核心组件实现和API设计,为读者提供了完整可运行的大模型应用参考。


一、项目概述

1.1 项目背景

介绍了采用ReAct(Reasoning + Acting)模式,结合LangGraph工作流编排和MCP(Model Context Protocol)工具协议,为供应链管理提供了智能化的解决方案。

许多读者私信,需要提供一个完整可运行的系统,更加方便学习。本文就此,沿用上文的技术路线,实现了一个较为完整的工业级供应链管理智能体系统。期望读者通过本系统源代码的复现和运行,对于相关技术有更可的理解,也可以在自己的项目中借鉴参考。

1.2 技术特色

  • 本地化部署: 使用SQLite数据库和Ollama本地大模型服务,确保数据安全
  • 双界面支持: 提供命令行界面(CLI)和React Web界面两种交互方式
  • 模块化设计: 采用MCP协议的工具化架构,便于扩展和维护
  • 高性能异步: 基于Python asyncio实现高并发处理能力
  • 可视化分析: 集成Recharts实现丰富的数据可视化

1.3 系统运行界面呈现

  • 仪表盘图形界面

  • 智能分析问答图形界面

  • 库存图形界面
  • 供应商图形界面

  • 分析图形界面

二、系统架构设计

2.1 整体架构

2.2 技术栈选型

层级技术选型选择理由
前端框架React + TypeScript类型安全、组件化、生态丰富
UI组件库Tailwind CSS原子化CSS、快速开发
图表库RechartsReact原生、性能优秀
后端框架FastAPI高性能、异步支持、自动API文档
数据库SQLite轻量级、零配置、适合中小型应用
大模型Ollama本地部署、隐私保护、多模型支持
异步框架Python asyncio高并发、事件驱动
工具协议MCP标准化接口、易于扩展

三、核心组件实现

3.1 ReAct Agent核心引擎

ReAct Agent是整个系统的核心,采用"观察-思考-行动"循环模式:

3.1.1 状态管理机制
class AgentState: def __init__(self): self.observation = "" # 观察到的环境信息 self.thought = "" # 思考过程 self.action = "" # 选择的行动 self.memory = [] # 历史记忆 self.tools_used = [] # 已使用的工具
3.1.2 核心执行循环
async def execute_cycle(self, query: str) -> str: # 1. 观察阶段 - 获取环境信息 self.state.observation = await self.observe_environment(query) # 2. 思考阶段 - 分析和推理 self.state.thought = await self.think(self.state.observation) # 3. 行动阶段 - 选择并执行工具 if self.should_use_tool(self.state.thought): tool_name = self.select_tool(self.state.thought) result = await self.execute_tool(tool_name, query) self.update_state(result) return self.state.thought

3.2 MCP工具系统

采用Model Context Protocol标准,实现工具的可插拔架构:

3.2.1 工具基类设计
class BaseMCPTool(ABC): @abstractmethod asyncdef execute(self, query: str, **kwargs) -> Dict[str, Any]: """执行工具操作""" pass @property @abstractmethod def name(self) -> str: """工具名称""" pass @property @abstractmethod def description(self) -> str: """工具描述""" pass
3.2.2 库存分析工具实现
class InventoryAnalysisTool(BaseMCPTool): asyncdef execute(self, query: str, **kwargs) -> Dict[str, Any]: # 获取库存数据 inventory_data = await self.get_inventory_data() # 分析库存状态 analysis_result = { 'low_stock_items': [], 'overstock_items': [], 'reorder_recommendations': [] } for item in inventory_data: if item.current_stock < item.min_stock: analysis_result['low_stock_items'].append(item) elif item.current_stock > item.max_stock: analysis_result['overstock_items'].append(item) return analysis_result

3.3 数据库设计

采用关系型数据库设计,支持复杂的查询和分析:

四、前端实现架构

4.1 React组件架构

4.2 状态管理方案

interface AppState { agent: { isProcessing: boolean; currentStep: 'observe' | 'think' | 'act'; messages: ChatMessage[]; }; inventory: { items: InventoryItem[]; alerts: InventoryAlert[]; loading: boolean; }; suppliers: { list: Supplier[]; comparison: SupplierComparison[]; loading: boolean; };}

4.3 数据可视化实现

使用Recharts实现丰富的图表展示:

// 库存趋势图const InventoryChart = ({ data }: { data: InventoryData[] }) => ( <ResponsiveContainer width="100%" height={300}> <LineChart data={data}> <CartesianGrid strokeDasharray="3 3" /> <XAxis dataKey="date" /> <YAxis /> <Tooltip /> <Legend /> <Line type="monotone" dataKey="currentStock" stroke="#8884d8" /> <Line type="monotone" dataKey="minStock" stroke="#82ca9d" /> </LineChart> </ResponsiveContainer>);// 供应商评分雷达图const SupplierRadar = ({ suppliers }: { suppliers: Supplier[] }) => ( <ResponsiveContainer width="100%" height={400}> <RadarChart data={suppliers[0]?.scores}> <PolarGrid /> <PolarAngleAxis dataKey="subject" /> <Radar name="质量" dataKey="quality" stroke="#8884d8" fill="#8884d8" fillOpacity={0.6} /> <Radar name="交付" dataKey="delivery" stroke="#82ca9d" fill="#82ca9d" fillOpacity={0.6} /> <Legend /> </RadarChart> </ResponsiveContainer>);

五、 API设计模式

5.1 RESTful API架构

5.2 核心API端点

# Agent交互接口@app.post("/api/agent/query")asyncdef query_agent(request: AgentRequest): """处理用户查询,返回ReAct执行结果""" result = await react_agent.process_query(request.query) return {"response": result, "steps": result.steps}# 库存管理接口@app.get("/api/inventory")asyncdef get_inventory(): """获取库存列表和状态""" inventory = await inventory_service.get_all() return {"data": inventory, "total": len(inventory)}# 实时状态接口@app.get("/api/status")asyncdef get_system_status(): """获取系统运行状态""" return { "database": await check_database_connection(), "ollama": await check_ollama_service(), "agent": react_agent.get_status() }

六、其他技术亮点

6.1 ReAct模式优化

传统的ReAct模式在复杂场景下可能出现循环或效率低下的问题。本项目实现了以下优化:

  1. 智能停止机制: 当连续几次迭代没有改进时自动停止
  2. 状态压缩: 定期压缩历史状态,避免内存溢出
  3. 并行工具执行: 某些独立的工具可以并行执行
async def optimized_react_cycle(self, query: str) -> str: iteration = 0 while iteration < self.max_iterations: # 并行观察多个数据源 observations = await asyncio.gather( self.observe_database(), self.observe_external_apis(), self.observe_user_context() ) # 智能分析 analysis = await self.intelligent_analysis(observations) # 检查是否需要停止 if self.should_stop_iteration(analysis, iteration): break # 执行最优行动 action = await self.select_optimal_action(analysis) result = await self.execute_action(action) iteration += 1 return self.summarize_results()

七、如何系统的学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

01.大模型风口已至:月薪30K+的AI岗正在批量诞生

2025年大模型应用呈现爆发式增长,根据工信部最新数据:

国内大模型相关岗位缺口达47万

初级工程师平均薪资28K(数据来源:BOSS直聘报告)

70%企业存在"能用模型不会调优"的痛点

真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!

02.大模型 AI 学习和面试资料

1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工

📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)





第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/5 11:22:45

MacBook双显卡智能管理工具gfxCardStatus深度解析

在当今移动办公和创意设计并重的时代&#xff0c;MacBook Pro用户经常面临一个关键抉择&#xff1a;如何在性能与续航之间找到最佳平衡点。配备双显卡系统的MacBook Pro虽然提供了硬件基础&#xff0c;但系统自带的显卡管理往往无法满足用户精细化的需求。这就是gfxCardStatus应…

作者头像 李华
网站建设 2026/1/3 4:34:24

Juicebox Hi-C数据分析工具从入门到精通

Juicebox Hi-C数据分析工具从入门到精通 【免费下载链接】Juicebox Visualization and analysis software for Hi-C data - 项目地址: https://gitcode.com/gh_mirrors/ju/Juicebox Juicebox作为专业的Hi-C数据可视化分析工具&#xff0c;能够将复杂的基因组三维结构数…

作者头像 李华
网站建设 2026/1/6 14:26:22

从蓝图到现实:数字孪生如何重塑智慧园区运营

清晨&#xff0c;某大型科技产业园的运营中心内&#xff0c;值班经理正面对着一系列“幸福的烦恼”&#xff1a;能源系统显示A3栋凌晨出现异常能耗尖峰&#xff0c;但具体原因不明&#xff1b;安防平台报告东南角周界有报警&#xff0c;却无法与实时视频和巡更人员位置联动确认…

作者头像 李华
网站建设 2026/1/6 1:47:08

从“被动响应”到“主动洞察”:数字孪生如何重塑数据中心运维

在数据中心这个庞大而精密的“数字心脏”里&#xff0c;运维团队每日面临的挑战&#xff0c;远不止于处理闪烁的告警灯和跳动的性能曲线。他们需要管理成千上万的物理设备、错综复杂的管线网络、瞬息万变的能耗与温湿度环境&#xff0c;以及确保“永远在线”的业务连续性承诺。…

作者头像 李华