华为云多模态大模型从开通到实战:完整对接使用指南
1. 华为云多模态大模型概述
多模态大模型是人工智能领域的重要发展方向,它集成和处理两种或两种以上不同类型的信息或数据,在机器学习和人工智能领域,多模态涉及的数据类型通常包括但不限于文本、图像、视频、音频和传感器数据。华为云盘古多模态大模型融合文本、图像、视频等数据,利用深度学习实现跨模态语义对齐,实现多种模态的理解。
在华为开发者大会2025上,华为云对五大基础模型进行全面升级,盘古多模态大模型是其中的核心组成部分。华为云全新发布了基于盘古多模态大模型的世界模型,可以为智能驾驶、具身智能机器人的训练构建所需的数字物理空间,实现持续优化迭代。例如,输入首帧的行车场景、行车控制信息和路网数据,盘古世界模型就可以生成每路摄像头的行车视频和激光雷达的点云,为智能驾驶生成大量训练数据。
ModelArts Studio大模型开发平台支持纳管盘古大模型及三方大模型,模型在平台部署后,可以通过API调用推理接口。平台为用户提供了多种规格的多模态大模型,以满足不同场景和需求。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
2. 盘古多模态大模型核心能力与规格
2.1 核心能力
盘古多模态大模型具备以下核心能力:
- 图像理解:支持单图或多图输入,适用于图像描述、视觉问答、物体定位等多种任务。多模态对话问答接口提供图片描述、视觉问答、OCR等能力。
- 图像生成:支持1024*1024分辨率的图像生成,支持写实、油画、动漫等数十种生成风格。
- 视频生成:支持文本生成视频和图生视频,支持多种长宽比,时长5秒的视频生成。
- 视频续写:支持续写96帧(24帧率的视频续写约4秒)。
2.2 模型规格清单
ModelArts Studio平台当前支持以下多模态大模型规格:
- Pangu-MM-M2-Text2Video-1.0.0:2025年4月发布的文本生成视频版本,支持5种长宽比、时长5秒的视频生成,需要8个推理单元部署。
- Pangu-MM-M2-AIGVideo-1.0.0:2025年4月发布的图生视频版本,支持6种长宽比,时长5秒的视频生成,视频续写支持96帧,需要8个推理单元部署。
- Pangu-MM-M1-Txt2Img-1.0.0:2025年4月发布的图像生成版本,支持1024*1024分辨率,支持数十种生成风格,需要8个推理单元部署。
- Pangu-MM-M2-Img2Txt-16K-V5.0.4.2:2026年2月发布的多模态理解大模型版本,具有百亿级参数量,支持图像理解,支持预训练和微调。
2.3 平台操作支持
不同模型在预训练、微调、模型评测、模型压缩、在线推理和体验中心能力调测等方面的支持程度各不相同。其中Pangu-MM-M2-Img2Txt-16K-V5.0.4.2支持全部六项操作,是最全面的多模态理解模型。
3. 多模态大模型的部署
3.1 创建部署任务
在使用多模态大模型之前,需要先在ModelArts Studio平台完成模型部署。部署步骤如下:
- 登录ModelArts Studio平台,在“我的空间”模块单击进入所需空间。
- 在左侧导航栏中选择“模型开发 > 模型部署”,单击界面右上角“创建部署”。
- 在“创建部署”页面完成部署参数设置。
3.2 部署参数配置
部署参数包括以下关键配置:
- 选择模型:来源可选择“模型广场”(预置模型)或“我的资产”(经过训练的用户模型);类型选择“多模态模型”,并选择具体模型和版本。
- 部署方式:选择“云上部署”,算法部署至平台提供的资源池中。
- 安全护栏:开启并同意授权,保障模型调用安全。当前支持安全护栏基础版,内置了默认的内容审核规则。
- 实例数:设置部署模型所需的实例数,单次部署服务时,部署实例个数建议不大于10,否则可能触发限流导致部署失败。
- 订阅提醒:开启后支持预置通知和SMN通知两种订阅类型。
- 服务名称与描述:设置部署任务的名称和可选描述。
3.3 部署任务管理
部署任务创建后,可以进行以下管理操作:
- 模型更新:在详情页面单击“模型更新”,可以替换模型或修改环境变量。
- 修改部署:修改部署时模型无法替换,但可以调整其他配置。
- 升级方式:支持全量升级和滚动升级两种方式。全量升级时旧版本和新版本服务同时运行;滚动升级通过空出部分实例资源逐个或逐批升级。
- 扩缩容:在模型详情页面单击“扩缩容”,可以修改实例数。
4. 获取API请求地址与认证信息
4.1 API请求地址
API请求地址由API接口域名和API访问路径(URI)拼接形成。模型部署成功后,可以通过API调用多模态大模型。多模态推理服务提供两种推理接口:
- 盘古推理接口(V1推理接口)
- OpenAI兼容接口(V2推理接口)
V1和V2接口的鉴权方式不同,请求体和返回体略有差异。
API访问路径格式示例:
POST /v1/{project_id}/deployments/{deployment_id}/chat/completions其中project_id为项目ID,deployment_id为模型部署ID。
4.2 认证鉴权
调用API需要进行认证鉴权。Token的有效期为24小时,使用时可以缓存Token以避免频繁调用。如果华为云账号已升级为华为账号,将不支持获取账号Token,建议创建IAM用户并获取IAM用户的Token。
获取Token的步骤:
- 登录“我的凭证 > API凭证”页面,获取user name、domain name、project id。
- 调用“获取Token”接口获取Token。
4.2.1 V1接口认证方式
V1推理接口支持两种认证方式:
- Token认证:在请求Header中携带X-Auth-Token参数。
- API Key认证:在请求Header中携带X-Apig-AppCode参数。
4.2.2 V2接口认证方式
V2接口采用OpenAI兼容的认证方式,通常使用Bearer Token或API Key进行认证。
5. 使用Postman调用多模态大模型API
5.1 准备工作
使用Postman调用API前需要准备以下信息:
- API请求地址(接口域名+URI)
- 认证Token或AppCode
- 请求Body内容
5.2 Postman调用步骤
- 在Postman中新建POST请求,填入API请求地址。
- 填写请求Header参数:
- Content-Type: application/json
- X-Auth-Token: 获取的Token值(Token认证方式)
- 在Postman中选择“Body > raw”选项,填写请求Body。
- 单击“Send”按钮发送请求。
5.3 多模态请求Body示例
5.3.1 图像理解请求示例
多模态模型的请求体为list类型。以下为图像理解的多模态请求示例:
{
"inputs": [
{
"type": "text",
"text": "请描述这张图片的内容"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.jpg"
}
}
],
"parameters": {
"max_tokens": 512,
"temperature": 0.7
}
}其中image_url参数的取值需要根据实际情况进行修改。
5.3.2 图生视频请求示例
调用图生视频API的请求Body示例:
{
"prompt": "提示词,中英文都可以",
"image": "图片URL",
"video_config": {
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9"
}
}5.3.3 视频续写请求示例
调用视频续写API的请求Body示例:
{
"prompt": "提示词,中英文都可以",
"origin_video": "视频URL",
"video_config": {
"resolution": "720p",
"aspect_ratio": "16:9"
}
}6. 使用Python代码调用多模态大模型
6.1 环境准备
使用Python调用API需要先下载Python SDK并在开发工具中完成SDK配置。具体操作请参见在Python环境中集成API请求签名的SDK。
6.2 Python调用示例(Token认证方式)
import requests
import json
# API配置
api_url = "https://{endpoint}/v1/{project_id}/deployments/{deployment_id}/chat/completions"
token = "your_x_auth_token"
# 请求头
headers = {
"Content-Type": "application/json",
"X-Auth-Token": token
}
# 多模态请求体 - 图像理解
payload = {
"inputs": [
{
"type": "text",
"text": "请详细描述这张图片中的内容"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/sample_image.jpg"
}
}
],
"parameters": {
"max_tokens": 1024,
"temperature": 0.7,
"top_p": 0.9
}
}
# 发送请求
try:
response = requests.post(api_url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
result = response.json()
print("模型响应:", json.dumps(result, ensure_ascii=False, indent=2))
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
if hasattr(e.response, 'text'):
print(f"响应内容: {e.response.text}")6.3 Python调用示例(AppCode认证方式)
import requests
import json
import base64
# API配置
api_url = "https://{endpoint}/v1/{project_id}/deployments/{deployment_id}/chat/completions"
app_code = "your_app_code"
# 请求头 - AppCode认证
headers = {
"Content-Type": "application/json",
"X-Apig-AppCode": app_code
}
# 多模态请求体 - 支持图片base64编码
def encode_image_to_base64(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
# 方式一:使用图片URL
payload_url = {
"inputs": [
{"type": "text", "text": "这张图片里有什么?"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/photo.jpg"}
}
],
"parameters": {"max_tokens": 512}
}
# 方式二:使用图片base64编码(本地图片)
# image_base64 = encode_image_to_base64("./local_image.jpg")
# payload_base64 = {
# "inputs": [
# {"type": "text", "text": "分析这张图片"},
# {
# "type": "image_url",
# "image_url": {"url": f"data:image/jpeg;base64,{image_base64}"}
# }
# ],
# "parameters": {"max_tokens": 512}
# }
# 发送请求
try:
response = requests.post(api_url, headers=headers, json=payload_url, timeout=30)
response.raise_for_status()
result = response.json()
print("模型响应:", json.dumps(result, ensure_ascii=False, indent=2))
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")6.4 视频生成Python调用示例
import requests
import json
# 图生视频API调用
def text_to_video(prompt, image_url=None):
api_url = "https://{endpoint}/v1/{project_id}/deployments/{deployment_id}/generate"
headers = {
"Content-Type": "application/json",
"X-Auth-Token": "your_token"
}
payload = {
"prompt": prompt,
"video_config": {
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9"
}
}
if image_url:
payload["image"] = image_url
response = requests.post(api_url, headers=headers, json=payload, timeout=120)
return response.json()
# 调用示例
result = text_to_video(
prompt="一只海豚在海面上跳跃,夕阳西下",
image_url="https://example.com/dolphin_scene.jpg"
)
print(json.dumps(result, ensure_ascii=False, indent=2))7. 使用体验中心零代码调测多模态大模型
7.1 体验中心功能介绍
“体验中心”功能支持用户直接调用订购的预置模型或经过训练的模型。在体验模型功能前需要先完成创建多模态大模型部署任务操作。
多模态大模型支持图像问答能力,在选择好订购的模型后,上传需要分析的图片,并在输入框中输入问题,模型就会基于图片内容回答问题。
7.2 体验中心操作步骤
- 登录ModelArts Studio大模型开发平台,进入所需空间。
- 在左侧导航栏中选择“体验中心”。
- 选择需要调用的服务,可从“预置服务”或“我的服务”中选择。
- 上传图片并输入问题,模型将基于图片内容生成回答。
7.3 模型调测
在AI原生应用引擎中,可以在左侧导航栏选择“模型中心 > 模型调测”进入调测页面。支持文本对话、图像理解、文本向量化和文本排序等多种类型模型的调测,可选择非流式和流式输出模式。调测模型时可以配置输出最大token数、温度、多样性等参数。
8. 成本优化与最佳实践
8.1 资源规划建议
多模态大模型的部署需要一定的推理单元资源,各模型通常需要8个推理单元部署。在部署时应根据实际业务需求合理规划实例数,避免资源浪费。
8.2 API调用优化
- Token缓存:Token有效期为24小时,建议缓存Token避免频繁调用认证接口。
- 批量处理:对于批量图像理解任务,可以将多张图片放在一个请求中处理。
- 超时设置:视频生成等耗时操作需要设置合理的超时时间(如120秒以上)。
8.3 安全最佳实践
- 使用IAM用户而非主账号进行API调用。
- 开启安全护栏功能,保障内容安全。
- 定期更换API密钥和Token。
- 使用HTTPS协议进行API调用,确保传输安全。
8.4 常见错误处理
- 签名过期:客户端签名时将本地时间作为时间戳进行签名,如果本地时间与北京时间相差超过15分钟,网关会认为签名过期。解决方法是将本地系统时间调整为与北京时间同步。
- 服务未开通:报错提示服务未开通时,请先登录控制台开通所需服务,并检查开通服务区域与实际调用的API区域是否一致。
- 认证失败:检查Token是否有效、AppCode是否正确,以及请求Header是否完整。
9. 总结
华为云多模态大模型通过ModelArts Studio平台提供了从模型部署、API调用到体验调测的完整工具链。开发者可以根据实际需求选择盘古多模态大模型的不同规格,通过V1或V2推理接口将多模态能力集成到自己的应用中。无论是图像理解、图像生成还是视频生成,华为云多模态大模型都提供了标准化的API接口和丰富的SDK支持,大幅降低了多模态AI应用的开发门槛。
在实际使用中,建议开发者先从体验中心快速验证模型效果,再通过API进行深度集成。同时注意合理规划资源、做好成本控制和安全防护,充分发挥多模态大模型在智能安防、内容审核、智能营销、自动驾驶等场景中的应用价值。
常见问题问答
问1:华为云多模态大模型支持哪些模态?
答:华为云盘古多模态大模型支持文本、图像、视频等多种模态的融合理解与生成。具体包括图像理解(图像描述、视觉问答、物体定位)、图像生成(支持数十种风格)、视频生成(文本生成视频、图生视频)和视频续写等功能。
问2:如何获取多模态大模型的API请求地址?
答:API请求地址由API接口域名和API访问路径(URI)拼接形成。模型在ModelArts Studio平台部署成功后,可以在模型详情页面获取部署ID,然后拼接成完整的API请求地址,格式为:https://{endpoint}/v1/{project_id}/deployments/{deployment_id}/chat/completions。
问3:V1和V2推理接口有什么区别?
答:V1是盘古推理接口,V2是OpenAI兼容接口。两者的鉴权方式不同,请求体和返回体也略有差异。V1接口支持Token认证和API Key认证两种方式,V2接口采用OpenAI兼容的认证方式。开发者可以根据自己的技术栈和偏好选择合适的接口。
问4:多模态模型的请求体中图片如何传递?
答:多模态模型支持两种图片传递方式:一是通过image_url参数传递图片的URL地址;二是将本地图片转换为base64编码后,以data:image/jpeg;base64,{base64编码}的格式传递。推荐使用URL方式,可以减少请求体大小和提高传输效率。
问5:调用API时遇到认证失败怎么办?
答:首先检查Token是否在有效期内(Token有效期为24小时),如果过期需要重新获取。其次确认请求Header是否正确设置了X-Auth-Token或X-Apig-AppCode。如果使用IAM用户,需要确保该用户已被授予调用API的必要权限。另外,检查本地系统时间是否与北京时间同步,时间差超过15分钟会导致签名过期。
问6:多模态大模型的部署需要多少资源?
答:华为云多模态大模型各规格通常需要8个推理单元进行部署。单次部署服务时,部署实例个数建议不大于10,否则可能触发限流导致部署失败。具体资源需求可以参考各模型规格的说明文档,根据实际业务量合理规划实例数。



