Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

制造业设备故障诊断机器人:使用Dify知识库+工作流程的实用设计指南

简介

在制造业,每次设备出现故障,都会请资深工程师过来,依靠经验和直觉反复应对。然而,随着技术工人不断老龄化和退休,这种基于个人的失败应对模式是不可持续的。设备手册、SOP、过去的维修记录、报警代码列表——虽然这些信息存在于公司内部,但它是分布式的、非结构化的,对现场响应能力没有贡献。

本文从架构设计到调优,实际讲解了如何结合Dify的知识库和工作流程构建制造设备故障诊断助手


背景和问题

制造业故障响应的现实

作业详情
知识变得个性化经验丰富的工程师的隐性知识没有记录在案,退休后就消失了
信息分散手册、SOP、人工费率和MES数据分散在不同的系统中
现场口语表达难以搜索,例如“该设备正在发出噪音”、“警报已响,但仍在工作”
响应速度要求需要立即响应,因为当线路停止时,损失会逐分钟增加
安全限制许多工厂网络是封闭网络,这可能会限制云API的使用

为什么 Dify 适合您

Dify 通过以下方式适应制造故障诊断场景:

  • 通过知识库对多个知识源进行集成管理
  • 使用工作流程进行路由和条件分支的可视化设计
  • 使用**自托管(Docker Compose)**进行本地/封闭网络部署
  • 微调搜索参数,例如重新排名分数阈值
  • 通过HTTP请求节点与MES/SCADA等外部系统联动

整体架构

flowchart TD
    A[現場担当者の問い合わせ] --> B[Dify Chatbot / API]
    B --> C{質問分類ノード}
    C -->|設備仕様| D[KB: 静的知識]
    C -->|標準手順| E[KB: SOP・アラームコード]
    C -->|過去事例| F[KB: 修理記録・ナレッジ]
    C -->|現在状態| G[HTTP Request: MES/SCADA]
    D --> H[回答生成ノード]
    E --> H
    F --> H
    G --> H
    H --> I[構造化回答出力]
    I --> J{信頼度チェック}
    J -->|高| K[現場担当者へ回答]
    J -->|低| L[エスカレーション: 保全チームへ通知]

知识库层次结构设计

设计理念:4层模型

将所有文档放入一个知识库是制造业中一种致命的反模式。我们建议采用“分层知识设计”,根据信息的性质划分知识库,并为每种问题类型切换搜索目的地。

####第一层:设备静态知识库

存储目标示例
设备使用说明书CNC加工机操作手册v3.2
保养手册月度检查程序手册
零件清单/分解图主轴单元零件清单
规格/安装要求电源规格/环境条件列表

作用:回答“这个设备原本应该如何工作?”的问题。

大块策略:分为章节、子系统和部分模块。避免分割成固定数量的字符。

####第二层:标准操作/故障响应知识库

存储目标示例
SOP(标准操作程序)注塑机换模SOP
报警代码列表E-401:液压异常,E-502:伺服过载
故障诊断流程图振动异常诊断树
定期检查清单每日、每周、每月检查项目

作用:回答“如果出现这种异常,默认情况下你会如何处理?”

分块策略:分为报警代码单元和程序段落单元。理想情况下,一个块对应一个应对路径。

第三层:历史案例知识库

存储目标示例
修理工(工作报告)2024/11/05 3号线主轴轴承更换
失败审核记录为什么为什么分析表
更换零件历史记录近两年伺服电机更换历史
在团体/团队之间分享知识夜班时常发生的E-302如何处理备忘录

角色:回答“过去出现类似症状时,您实际上是如何解决的?”

块策略:1 次失败 = 1 个块。添加设备 ID、日期和警报代码作为元数据。

####第四层:实时辅助信息(外部协作)

来源如何获取
MES运行状况使用 HTTP 请求节点进行 API 调用
SCADA报警日志(最新)使用 HTTP 请求节点进行 API 调用
维护计划HTTP 请求或知识库
设备/备件库存使用 HTTP 请求节点进行 ERP API 调用

作用:回答“这件装备目前的状态如何?”最好使用工作流的 HTTP 请求节点实时获取它,而不是将其放入知识库中。


工作流程设计细节

###问题分类节点(LLM节点)

它接收用户输入并将其分为以下四类。

System Prompt:
あなたは製造業設備の問い合わせ分類エンジンです。
ユーザーの質問を以下のカテゴリに分類してください。

1. SPEC - 設備の仕様・原理・構造に関する質問
2. SOP - 標準手順・アラームコード・点検に関する質問
3. CASE - 過去の故障事例・修理履歴に関する質問
4. STATUS - 現在の設備状態・稼働状況に関する質問

カテゴリ名のみを出力してください。複数該当する場合はカンマ区切りで出力。

条件分支节点

根据分类结果切换搜索目标知识库。使用 Dify Workflow 的 IF/ELSE 节点问题分类器节点

IF category contains "SPEC" → Knowledge Retrieval(静的知識KB)
IF category contains "SOP"  → Knowledge Retrieval(SOP・アラームKB)
IF category contains "CASE" → Knowledge Retrieval(事例KB)
IF category contains "STATUS" → HTTP Request(MES/SCADA API)

如果有多个类别,则并行搜索,合并结果,并将其传递给答案生成节点。

###答案生成节点(LLM节点)

System Prompt:
あなたは製造業の設備保全エキスパートアシスタントです。
以下のフォーマットで回答してください。

