必须显式配置GLM-4V专用输入结构与参数,否则图片被当普通附件丢弃;需在Dify Studio接入GLM-4V模型、启用多模态输入、正确声明Image变量、用Document Extractor输出Raw binary、LLM节点开启Visual并绑定图像变量。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中让AI真正“看懂”用户上传的图片并回答相关问题,不能只靠上传文件就自动触发视觉理解——必须显式配置GLM-4V专用的输入结构、编码方式与模型调用参数,否则系统会把图片当普通附件丢弃像素信息。
确认GLM-4V模型已接入Dify平台
进入Dify Studio → 点击右上角「Settings」→ 选择「Model Providers」→ 在「Custom Model」区域点击「+ Add」→ 填写GLM-4V服务地址(如http://localhost:9997/v1)和API Key(若启用鉴权)→ 测试连接成功后保存。
【必须使用OpenAI兼容接口】 GLM-4V-9B通过Xinference或FastAPI私有部署时,需开启OpenAI-compatible模式;若直接调用原生HuggingFace接口,Dify无法识别多模态字段。
创建工作流并启用多模态输入
点击「Create from blank」→ 选择Workflow(不可选Chatflow,因Chatflow不支持文件元信息解析)→ 创建后立即点击画布空白处 → 在「Input Schema」中勾选【Enable multi-modal input】。
这一步跳过会导致后续所有Image字段在运行时被忽略内容体,仅传入空数组或文件名字符串。
配置用户输入节点:正确声明图片变量
从左侧拖入User Input节点 → 点击打开配置 → 添加一个字段:
方法一:单图输入(推荐)
字段类型选Image → 变量名设为【img_input】 → 标签名写“请上传图片” → 支持格式勾选JPEG、PNG、WEBP → 是否必填按需设定。
⚠️变量名必须全小写+下划线,不能含空格或中文,否则下游LLM节点无法通过{{$input.img_input}}引用。Dify对大小写敏感,imgInput或IMG_INPUT均会失败。
添加Document Extractor节点做前置解析
第一步:拖入Document Extractor节点 → 将其输入参数设置为{{$input.img_input}};
第二步:在Document Extractor配置中,关闭「Extract text only」开关;
第三步:确保「Output format」设为「Raw binary」而非「Text only」。
开启「Extract text only」是默认陷阱——它会让图片仅走OCR流程,彻底丢失原始像素数据,导致GLM-4V无法执行视觉定位、缺陷识别等任务。
连接GLM-4V模型节点并设置视觉输入
拖入LLM节点 → 模型选择你刚注册的GLM-4V-9B实例 → 在「Model Parameters」中将「Max Tokens」设为至少4096;
在「System Prompt」中写明角色,例如:“你是一个专业的图像分析助手,请结合所见图像内容准确回答问题。”;
点击「Visual」标签页 → 开启「Enable visual input」→ 视觉输入变量选择{{$document_extractor.output}};
在「User Prompt」中插入变量:{{user_input.query}},确保图文联合输入结构完整。
这一步完成后,工作流即具备接收图像+文本提问→提取原始二进制→喂入GLM-4V→生成图文联合推理结果的全链路能力。


















