智联工坊实战:制造知识库工具调用Agent从零搭建(OEE+手册+排班)
导航收藏不迷路—制造业数据与AI践行者老蒋的技术博客全系列文章汇总持续更新文章摘要这篇文章是以虚拟灯塔工厂“智联工坊”为样本手把手搭建一个具备OEE计算、设备手册检索、排班查询三大能力的制造知识库工具调用Agent。基于LangChain ReAct模式完整覆盖从数据模拟、向量库构建到命令行与Web界面交互的全流程实战直击制造现场多系统切换痛点。源码可开源可直接复用。开篇我为什么写这篇文章在智联工坊我们的虚拟智能硬件灯塔工厂的车间里班组长小刘每天至少要切换三个系统查OEE要翻MES报表、设备报警要翻500页PDF维修手册、问排班要打电话给调度室。每查一次5-10分钟就没了。本文要解决的痛点把这三个割裂的动作整合成一个统一的AI Agent对话入口。班组长只需用大白话问一句Agent自动判断意图、调用对应工具、秒级返回结果。适合谁读制造企业的IT工程师、数据架构师以及正在尝试将AI Agent引入生产管理场景的开发者。脱敏声明本文基于虚拟工厂“智联工坊”场景所有数据均已脱敏处理设备型号及故障码均为模拟构造。正文四步从零搭建第一步理解工程目录骨架本项目的核心设计思想是common/管基建cases/管案例。每个案例完全独立互不干扰后续Case02、Case03可以直接复用common/中的共享能力。文件架构目录如下javy21_manufacturing_ai_practice/ ├── common/ # 共享基建层所有案例共用 │ ├── utils.py # 日志、环境变量加载 │ ├── llm_client.py # 统一LLM加载Ollama/VLLM切换 │ ├── chroma_client.py # 向量库单例连接器 │ └── base_agent_builder.py # Agent构建基类 │ ├── cases/ │ └── case01_tool_agent/ # 本案例工具调用Agent │ ├── config.py # 专属配置端口、路径 │ ├── tools/ # 三个核心工具 │ │ ├── oee_calculator.py # OEE计算器 │ │ ├── manual_retriever.py # 设备手册检索 │ │ └── shift_query.py # 排班查询 │ ├── agent/ │ │ └── builder.py # Agent组装仅需5行代码 │ ├── scripts/ # 四步执行脚本 │ │ ├── 01_generate_mock_data.py │ │ ├── 02_init_chroma.py │ │ ├── 03_test_cli.py │ │ └── 04_run_web.py │ └── web/ # Web对话界面 │ ├── app.py │ └── templates/index.html └── data/processed/ # 生成的模拟数据 └── production_records.csv第二步Step 1 —— 生成模拟数据运行scripts/01_generate_mock_data.py生成智联工坊三条产线交互屏组装A线、环境监测校准B线、定位器贴片C线近7天的产量、良品、排班数据。cd cases/case01_tool_agent/scripts python 01_generate_mock_data.py执行效果2026-07-19 11:50:29 - __main__ - INFO - ✅ 模拟数据生成成功: 21 条记录 - data/processed/production_records.csv生成的CSV包含以下字段date、production_line、product、total_output、good_output、planned_time_minutes、shift。第三步Step 2 —— 构建向量知识库运行scripts/02_init_chroma.py将设备故障知识预设5条可扩展导入Chroma向量库用于后续的手册检索。python 02_init_chroma.py执行效果2026-07-19 11:50:29 - __main__ - INFO - ✅ 向量库构建成功共 5 条知识知识库预设内容示例交互屏E401错误触摸屏驱动通信超时请重启工控机并检查USB连接线。环境监测仪A02报警PM2.5传感器偏移需使用标准气样重新校准。第四步Step 3 —— 命令行CLI测试运行scripts/03_test_cli.py进入交互式命令行测试模式验证Agent的三个工具是否能被正确调用。python 03_test_cli.py启动界面 智联工坊 · 制造AI助手 CLI 测试模式 示例命令可直接复制粘贴 OEE 计算计算交互屏组装A线今天的OEE 手册检索设备报错E401怎么处理 ️ 排班查询定位器贴片C线明天什么班次测试用例1OEE计算‍ 你: 计算交互屏组装A线在2026-07-12的OEE Entering new AgentExecutor chain... Thought: 需要调用calculate_oee工具来计算OEE。 Action: calculate_oee Action Input: {line_name: 交互屏组装A线, date: 2026-07-12} Observation: {line: 交互屏组装A线, oee: 86.39, quality_rate: 97.0, ...} Thought: 我已获得OEE计算结果 Final Answer: 交互屏组装A线在2026-07-12的OEE为86.39% Agent: 交互屏组装A线在2026-07-12的OEE为86.39%其中良品率为97.0%可用性为93.75%。测试用例2手册检索‍ 你: 设备报错E401怎么处理 Agent: 【智联工坊维修手册匹配】 交互屏E401错误触摸屏驱动通信超时请重启工控机并检查USB连接线。测试用例3排班查询‍ 你: 定位器贴片C线明天什么班次 Agent: 定位器贴片C线在2026-07-20的排班为白班第五步Step 4 —— 启动Web界面运行scripts/04_run_web.py启动Flask Web服务在浏览器中体验图形化对话界面。python 04_run_web.py浏览器打开http://localhost:5001即可看到工业风格的对话界面核心代码解析工具定义以OEE计算器为例每个工具继承BaseTool定义name、description和args_schema。description的清晰度直接影响Agent的意图识别准确率。class CalculateOEETool(BaseTool): name: str calculate_oee description: str 计算指定产线在指定日期的OEE(百分比)。需要产线名称和日期。 args_schema: Type[BaseModel] OEEInput def _run(self, line_name: str, date: Optional[str] None) - str: # 防御性JSON解析解决Agent嵌套JSON问题 if line_name.strip().startswith({) and line_name.strip().endswith(}): data json.loads(line_name) line_name data.get(line_name, line_name) date data.get(date, date) # ... 核心计算逻辑Agent组装本案例的builder.py仅需5行代码——继承BaseAgentBuilder覆写_register_tools()方法即可完成Agent组装。class ManufacturingToolAgentBuilder(BaseAgentBuilder): def _register_tools(self) - List[BaseTool]: return [ CalculateOEETool(), SearchManualTool(), QueryShiftTool() ]关于“本地模型 vs 企业GPU”的补充说明本文代码同时支持OllamaCPU和VLLMGPU两种模式可根据具体情况进行灵活配置。总结价值提炼本文解决了什么通过AI Agent将制造现场三个高频操作OEE计算、手册检索、排班查询融合为一个极简对话入口单次查询从5分钟缩短至15秒。可复用的方法论三层加固策略Prompt规则约束 工具描述语义区分 _run()防御性解析确保Agent准确调用工具。工程架构common/cases/隔离策略支持后续无限扩展互不干扰。一鱼多吃本次实战中产生的6个典型踩坑点将独立成篇发布在《数据与AI工程排坑笔记》专栏。智能工厂对标本方案对应GB/T 39116-2020中“生产作业”能力域主域——提升OEE计算效率以及“数据资源”能力域辅域——实现知识库的结构化检索。可直接用于国家智能制造能力成熟度三级集成级申报材料中的技术佐证。系列导航本文所属专栏[AI赋能数据开发工程手册]上一篇多工具协同Agent实战用LangChain构建越南市场情报系统-CSDN博客下一篇《Agent的记忆系统让智联工坊AI记住班组长偏好》Case02即将发布关于作者制造业数据与AI践行者老蒋23年IT老兵。聚焦制造业数据架构与AI融合落地主导多个国家级/省级数智化项目申报并成功获批。全流程实战全源码开源。交流互动您在将AI Agent引入制造场景时是否遇到过工具意图识别不准的问题欢迎评论区交流。