## 初期判断
[症状に対する第一印象]

## 考えられる原因(優先度順)
1. ...
2. ...
3. ...

## 推奨する確認手順
1. ...
2. ...

## 確認すべきログ・センサー・部品
- ...

## エスカレーション判断
[人手による対応が必要かどうかの判断]

注意事項:
- 推測の域を出ない場合は明示すること
- 安全に関わる作業は必ず「有資格者による実施」を注記すること
- 検索結果に該当情報がない場合は「該当情報なし」と明示すること

调整搜索参数

调整概念

在制造业的故障诊断中,“通过一个参数设置对应所有问题类型”是不现实的。这是因为最佳参数根据问题类别而不同。

推荐参数设置

参数SPEC(规格)SOP(程序)案例(示例)
搜索模式混合动力混合动力语义
前 K33-53-5 5-8
分数门槛0.50.5 0.450.45 0.3-0.4
重新排名关闭
重新排序模型-bge-rerankerbge-reranker

调音记录模板

在实际调优过程中,我们建议保留以下记录。

圆形变化测试题预期结果实际结果判决
R1语义/Top-K=3/阈值=0.5E-401报警如何处理?从 SOP 返回操作步骤返回正确的 SOP好的
R2语义/Top-K=3/阈值=0.5和上个月主轴振动一样吗?案例:从KB返回对应的人工费率退回不相关的SOP异常
R3Top-K=6 / 阈值=0.35 / 重新排名=ON和上个月主轴振动一样吗?从案例KB中返回相应的人工费率返回正确的案例好的

Chunk设计的实用要点

警报代码文档的块示例

---
alarm_code: E-401
equipment: 油圧ユニット HU-200
severity: WARNING
---

## E-401: 油圧圧力低下

### 症状
油圧系統の圧力が設定値を下回った場合に発報。設備は低速運転を継続するが、加工精度が低下する可能性がある。

### 考えられる原因
1. 油圧ポンプの摩耗
2. リリーフバルブの設定ずれ
3. 油圧ホースからのリーク
4. 作動油の劣化(粘度低下)

### 対処手順
1. 油圧計で実測圧力を確認
2. ポンプ周辺の油漏れを目視確認
3. 作動油のサンプリング検査を実施
4. 異常が認められた場合、ラインを停止し保全チームに連絡

添加元数据

将文档上传到 Dify 知识库时,在文件名和文档描述中包含以下元数据将提高搜索准确性。

  • 设备ID/设备名称
  • 警报代码(如果适用)
  • 文档类别(手册/SOP/示例/清单)
  • 最后更新

本地部署注意事项

使用 Docker Compose 自托管

在制造工厂环境中,互联网连接通常受到限制。 Dify 提供了自托管版本(Docker Compose),它允许在封闭网络上运行。

# docker-compose.yml 抜粋(LLM プロバイダ設定例)
services:
  api:
    environment:
      # ローカル LLM を使用する場合(Ollama 等)
      - OLLAMA_API_BASE=http://ollama-server:11434
      # または vLLM を使用する場合
      - OPENAI_API_BASE=http://vllm-server:8000/v1
      - OPENAI_API_KEY=dummy

本地LLM选项

型号参数数量日语支持推荐用途
Llama 3.1 8B8B中等问题分类/轻任务
Qwen2.5 14B14B14B好答案生成/摘要
Command R+104B104B好高度准确的答案生成
嵌入:多语言-e5-用于知识搜索的嵌入

请注意,在封闭网络上运行时,嵌入模型也必须在本地托管。


操作流程及持续改进

###反馈循环设计

flowchart LR
    A[故障発生] --> B[ボットに問い合わせ]
    B --> C[回答を確認]
    C --> D{解決?}
    D -->|Yes| E[解決記録を KB に追加]
    D -->|No| F[保全チームが対応]
    F --> G[対応結果を工単に記録]
    G --> E
    E --> H[ナレッジベース更新]
    H --> I[検索精度が向上]

定期保养项目

频率工作详情
每周回顾未回答/低分答案
每月知识库新增故障案例
季刊重新调整搜索参数
半年度块策略审查/重新划分

实施步骤

  1. 第 1 阶段(2-3 周):使用警报代码列表和关键 SOP 填充知识库。开始作为基本的问答机器人工作。
  2. 第 2 阶段(1-2 个月):添加了结构化的过去修理工/故障记录。引入问题分类节点,实现搜索目的地自动排序。
  3. 第 3 阶段(2-3 个月):添加了用于 MES/SCADA 协作的 HTTP 请求节点。现在可以根据实时情况提供答案。
  4. 第 4 阶段(持续):根据现场反馈不断改进知识和参数。

总结

制造业的设备故障诊断机器人不仅仅是上传手册。 知识的层次结构,根据问题类型的搜索路由,优化块设计,以及在操作阶段不断积累知识 - 通过将这些设计在一起,它就成为第一次在该领域使用的工具。

Dify的知识库+工作流程组合为这一需求提供了足够的灵活性。特别是,通过使用自托管版本,可以满足制造业特有的安全需求(封闭网络、禁止外部数据传输),大大降低了企业实施的门槛。

最重要的是,不要将这个项目定位为“人工智能引入项目”,而是“领域知识结构化项目”。隐性知识如何转化为可搜索资产的设计质量决定了机器人的实用性。