热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >如何在Dify中处理多图片输入并生成分析报告

如何在Dify中处理多图片输入并生成分析报告

来源:互联网 更新时间:2026-06-23 08:10

要在Dify工作流里真正接收用户上传的多张图片,并让大模型基于图像内容自动生成结构化分析报告,就必须绕开默认的单图限制、显式启用多模态解析链路,还得保证下游模型能同时消费多个图像特征——否则系统只会取第一张图,或者干脆报错。

先明确一个前提:

必须选择Workflow类型,并启用多模态输入,配置File list字段

,同时关闭Document Extractor的“Extract text only”开关,然后用{{#each $input.img_list}}调用多图描述,最终接入Qwen-VL生成结构化报告。下面拆开来说具体怎么做。

创建支持多图输入的工作流

进入Dify Studio → 点击Create from blank → 关键一步:

必须选择Workflow类型

,不能选Chatflow。Chatflow不解析文件内容体,上传的多图只会保留文件名,后续节点完全收不到图像数据。

创建工作流后,立刻点击画布空白处 → 打开全局设置 → 在“Input Schema”中勾选【Enable multi-modal input】。这一步如果跳过,所有Image/File字段都会被当作普通字符串处理,payload里根本没有binary_data字段,后面就全废了。

配置多图输入节点

方法一:单节点支持多图上传(推荐用于同场景批量分析)
从左侧拖入User Input节点 → 点击配置 → 添加字段 → 字段类型选

File list

→ 变量名设为img_list(全小写+下划线,不能含空格)→ 标签名写“上传多张图片” → 允许上传类型选Both → 支持文件类型只勾选Image → 最多上传数量设为20(Dify的硬性上限)。

方法二:多个独立Image字段(适用于分类明确的图文组合)
添加两个Image类型字段:变量名分别为front_imgback_img,标签写“正面图”“背面图”。注意这两个字段在运行时会生成两个独立的{{$input.front_img}}{{$input.back_img}}路径,不能用{{$input.img_list.0}}索引访问。

关键提醒:变量名如果写成FrontImg或front-img,下游LLM节点将无法通过{{$input.front_img}}正确引用,直接报undefined error。变量名必须全小写+下划线。

接入文档提取器并开启多图解析

第一步:拖入Document Extractor节点 → 输入参数选择img_list(对应File list字段)或分别连front_imgback_img(需要两个Extract节点)。

第二步:在Document Extractor配置中,关闭“Extract text only”开关。

默认是开启的,这是个陷阱

——一旦开启,所有图片仅走OCR或ASR流水线,Qwen-VL等视觉模型收不到原始像素输入,无法做物体识别、布局分析、跨图比对等核心任务。

第三步:确认输出变量类型。当输入是File list时,Document Extractor输出为array[string],每一项是单张图的结构化描述文本。这个数组可以直接传给多模态大模型节点。

连接多模态大模型生成报告

拖入Multimodal LLM节点 → 模型选Qwen-VL-7B或Qwen-VL-14B(需平台已部署)→ 在Prompt模板中使用如下结构:

“你是一名专业图像分析师。请基于以下{{#each $input.img_list}}第{{$index + 1}}张图:{{this}} {{/each}}内容,按「对象识别→异常检测→关联推理」三段式生成中文分析报告,总字数不超过800字。”

注意:不要用{{#each $input.img_list}}嵌套{{#each}},Dify模板引擎不支持双重循环。必须用一个{{#each}}一次性展开全部图像描述文本,再由LLM自行分图理解。

最后连接一个Text Output节点,把LLM输出直接返回给用户。这样整个链路就通了。

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc