智联工坊实战:制造知识库工具调用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/7/21 3:32:45 阅读更多 →
大模型底层逻辑:优势局限与天生短板

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

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

2026/7/20 22:34:48 阅读更多 →
子页面和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/7/20 22:34:00 阅读更多 →

最新新闻

GISBox实战:带纹理SHP数据转3DTiles并在Unreal Engine集成全流程

GISBox实战:带纹理SHP数据转3DTiles并在Unreal Engine集成全流程

1. 项目概述&#xff1a;从二维GIS到三维世界的桥梁最近在做一个智慧城市相关的数字孪生项目&#xff0c;客户给了一堆带纹理的SHP数据&#xff0c;要求在Unreal Engine里跑起来&#xff0c;还要能交互。这需求听起来简单&#xff0c;但真干起来&#xff0c;从SHP到UE能流畅加载…

2026/7/21 5:06:52 阅读更多 →
C++实现频谱图绘制:从FFT原理到工程实践详解

C++实现频谱图绘制:从FFT原理到工程实践详解

1. 项目概述&#xff1a;从信号到图像的旅程频谱图&#xff0c;这个听起来有点专业的名词&#xff0c;其实离我们并不遥远。当你用音乐软件看歌曲的波形&#xff0c;或者用示波器分析一段电路信号时&#xff0c;那个随时间变化、色彩斑斓的二维图像&#xff0c;就是频谱图。它本…

2026/7/21 5:06:52 阅读更多 →
17个顶级AI GitHub账号:技术选型与工程实践指南

17个顶级AI GitHub账号:技术选型与工程实践指南

1. 项目概述&#xff1a;AI领域顶级GitHub账号的价值挖掘在AI技术快速迭代的今天&#xff0c;GitHub已成为全球开发者获取前沿技术的一线战场。不同于商业公司的PR式宣传&#xff0c;真正推动AI技术落地的往往是那些持续输出高质量代码的开源贡献者。本文将系统梳理17个最具技术…

2026/7/21 5:06:52 阅读更多 →
大语言模型注意力机制的可解释性研究与实践

大语言模型注意力机制的可解释性研究与实践

1. 项目概述"2025_NIPS_Pinpointing Attention-Causal Communication in Language Models"这个标题直指当前大语言模型研究中最核心也最神秘的领域——注意力机制的可解释性研究。作为Transformer架构的灵魂组件&#xff0c;注意力机制虽然已被广泛应用&#xff0c;但…

2026/7/21 5:06:52 阅读更多 →
深入解析TI DRA77xP评估板硬件接口复用与配置实战

深入解析TI DRA77xP评估板硬件接口复用与配置实战

1. 项目概述与核心价值在嵌入式系统&#xff0c;尤其是基于复杂片上系统&#xff08;SoC&#xff09;的设计中&#xff0c;硬件工程师面临的最大挑战之一&#xff0c;是如何在有限的物理引脚上&#xff0c;实现尽可能丰富的外设连接与功能扩展。这就像在一个寸土寸金的城市中心…

2026/7/21 5:06:52 阅读更多 →
C++实现指纹识别系统:从图像预处理到特征匹配全流程详解

C++实现指纹识别系统:从图像预处理到特征匹配全流程详解

1. 项目概述&#xff1a;从零构建一个C指纹识别系统最近在整理过往项目时&#xff0c;翻出了一个几年前做的指纹识别系统原型。当时为了一个嵌入式门禁项目&#xff0c;需要集成指纹模块&#xff0c;市面上成熟的SDK要么太贵&#xff0c;要么不够灵活&#xff0c;索性就自己用C…

2026/7/21 5:05:51 阅读更多 →

日新闻

Octane Render与C4D汉化版安装与优化指南

Octane Render与C4D汉化版安装与优化指南

1. Octane Render与C4D的黄金组合&#xff1a;为什么选择这个方案&#xff1f;在三维创作领域&#xff0c;渲染器的选择往往决定了作品的最终呈现质量和工作效率。作为Cinema 4D&#xff08;C4D&#xff09;用户&#xff0c;Octane Render的GPU加速特性与实时预览功能&#xff…

2026/7/21 0:00:19 阅读更多 →
GPMC接口设计:异步/同步模式与多路复用配置实战

GPMC接口设计:异步/同步模式与多路复用配置实战

1. GPMC接口设计&#xff1a;从硬件连接到软件配置的全局视角在嵌入式系统开发中&#xff0c;尤其是基于TI Sitara系列如AM263x这类高性能微控制器的项目里&#xff0c;外部存储器的扩展几乎是绕不开的一环。无论是存放大量非易失性代码的NOR Flash&#xff0c;还是作为高速数据…

2026/7/21 0:00:19 阅读更多 →
UE5 GAS框架下RPG被动技能系统:从核心原理到实战实现

UE5 GAS框架下RPG被动技能系统:从核心原理到实战实现

1. 项目概述&#xff1a;UE5 GAS RPG被动技能的核心价值在UE5里用GAS&#xff08;Gameplay Ability System&#xff09;做RPG游戏&#xff0c;主动技能像是你手里的武器&#xff0c;按一下打一下&#xff0c;逻辑直接&#xff0c;反馈也快。但被动技能&#xff0c;它更像是你身…

2026/7/21 0:00:19 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/20 5:57:49 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/20 4:31:26 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/20 5:56:42 阅读更多 →

月新闻