MiniCPM-V端侧模型需通过HTTP API桥接层暴露服务,Dify仅作调度中枢;需确认服务已启动,执行curl http://localhost:8000/health返回{"status":"healthy"}。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

确认MiniCPM-V端侧模型已就绪
要在Dify中调用MiniCPM-V实现端侧视觉问答,必须先确保模型本身已在本地或边缘设备上可被稳定调用——Dify不托管模型,只作调度中枢。你不能直接把手机上的MiniCPM-V-4.7-1B-int4二进制文件丢进Dify后台,而需通过HTTP API桥接层暴露其服务能力。
检查你的MiniCPM-V服务是否已启动:运行curl http://localhost:8000/health,返回{"status":"healthy"}且响应时间
【必须满足】该服务接口需支持标准OpenAI兼容格式的/v1/chat/completions请求,并在request body中接受messages[].content字段内嵌image_url或image_data结构——这是Dify多模态路由的唯一识别依据。
配置Dify后端为多模态转发模式
进入Dify管理后台 → 设置 → 系统设置 → 高级配置,将MULTIMODAL_ENABLED设为True,并确认MULTIMODAL_SUPPORTED_TYPES包含"image/jpeg"、"image/png"、"image/webp"三项。缺一不可,否则前端上传按钮会灰显,且API层静默剥离图像字段。
打开config.py,在LLM_PROVIDER区块下新增MiniCPM-V专用配置段:
MINICPM_V_PROVIDER = {
"api_base": "http://localhost:8000/v1",
"api_key": "dummy-key",
"model_name": "minicpm-v-4.7-1b"
}
注意:此处api_key填任意非空字符串即可,因端侧服务通常不鉴权;但model_name必须与你实际部署的模型标识完全一致,否则Dify在构造请求头时会传错model参数导致404。
在应用中绑定并验证MiniCPM-V模型
创建新应用 → 选择「聊天助手」类型 → 进入「模型配置」页 → 模型供应商选「自定义」→ 在「模型名称」输入框填入minicpm-v-4.7-1b → 保存。
点击右侧「测试模型」按钮,手动构造一条含图请求:
① 在文本框中输入:请描述这张图中的场景和主要物体
② 点击上传图标,选择一张本地test.jpg(尺寸建议≤1024×768,过大将触发端侧预处理超时)
③ 点击发送,观察响应体是否含choices[0].message.content字段且内容为中文自然语言描述;若返回{"error":"vision not supported"},说明MiniCPM-V服务未启用视觉插件或Dify未正确注入multipart/form-data头。
这一步失败时,立刻检查localhost:8000服务日志中是否有"vision encoder loaded"字样——没有则需重跑python serve.py --enable-vision启动命令。
前端界面启用文件上传与提示词适配
发布应用前,必须开启「文件上传」功能开关,位置在应用发布页 → 功能设置 → 文件上传 → 启用。
进入「提示词编排」区域,在system prompt中插入明确声明:你是一个部署在端侧的多模态视觉语言模型,具备图像理解能力。用户可能上传JPG/PNG/WebP格式图片,请结合图像内容与文字指令生成准确、简洁的回答。禁止回答“我无法查看图片”或类似拒绝语。
这句话不是礼貌性补充,而是Dify运行时判断是否向后端注入vision token的关键触发器。漏掉它,即使后端服务正常,请求也会被降级为纯文本流。
完成配置后,点击「发布」按钮,前端聊天窗口即出现文件上传图标。点击上传一张含清晰文字或物体的图片,输入问题,等待端侧模型返回结果。











