
️ 第10期多模态应用 — 看图识炉视频监控高炉状态专栏《LangChain框架在高炉炼铁智能化领域的应用》前情回顾上期我们用 Tool 让 AI 学会了动手操作本期重点多模态视觉—— 让 AI 拥有火眼金睛 引言一张图胜过千言万语前面9期我们一直在跟文字打交道——查参数 → 文字分析数据 → 文字生成报告 → 文字对话交流 → 文字但是真正的炼铁现场信息主力是图像和视频看看高炉中控室的屏幕墙┌─────────────────────────────────────────┐ │ 数据仪表盘 │ 风口摄像头(实时) │ │ │ │ │ 风温: 1205°C │ [ 风口火焰画面 ] │ │ 风压: 0.392MPa │ 【判断燃烧状态】 │ │ 铁温: 1490°C │ │ ├────────────────┼────────────────────────┤ │ ️ 炉顶红外 │ 铁口出铁监控 │ │ │ │ │ [ 红外热像图 ] │ [ 出铁画面 ] │ │ 【看温度分布】 │ 【判断出铁状态】 │ └────────────────┴────────────────────────┘这些图像信息用文字描述可太费劲了写1000字描述风口火焰 ❌ 不如图片一眼写2000字描述红外温度分布 ❌ 不如图像色块直观所以本期我们来玩点高级的——让AI学会看 什么是多模态 AI多模态 AI 能同时处理文字、图像、视频、音频等多种信息形式的 AI。输入 处理 输出 ┌──────┐ ┌──────────┐ ┌──────┐ │ 文字 │ ──────── │ │ │ │ ├──────┤ │ 多模态 │ │ 分析 │ │ 图片 │ ──────── │ 大模型 │ ──────── │ 结果 │ ├──────┤ │ │ │ │ │ 视频 │ ──────── │ │ └──────┘ └──────┘ └──────────┘在高炉场景中多模态可以帮我们图像类型能看什么分析的结论 风口图像火焰颜色、亮度、形态燃烧状况、风口工作状态️ 红外热像温度分布色块炉顶温度均匀性、气流分布️ 料面图像料面形状、布料轨迹布料效果、气流通道 铁口图像铁流状态、火花出铁速度、铁水质量 监控视频设备实时运行画面设备状态、安全隐患 实战LangChain 多模态调用基础篇让AI看风口图像fromlangchain_openaiimportChatOpenAIfromlangchain.promptsimportHumanMessagePromptTemplatefromlangchain_core.messagesimportHumanMessageimportbase64# 初始化多模态模型multimodal_llmChatOpenAI(modeldoubao-seed-2-0-011215,# 支持图像理解的模型temperature0.2,timeout600)# 定义图片分析函数defanalyze_furnace_image(image_url:str,question:str)-str: 分析高炉现场图像 image_url: 图片的URL地址 question: 针对图片的问题 messages[HumanMessage(content[{type:text,text:f你是一名高炉炼铁专家请分析这张高炉现场图片。\n问题{question}},{type:image_url,image_url:{url:image_url,detail:high# high表示高精度分析}}])]responsemultimodal_llm.invoke(messages)returnresponse.content# 场景1分析风口火焰image_question_1 请分析风口图像 1. 风口火焰的颜色和亮度如何 2. 是否存在黑线、挂渣或风口不亮的情况 3. 燃烧状况是否正常 # result analyze_furnace_image(https://example.com/tuyere_image.jpg, image_question_1)# print(result)进阶篇多图像综合分析fromlangchain_core.messagesimportHumanMessagefromlangchain_openaiimportChatOpenAIdefanalyze_multiple_images(image_urls:list,context_data:str)-str: 综合分析多张高炉现场图像 image_urls: 图片URL列表 context_data: 相关的文字数据如当前参数 llmChatOpenAI(modeldoubao-seed-2-0-011215,temperature0.1,timeout600)# 构建消息内容content[{type:text,text:f你是高炉炼铁视觉分析专家正在综合多张现场图像进行炉况判断。 【当前运行数据】{context_data}【看图要求】 请综合以下所有图像从以下维度分析 1️⃣ 风口燃烧状况火焰颜色、亮度、均匀性 2️⃣ 炉顶温度分布如有红外图 3️⃣ 出铁状态如有铁口图像 4️⃣ 综合判断当前炉况 5️⃣ 如果有异常给出操作建议 请输出结构化分析结果。}]# 添加多张图片forurlinimage_urls:content.append({type:image_url,image_url:{url:url,detail:high}})messages[HumanMessage(contentcontent)]responsellm.invoke(messages)returnresponse.content# 使用示例# result analyze_multiple_images(# image_urls[# https://example.com/tuyere_1.jpg, # 风口1# https://example.com/tuyere_2.jpg, # 风口2# https://example.com/top_infrared.jpg # 炉顶红外# ],# context_data# 风温: 1205°C# 风压: 0.392MPa# 铁水温度: 1490°C# 硅含量: 0.42%# # )实战篇风口火焰智能分析 Agent# tuyere_vision_agent.py# 风口图像智能分析系统fromlangchain_openaiimportChatOpenAIfromlangchain_core.messagesimportHumanMessagefromlangchain.toolsimporttoolfromlangchain.agentsimportcreate_agentfromtypingimportOptional# ─────────── 工具1分析风口火焰 ───────────tooldefanalyze_tuyere_flame(image_url:str,tuyere_number:int0)-str: 【视觉分析】分析高炉风口火焰图像判断燃烧状况 image_url: 风口图像的URL tuyere_number: 风口编号从1开始 llmChatOpenAI(modeldoubao-seed-2-0-011215,temperature0.1,timeout600)messages[HumanMessage(content[{type:text,text:f你是一位高炉风口分析专家分析第{tuyere_number}号风口图像。 请输出结构化的分析结果 【火焰状态】 - 火焰颜色 - 火焰亮度 - 火焰长度 - 均匀性 【异常检测】 - 是否有黑线有/无 - 是否有挂渣有/无 - 是否有风口不亮有/无 - 是否有破损有/无 【综合判断】 - 燃烧状态良好/一般/异常 - 置信度0-100% - 详细说明 },{type:image_url,image_url:{url:image_url,detail:high}}])]responsellm.invoke(messages)returnresponse.content# ─────────── 工具2分析炉顶红外热像 ───────────tooldefanalyze_top_infrared(image_url:str)-str: 【视觉分析】分析高炉炉顶红外热像图判断温度分布 image_url: 红外热像图的URL llmChatOpenAI(modeldoubao-seed-2-0-011215,temperature0.1,timeout600)messages[HumanMessage(content[{type:text,text:请分析这张高炉炉顶红外热像图 1. 整体温度分布是否均匀 2. 有无局部高温/低温区域 3. 气流分布是否合理 4. 是否存在偏料或管道行程迹象 5. 给出综合判断和建议。 请输出结构化分析结果。},{type:image_url,image_url:{url:image_url,detail:high}}])]responsellm.invoke(messages)returnresponse.content# ─────────── 工具3分析铁口出铁图像 ───────────tooldefanalyze_tap_hole(image_url:str)-str: 【视觉分析】分析高炉铁口出铁图像判断出铁状态 image_url: 铁口出铁图像的URL llmChatOpenAI(modeldoubao-seed-2-0-011215,temperature0.1,timeout600)messages[HumanMessage(content[{type:text,text:请分析这张铁口出铁图像 1. 铁流状态是否稳定 2. 铁水颜色和亮度如何判断温度 3. 火花情况如何 4. 出铁口工作状态是否正常 5. 有无异常情况 请输出结构化分析结果。},{type:image_url,image_url:{url:image_url,detail:high}}])]responsellm.invoke(messages)returnresponse.content# ─────────── 构建多模态视觉Agent ───────────defbuild_vision_agent():构建高炉视觉分析智能体llmChatOpenAI(modeldoubao-seed-2-0-lite-260215,temperature0.2,timeout600)agentcreate_agent(modelllm,system_prompt 你是高炉视觉分析专家可以通过分析现场图像判断炉况。 【你的能力】 1. analyze_tuyere_flame - 分析风口火焰图像判断燃烧情况 2. analyze_top_infrared - 分析炉顶红外热像图判断温度分布 3. analyze_tap_hole - 分析铁口出铁图像判断出铁状态 【工作流程】 1. 根据用户需求请求提供对应类型的图像URL 2. 调用对应的图像分析工具 3. 综合所有分析结果给出炉况判断 4. 如发现异常给出明确的预警和建议 【注意事项】 - 每次分析都要输出结构化结果 - 综合多张图片做交叉验证 - 发现异常情况要优先提醒,tools[analyze_tuyere_flame,analyze_top_infrared,analyze_tap_hole])returnagent# ─────────── 使用示例 ───────────if__name____main__:agentbuild_vision_agent()# 模拟操作工上传风口图片请求分析test_input 操作工张师傅上传了5号高炉3号风口的最新照片 他说感觉火焰颜色有点发暗帮我分析一下具体什么情况 图片URL: https://example.com/tuyere_3.jpg # ⚠️ 注真实使用时需上传实际图像URL# result agent.invoke({# messages: [{role: user, content: test_input}]# })# print(result[messages][-1].content)print(✅ 多模态视觉Agent构建完成)print( 输入风口/红外/铁口图像URL即可自动分析) 视频监控与实时分析除了静态图像高炉现场更多的是视频流。我们也可以让 AI看视频视频帧提取 逐帧分析# video_analysis.py# 高炉视频监控分析defanalyze_furnace_video_frames(video_url:str,frame_interval:int30,# 每30帧取一帧max_frames:int10# 最多取10帧)-str: 分析高炉监控视频的关键帧 # 1. 视频帧提取调用视频处理工具# frames extract_frames(video_url, frame_interval, max_frames)# 2. 对每一帧进行分析analyses[]fori,frameinenumerate([]):# frames:analysisanalyze_single_frame(frame,f第{i1}帧)analyses.append(analysis)# 3. 汇总分析llmChatOpenAI(modeldoubao-seed-2-0-011215,temperature0.1,timeout600)summary_promptf 请综合以下{len(analyses)}个视频帧分析结果给出整体趋势判断{chr(10).join(analyses)}请分析 1. 是否有异常变化趋势 2. 各帧之间的变化是否正常 3. 整体判断结论。 responsellm.invoke(summary_prompt)returnresponse.content 实战案例AI视觉巡检系统把多模态能力整合到一个完整的系统中┌─────────────────────────────────────────────────┐ │ 高炉AI视觉巡检系统 │ ├─────────────────────────────────────────────────┤ │ │ │ 定时巡检流程 │ │ ① 每隔30分钟自动抓拍风口图像 │ │ ② AI自动分析每张风口图像 │ │ ③ 与上次巡检结果对比记忆 │ │ ④ 发现异常自动发送告警 │ │ ⑤ 生成巡检报告 │ │ │ │ 可检测的异常 │ │ - 风口不亮风口损坏 │ │ - 挂渣严重喷煤问题 │ │ - 火焰颜色突变炉况波动 │ │ - 黑线出现燃烧恶化 │ └─────────────────────────────────────────────────┘ 本期小结知识点一句话总结多模态是什么AI不仅能读文字还能看图片视频风口分析看火焰颜色判断燃烧状态红外分析看温度分布判断气流均匀性铁口分析看出铁状态判断出铁质量视频监控逐帧分析趋势研判应用价值从看数据升级到看图识炉核心心法多模态是工业AI的降维打击——以前需要老师傅到现场看一眼才能判断的事情现在AI通过摄像头就能自动完成。24小时不眨眼永不疲劳️ 下期预告第11期《实时数据流处理高炉数据的高速公路》AI会看图了但还有一个问题——高炉的数据是实时更新的传感器每秒钟都在产生新数据风温在波动、铁温在变化、压力在起伏……如果AI只能问一句答一句怎么能跟得上高炉的节奏下一期我们进入数据流的实时处理——让AI像高速公路一样实时吞入海量数据持续输出分析判断️只剩6期了追更的同学们集合了作者高炉炼铁智能化技术研究者专注钢铁冶金与人工智能 交叉领域。 如果觉得有帮助请点赞、收藏、转发版权归作者所有未经许可请勿抄袭套用商用(或其它具有利益性行为)。 关注专栏不错过后续精彩内容