图1:RAG(检索增强生成)故障诊断系统架构
一、FAB故障处理的痛点:每次都像在破案
上个月ETCH-03报警AL-3080(RF匹配异常),我翻了:
- 设备手册第3章第2节(20分钟)
- 去年同类型报警的维修记录(3条,15分钟)
- 问了两个老工程师(一个在开会,一个已离职,20分钟)
- 最后自己试了重置RF匹配参数,好了(总耗时:55分钟)
统计:平均故障处理时间47分钟,其中35分钟在查资料/问人。
二、RAG方案核心思路
RAG = 检索(Retrieval)+ 增强生成(Augmented Generation)
把FAB所有故障相关文档灌进向量数据库,工程师问自然语言,AI检索相关段落再生成答案。
文档来源(我们FAB实际用的):
1. 设备手册(PDF):刻蚀机/光刻机/CVD等,共47本
2. 历史维修记录(Excel):过去3年共1286条
3. 工艺Spec(Word):各工序工艺窗口文档
4. 工程师经验笔记(Markdown):我整理的127条troubleshooting经验
三、技术栈与核心步骤
技术栈:LangChain + ChromaDB + HuggingFace Embeddings(bge-small-zh-v1.5)+ Ollama Llama3
Step 1:文档加载与分块(chunk_size=500,chunk_overlap=50)
Step 2:向量化并存入ChromaDB(本地embedding,无需外网)
Step 3:搭建RAG问答链(retriever取Top5相关文档,LLM生成答案并附引用来源)
图2:传统方式 vs RAG系统故障处理时间对比(提升30倍)
四、效果实测数据(1个月,87次故障)
| 指标 | 传统方式 | RAG系统 | 提升 |
|------|---------|---------|------|
| 平均处理时间 | 47分钟 | 1.5分钟 | 30倍 |
| 首次解决率 | 62% | 91% | +29% |
| 误判率 | 18% | 5% | -72% |
| 新人上手时间 | 3个月 | 1周 | 12倍 |
五、3个避坑经验
1. 文档质量决定上限:手册扫描版PDF文字识别错误会严重影响检索效果 → 建议用PyMuPDF提取文字版PDF
2. 中文embedding模型选择:bge-small-zh-v1.5 > m3e-base > text2vec(我们实测效果排名)
3. 答案需要可追溯:每次AI回答必须附上引用来源(source_documents),方便工程师验证
六、完整代码获取
fab_rag_diagnosis.py 完整代码(含文档加载、分块、向量化、问答链)已整理。
关注后私信「RAG诊断」获取完整代码。
你在FAB遇到过什么奇葩故障?评论区聊聊,一起避坑!
—
关注我,每周3篇半导体AI实战干货,一起把AI用起来。