讲师中心 微信公众号

工具推荐

视频效率加速
AniShort
AniShort

AI短剧协同制作平台

立刻MV
立刻MV

低成本歌曲 MV、视频生成

Seko
Seko

AI短剧一键生成成片

updream

一键生成高质量推广成片

千问怎么做多模态输入的统一处理?文本图片混合输入API调用方法

千杰酱_1203

千杰酱_1203

发布时间:2026-05-20 16:11:39

|

905人浏览过

|

来源于php中文网

原创

通义千问多模态模型(如Qwen-VL系列)需将文本与图片封装于单条user消息的content列表中,支持text/image_url/image类型元素组合,并严格遵循Base64编码或SDK自动处理规范。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

千问怎么做多模态输入的统一处理?文本图片混合输入api调用方法

如果您尝试调用通义千问多模态模型(如Qwen-VL系列)但无法正确传递文本与图片混合内容,则可能是由于消息结构不符合OpenAI兼容协议或Base64编码格式不规范所致。以下是实现多模态输入统一处理的具体方法:

一、构造符合OpenAI协议的messages数组

通义千问多模态API(如qwen-vl-plus)要求用户将文本与图像以结构化数组形式封装在单条user消息中,确保模型能识别不同类型的内容单元。该方式是官方推荐的统一输入范式,适用于所有支持vision的模型版本。

1、准备原始图片文件路径,例如/path/to/photo.jpg。

2、使用Python读取图片并编码为Base64字符串:
import base64
with open("/path/to/photo.jpg", "rb") as f:
  image_base64 = base64.b64encode(f.read()).decode("utf-8")

3、构建messages参数,其中content为列表,按顺序包含text类型与image_url类型元素:
{"role": "user", "content": [
  {"type": "text", "text": "请描述这张图片中的场景和人物动作"},
  {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64," + image_base64}}
]}

4、将该messages对象作为请求体传入DashScope SDK或OpenAI兼容客户端。

二、使用OpenClaw网关进行自动格式转换

OpenClaw可屏蔽底层编码细节,将本地图片路径、URL或二进制流自动转换为标准Base64嵌入格式,并统一注入messages结构。该方案适合需要批量处理多图或多轮交互的开发场景。

1、确认OpenClaw网关已启动且配置指向qwen-vision提供方:
openclaw gateway status

2、通过HTTP POST向http://localhost:8000/v1/chat/completions发送原始请求体:
{"model": "qwen-vl-plus",
"messages": [{"role": "user", "content": "这张截图里显示了什么错误?"}],
"images": ["/Users/me/Desktop/error.png"]}

3、OpenClaw自动读取指定路径图片,完成Base64编码与content数组组装,再转发至后端Qwen服务。

4、响应结果与标准API一致,无需额外解析逻辑。

三、通过DashScope SDK的高级参数直接传入PIL图像对象

DashScope Python SDK v1.22.0+支持将PIL.Image.Image实例直接作为content元素传入,SDK内部自动执行格式校验、尺寸归一化与Base64编码,避免手动处理图像元数据带来的兼容性风险。

1、安装满足版本要求的SDK:
pip install dashscope>=1.22.0

OpenClaw Mentee (DEPRECATED)
OpenClaw Mentee (DEPRECATED)

与经验丰富的AI导师联系,提出问题、管理会话、请求邀请,并通过OpenClaw Mentor平台安全共享脱敏的AI技能元数据。

下载

2、加载图像并构造消息:
from PIL import Image
from dashscope import MultiModalConversation

img = Image.open("/path/to/photo.jpg")
messages = [
  {"role": "user",
  "content": [
    {"type": "text", "text": "分析图像中是否存在交通标志"},
    {"type": "image", "image": img}
  ]}
]

3、调用MultiModalConversation.call接口:
response = MultiModalConversation.call(model="qwen-vl-plus", messages=messages)

4、检查response.output.choices[0].message.content是否返回有效文本结果。

四、在前端JavaScript中通过File API动态构建混合输入

浏览器环境无法直接读取本地文件系统路径,需借助File API获取用户选择的图片文件,再通过Blob URL或内存Base64编码方式注入messages结构,实现纯前端多模态输入。

1、在HTML中添加文件选择控件:

2、监听change事件并读取文件:
document.getElementById('imageUpload').addEventListener('change', async (e) => {
  const file = e.target.files[0];
  const reader = new FileReader();
  reader.onload = async () => {
    const base64String = reader.result.split(',')[1];
    const messages = [{
      "role": "user",
      "content": [
        {"type": "text", "text": "这张图里有什么动物?"},
        {"type": "image_url", "image_url": {"url": "data:" + file.type + ";base64," + base64String}}
      ]
    }];
    // 后续发起fetch请求
  };
  reader.readAsDataURL(file);
});

3、使用fetch发送请求,注意设置Content-Type: application/json及携带DASHSCOPE_API_KEY请求头。

4、接收JSON响应并提取response.choices[0].message.content字段展示结果。

五、采用curl命令行一次性提交文本与Base64图像

对于调试或CI/CD流水线中的轻量调用,可完全脱离编程语言依赖,使用curl组合JSON载荷与内联Base64图像数据,验证服务连通性与输入格式正确性。

1、在终端中执行Base64编码命令(Linux/macOS):
IMAGE_BASE64=$(base64 -i /path/to/photo.jpg | tr -d '\n')

2、构造完整JSON载荷并保存为payload.json:
{
  "model": "qwen-vl-plus",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "图中人物穿的是什么颜色的衣服?"},
      {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,'$IMAGE_BASE64'"}}
    ]
  }],
  "max_tokens": 512
}

3、执行curl调用:
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d @payload.json

4、查看返回的output.text字段确认模型是否成功理解图文混合语义。

热门AI工具

更多
音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

120

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

60

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

80

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

60

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

60

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

60

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

60

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

60

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Visual Studio 扩展开发指南
Visual Studio 扩展开发指南

共0课时 | 0人学习

Runway API计费说明文档
Runway API计费说明文档

共0课时 | 0人学习

Runway官方模型文档
Runway官方模型文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn