华为云盘古气象大模型对接使用完全指南:从账号准备到API调用的全流程实战
1. 盘古气象大模型:重新定义天气预报的速度与精度
在气象预报领域,传统数值天气预报方法依赖超级计算机求解复杂的物理方程组,一次全球预报往往需要数小时的计算时间。华为云盘古气象大模型的问世彻底改变了这一格局——它将AI引入天气、海洋等前沿科学领域,融合了AI数据建模和AI方程求解方法,从海量数据中提取数理规律,利用神经网络编码微分方程。盘古大模型可在几秒钟内完成全球未来10天的天气预测,精度超过传统数值预报方法,计算速度提升10000倍以上。
盘古气象大模型属于华为云盘古科学计算大模型体系的一部分,提供基础模型与工具链,支持客户自助训推。该模型已在多个气象机构实现深度合作:深圳市气象局与华为云联创的智霁模型提供未来7天深圳及周边地区空间分辨率3公里的预报产品;重庆市气象局发布的天资·12h模型基于盘古全球气象大模型,采用全球与区域大模型嵌套融合架构。在泰国,盘古大模型将台风路径预测时间从5小时缩短到10秒。
本文将从零开始,手把手带你完成从账号准备、数据工程、模型训练、部署到API调用的全流程对接,让你快速将盘古气象大模型的能力集成到自己的业务系统中。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
2. 准备工作:账号注册、服务订购与访问授权
2.1 账号注册与实名认证
使用华为云盘古气象大模型的第一步是注册华为云账号并完成实名认证。访问华为云官网,点击注册按钮,按照指引填写手机号、邮箱等信息完成注册。注册成功后,需进行实名认证——企业用户可选择企业认证,个人开发者可选择个人认证。实名认证是后续订购服务和使用API的必要前提。
2.2 订购盘古大模型服务
盘古大模型服务是华为云对外交付的整体解决方案,也是订购与计费的对象。进入华为云控制台,搜索'盘古大模型'或'科学计算大模型',进入产品页面。盘古大模型为用户提供了服务试用,用户可根据需要提交试用申请,申请通过后方可试用盘古大模型功能。正式使用前,需要完成服务的订购操作。
订购时需选择模型资产(如盘古气象大模型)、训练资源和推理资源。盘古大模型提供包周期计费和按需计费两种计费模式。包周期计费属于预付费模式,即先付费再使用;按需计费属于后付费模式,费用根据服务实际消耗量计费,系统将每小时自动扣费。模型训练资源支持包周期和按需两种方式,推理资源按推理单元订购数量和时长预付费。
2.3 配置服务访问授权
订购服务后,需要在ModelArts Studio大模型开发平台中配置服务访问授权。登录ModelArts Studio平台,在'我的空间'模块单击进入所需空间。首次使用需要完成委托授权,允许平台访问OBS等云服务资源。
3. 数据工程:准备气象数据集
3.1 数据集类型与来源
盘古科学计算大模型仅支持接入气象类数据集。气象类数据集的训练数据一般可通过公开数据集获取,例如ERA5。ERA5是由欧洲中期天气预报中心(ECMWF)提供的全球气候的第五代大气再分析数据集,覆盖从1940年1月至今的时间段,提供每小时的大气、陆地和海洋气候变量的估计值。
盘古气象大模型所需的数据包括两类输入变量:
- 近地面变量(2D):海平面气压(MSLP)、10米纬向风(U10)、10米经向风(V10)和2米气温(T2M)。
- 高空变量(3D):涵盖从1000hPa到50hPa的13个气压层上的位势(Z)、比湿(Q)、气温(T)、纬向风(U)和经向风(V)。
3.2 数据集格式要求
在ModelArts Studio平台中,使用数据工程创建盘古科学计算大模型数据集。气象类数据集有特定的格式要求,数据准备好后需要进行格式转换,处理成模型所需的.npy格式文件。
用户可通过配置环境、安装cdsapi,并编写Python脚本从CDS(Climate Data Store)下载ERA5再分析资料。下载完成后,需将数据处理成模型所需的格式,为后续训练和推理打下基础。
3.3 数据上传至OBS
数据准备完成后,需要将数据集上传至华为云OBS(对象存储服务)。盘古大模型的数据输入通过OBS路径指定。在ModelArts Studio中创建数据集时,需要指定数据在OBS中的存储路径。
4. 模型开发:训练与微调
4.1 模型选择与配置
在ModelArts Studio平台的'模型开发'模块中,可从模型广场选择盘古气象大模型。盘古气象大模型提供基础模型与工具链,支持客户自助训推。
模型训练时,需要配置训练参数,包括数据路径、训练轮次、学习率等超参数。用户可根据实际需求选择使用预置模型直接进行推理,或基于预置模型进行微调训练。
4.2 模型训练流程
盘古气象大模型的训练在ModelArts Studio平台中完成。训练流程主要包括以下步骤:
- 在'模型开发'模块中创建训练任务
- 选择盘古气象大模型作为基础模型
- 配置训练数据集(从OBS中选择已上传的数据)
- 设置训练超参数(学习率、批次大小、训练轮数等)
- 选择训练资源规格(CPU/GPU算力)
- 提交训练任务并监控训练过程
盘古气象大模型支持在CPU和GPU两种环境下运行。用户可以根据自己的硬件配置选择合适的运行环境。
4.3 模型评估与优化
训练完成后,需要对模型进行评估。可通过与ECMWF、GFS等传统模型的预报效果进行检验对比,评估模型的预测精度。盘古气象大模型在位势、湿度、风速、温度等多个关键气象要素上,1小时至7天预测精度均超越了欧洲气象中心的operational IFS等传统数值方法。
根据评估结果,可以对模型进行进一步的优化和调整,包括调整训练参数、增加训练数据、进行模型微调等。
5. 模型部署:将模型发布为在线服务
5.1 部署配置
模型训练完成后,需要将模型部署为在线服务,以便通过API进行调用。在ModelArts Studio中,可在左侧导航栏中选择'模型开发 > 模型部署'。
部署时需要配置以下参数:
- 部署名称:为部署的服务命名
- 模型选择:选择已训练完成的模型版本
- 资源规格:选择推理资源(CPU/GPU规格)
- 实例数量:部署的实例数,用于负载均衡
5.2 获取部署ID与调用路径
模型部署成功后,需要获取调用路径和部署ID。若调用部署后的模型,可在左侧导航栏中选择'模型开发 > 模型部署',在'我的服务'页签中单击模型名称,在'详情'页签中获取模型的部署ID。若调用预置模型,可在'预置服务'页签中单击'调用路径'获取部署ID。
API的访问路径根据接口版本有所不同:
- V1推理接口:路径格式为 /v1/{project_id}/deployments/{deployment_id}/chat/completions
- V2推理接口:路径格式为 /api/v2/chat/completions
V1接口和V2接口的鉴权方式不同,请求体和返回体也略有差异。
6. API调用:将模型集成到业务系统
6.1 认证鉴权方式
调用盘古大模型API有两种认证方式:Token认证和API Key认证。
6.1.1 Token认证
Token认证是在调用API时将Token加到请求消息头,从而通过身份认证获得操作API的权限。Token的有效期为24小时,使用时可以先缓存Token,避免频繁调用。如果华为云账号已升级为华为账号,将不支持获取账号Token,建议创建一个IAM用户来获取Token。
获取Token需要调用IAM接口。以中国-香港区域为例,接口地址为 https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens。请求体需要包含IAM用户名、密码、账号名以及项目区域信息。
6.1.2 API Key认证
当用户部署的模型服务需要开放给其他用户调用时,原有的Token认证需要进行动态认证鉴权和凭证管理,操作较为繁杂。此时可以使用API Key认证方式。API Key认证指调用API时在HTTP请求头部增加X-Apig-AppCode参数,参数值为API Key值,API服务仅校验API Key而不需要对请求内容签名。该方式不仅相比Token认证更简便,还与业界主流模型调用规范保持一致。
6.2 Python SDK调用示例
盘古大模型推理SDK是对REST API的封装。Python SDK适用于Python 3及以上版本。以下是使用Python SDK调用盘古气象大模型API的完整示例:
import requests
import json
# 配置信息
project_id = 'your_project_id'
deployment_id = 'your_deployment_id'
token = 'your_iam_token' # 通过Token认证获取
# 构造请求URL(V1接口)
url = f'https://modelarts-studio.ap-southeast-1.myhuaweicloud.com/v1/{project_id}/deployments/{deployment_id}/chat/completions'
# 构造请求头
headers = {
'Content-Type': 'application/json',
'X-Auth-Token': token
}
# 构造请求体(气象预测参数)
payload = {
'messages': [
{
'role': 'user',
'content': '请预测未来24小时的天气情况'
}
],
'temperature': 0.7,
'max_tokens': 2048
}
# 发送请求
response = requests.post(url, headers=headers, json=payload)
# 处理响应
if response.status_code == 200:
result = response.json()
print('预测结果:', json.dumps(result, ensure_ascii=False, indent=2))
else:
print(f'请求失败,状态码: {response.status_code}')
print('错误信息:', response.text)6.3 API Key认证调用示例
使用API Key认证方式调用API时,只需在请求头中增加X-Apig-AppCode参数:
import requests
import json
# 配置信息
project_id = 'your_project_id'
deployment_id = 'your_deployment_id'
api_key = 'your_api_key' # 从云商店已购买服务中获取
# 构造请求URL(V1接口)
url = f'https://modelarts-studio.ap-southeast-1.myhuaweicloud.com/v1/{project_id}/deployments/{deployment_id}/chat/completions'
# 构造请求头(API Key认证)
headers = {
'Content-Type': 'application/json',
'X-Apig-AppCode': api_key
}
# 构造请求体
payload = {
'messages': [
{
'role': 'user',
'content': '请预测未来7天的气温变化趋势'
}
],
'temperature': 0.5,
'max_tokens': 4096
}
# 发送请求
response = requests.post(url, headers=headers, json=payload)
if response.status_code == 200:
result = response.json()
print('预测结果:', json.dumps(result, ensure_ascii=False, indent=2))
else:
print(f'请求失败,状态码: {response.status_code}')
print('错误信息:', response.text)6.4 Java SDK调用示例
盘古推理SDK也支持Java语言,适用于JDK 1.8及以上版本。以下是Java调用示例:
import okhttp3.*;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Map;
public class PanguWeatherClient {
private static final String BASE_URL = 'https://modelarts-studio.ap-southeast-1.myhuaweicloud.com';
private static final ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws Exception {
String projectId = 'your_project_id';
String deploymentId = 'your_deployment_id';
String token = 'your_iam_token';
String url = BASE_URL + '/v1/' + projectId + '/deployments/' + deploymentId + '/chat/completions';
OkHttpClient client = new OkHttpClient();
Map payload = new HashMap<>();
Map message = new HashMap<>();
message.put('role', 'user');
message.put('content', '请预测未来24小时的降水量');
payload.put('messages', new Map[]{message});
payload.put('temperature', 0.7);
payload.put('max_tokens', 2048);
String jsonBody = mapper.writeValueAsString(payload);
Request request = new Request.Builder()
.url(url)
.header('Content-Type', 'application/json')
.header('X-Auth-Token', token)
.post(RequestBody.create(jsonBody, MediaType.parse('application/json')))
.build();
try (Response response = client.newCall(request).execute()) {
if (response.isSuccessful()) {
String result = response.body().string();
System.out.println('预测结果: ' + result);
} else {
System.out.println('请求失败: ' + response.code());
}
}
}
} 7. 本地推理:在个人电脑上运行盘古气象大模型
7.1 环境配置
盘古气象大模型已在GitHub开源,用户可以在个人电脑上直接运行模型进行推理。推荐使用Anaconda管理Python环境。环境配置步骤如下:
- 克隆项目代码
- 创建虚拟环境:conda create -n pangu python=3.10
- 激活虚拟环境:conda activate pangu
- 安装依赖包:pip install -r requirements.txt
- 根据硬件配置安装onnxruntime(CPU版)或onnxruntime-gpu(GPU版)
7.2 模型文件下载
教程提供了模型文件的下载链接和存储方式。华为官方开源了1小时、3小时、6小时和24小时四种不同预测时长的.onnx模型文件。用户只需按照指引下载并存储模型文件,即可开始模型的调试运行。
7.3 模型推理
通过运行inference_cpu.py或inference_gpu.py脚本,加载初始气象场数据,调用24小时模型,仅需几十秒(GPU)或一分多钟(CPU)即可生成24小时后的全球气象预报结果。项目还提供了inference_iterative_cpu.py等脚本,演示了如何组合使用不同时长的模型(如连续调用6小时模型),实现长达144小时(6天)的连续预报。
7.4 结果可视化
天气预测不仅要算得快,还要看得懂。项目通过matplotlib等工具,将.npy数组转换为气象云图。用户可以清晰地看到当前时刻与24小时后全球及我国区域的2米气温分布对比,甚至还能计算和绘制出24小时内的气温变化图。
8. 安全管理:保护你的API密钥与数据
8.1 IAM子账号管理
建议使用IAM子账号进行API调用,避免主账号密钥泄露。在华为云控制台的'统一身份认证服务'中创建IAM用户,并为该用户授予调用盘古大模型服务所需的权限。
获取Token时,应使用IAM用户的用户名和密码,而非主账号的凭证。这样可以有效降低主账号密钥泄露的风险。
8.2 API Key管理
API Key可在云商店已购买服务中进行管理。用户应定期更换API Key,并确保API Key仅存储在安全的环境中。API Key认证方式在HTTP请求头部增加X-Apig-AppCode参数,无需对请求内容签名,使用更加简便。
8.3 请求限制
调用API访问在线服务时,对预测请求体大小和预测时间有限制:
- 请求体的大小不超过12MB,超过后请求会被拦截
- 因APIG(API网关)限制,平台每次请求预测的时间不超过40秒
9. 成本优化:合理规划资源与费用
9.1 计费模式选择
盘古大模型提供包周期计费、按需计费两种计费模式。包周期计费是一种预付费模式,按照订单的购买周期进行结算。按需计费是一种后付费模式。用户应根据实际使用场景选择合适的计费模式:
- 长期稳定使用:选择包周期计费,可获得更优惠的单价
- 短期或测试使用:选择按需计费,避免资源闲置浪费
9.2 资源规格选择
模型训练资源支持两种计费方式:包周期按订购数量和时长预付费,提供1个月到1年供客户选择;按需订购按单元使用数量和时长后付费,时长精确到秒。模型推理资源按推理单元订购数量和时长预付费。
用户应根据实际推理需求选择合适的资源规格,避免资源浪费。对于测试阶段,可选择较小规格的资源;对于生产环境,应根据并发请求量选择合适的实例数量。
10. 常见问题与最佳实践
10.1 数据准备最佳实践
使用ERA5公开数据集时,注意数据的时间范围和空间分辨率。盘古气象大模型水平空间分辨率达到0.25°×0.25°,输入数据应与模型的分辨率要求匹配。
10.2 模型调优建议
对于特定区域的天气预报需求,建议基于盘古全球气象大模型进行微调。采用全球与区域大模型嵌套融合架构可以获得更精准的区域预报结果。
10.3 API调用最佳实践
建议缓存Token(有效期24小时),避免频繁调用IAM接口获取Token。使用API Key认证方式时,注意保护好API Key,避免泄露。
11. 总结
本文系统地介绍了华为云盘古气象大模型的对接使用方法,涵盖从账号注册、服务订购、数据准备、模型训练与微调、模型部署到API调用的完整技术链路。盘古气象大模型作为全球首个登上《Nature》的气象AI大模型,开创了'用AI取代传统数值模式'的新思路,已在多个实际应用场景中展现出卓越的性能。
通过本文的指南,开发者可以快速将盘古气象大模型的能力集成到自己的业务系统中,为气象预报、农业生产、能源管理等领域提供高精度的气象预测服务。
问答
问1:使用华为云盘古气象大模型需要哪些前置条件?
答:需要注册华为云账号并完成实名认证,提交试用申请并通过审核,然后订购盘古大模型服务。同时需要准备气象数据集(如ERA5数据)并上传至OBS。
问2:盘古气象大模型支持哪些编程语言的SDK?
答:盘古推理SDK支持Java、Python、Go、.NET、NodeJs等多种编程语言。其中Python SDK适用于Python 3及以上版本,Java SDK适用于JDK 1.8及以上版本。
问3:调用盘古气象大模型API有哪些认证方式?
答:有两种认证方式。Token认证需要在请求头中加X-Auth-Token参数,Token有效期为24小时。API Key认证需要在请求头中加X-Apig-AppCode参数,该方式更简便且与业界主流模型调用规范保持一致。
问4:盘古气象大模型的预测精度如何?
答:盘古气象大模型在位势、湿度、风速、温度等多个关键气象要素上,1小时至7天预测精度均超越了欧洲气象中心的operational IFS等传统数值方法。模型水平空间分辨率达到0.25°×0.25°,可在几秒钟内完成全球未来10天的天气预测。
问5:盘古气象大模型如何收费?
答:盘古大模型提供包周期计费和按需计费两种计费模式。包周期计费是预付费模式,按订购数量和时长付费;按需计费是后付费模式,按使用量和时长付费。模型推理资源按推理单元订购数量和时长预付费。
问6:能否在本地电脑上运行盘古气象大模型?
答:可以。盘古气象大模型已在GitHub开源,用户可以在个人电脑上直接运行。推荐使用Anaconda管理Python环境,安装onnxruntime(CPU版)或onnxruntime-gpu(GPU版),下载官方提供的.onnx模型文件,运行推理脚本即可生成气象预报结果。