相关新闻

海量数据去重的hash

海量数据去重的hash

1 背景 使用 word 文档时,word 如何判断某个单词是否拼写正确? 网络爬虫程序,怎么让它不去爬相同的 url 页面? 垃圾邮件过滤算法如何设计? 公安办案时,如何判断某嫌疑人是否在网逃名单中? 缓存…

2026/10/25 23:36:21 阅读更多 →
大模型底层逻辑:优势局限与天生短板

大模型底层逻辑:优势局限与天生短板

博主介绍 👨‍💻 了解博主:波仔椿 📖 人生箴言:技术落地,方为 AI 正道。 🧰 我的专栏:普通人可落地的 AI 提效实战 文章内容 上个月跟一个做律师的朋友吃饭,他跟我吐槽…

2026/10/24 7:28:07 阅读更多 →
子页面和dialog案例

子页面和dialog案例

<!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>子HTML弹窗 与 弹框 传参demo&#xff08;单文…

2026/10/24 14:53:07 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年&#xff0c;我大部分时间都在跟浏览器标签页打交道&#xff0c;直到第一次把桌面应用跑起来&#xff0c;才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词&#xff0c;最开始是在某段时间频繁出现在同事的讨论里&#xff0c;一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档&#xff0c;主要面向智能锁安装人员、终端用户及售后维护者&#xff0c;帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件&#xff0c;大小4.37MB&#xff0c;内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统&#xff0c;整车要求空载跑到8m/s&#xff0c;电机转速已经拉到额定点&#xff0c;驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令&#xff0c;转速纹丝不动&#xff0c;三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年&#xff0c;用它写过嵌入式驱动、做过游戏服务端&#xff0c;也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词&#xff0c;我其实挺感慨的——这门语言的难点从来不是语法多&#xff0c;而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书以PDF格式发布&#xff0c;适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开&#xff0c;先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能&#xff0c;再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历&#xff1a;翻开源码注释、论文摘要或者一份专业报告&#xff0c;每个字都认识&#xff0c;连在一起却像天书。想找人聊聊&#xff0c;身边要么没人懂&#xff0c;要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型&#xff0c;几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 13:55:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 19:19:37 阅读更多 →