盘古大模型接入:调用云端大模型API(279)
·
在鸿蒙(HarmonyOS)应用中接入盘古大模型云端 API,通常可以通过华为云 ModelArts Studio (MaaS) 平台来实现。以下是完整的接入流程与核心代码示例:
1. 获取 API 鉴权凭证
在调用云端大模型前,首先需要获取用于身份验证的凭证。根据业务场景,通常有两种鉴权方式:
- Token 认证:适用于应用内部直接调用。需参考华为云《API参考》文档获取 Token 值。
- API Key 认证:适用于将推理服务开放给其他用户调用。需在 ModelArts Studio 平台的“应用接入”中创建应用并获取
API Key(即X-Apig-AppCode)。
2. 获取 API 请求地址
API 请求地址由“API接口域名”与“API访问路径(URI)”拼接而成。
- 获取域名:登录 ModelArts Studio 平台,在“模型开发 > 模型部署”页面,点击已部署且处于“运行中”状态的模型名称,在详情页获取 API 接口域名。
- 拼接 URI:例如文本补全接口的路径通常为
/generate,完整的请求地址示例为https://{api-url}/generate。
3. 鸿蒙端 ArkTS 调用示例
在鸿蒙应用层,可以使用 @ohos.net.http 模块发起 POST 请求。以下是一个基础的云端 API 调用代码示例:
import { http } from '@ohos.net.http';
// 1. 创建 HTTP 请求对象
const httpReq = http.createHttp();
// 2. 发起 POST 请求
const resp = await httpReq.request('https://{您的API接口域名}/v1/infers/{您的服务ID}/generate', {
method: http.RequestMethod.POST,
header: {
'Content-Type': 'application/json',
// 根据鉴权方式二选一填入:
// 'X-Auth-Token': '您的Token值',
// 'X-Apig-Appcode': '您的API_Key值'
},
extraData: JSON.stringify({
messages: [{ role: 'user', content: '你好,请介绍一下鸿蒙系统' }],
temperature: 0.9,
max_tokens: 600
})
});
// 3. 处理返回结果
if (resp.responseCode === 200) {
console.log('大模型返回结果:', resp.result);
}
4. 进阶:端云协同架构
对于鸿蒙原生应用,推荐采用端云协同(混合路由)方案以兼顾性能与数据安全:
- 端侧处理:对于敏感数据(如手机号脱敏)、短上下文或低延迟要求(< 300ms)的场景,可通过
@ohos.ai.panguSDK 调用端侧盘古 Lite 模型,数据不出端。 - 云端处理:对于长上下文(> 8K)、高质量推理或复杂代码生成,自动路由至云端 API 处理。
一、 核心架构:Harmony Intelligence 端云协同体系
鸿蒙原生智能(Harmony Intelligence)并非简单的 API 调用,而是将 AI 能力下沉为操作系统的基础底座,采用“端侧 AI 为主、云端 AI 为辅”的混合架构。
- 端侧(On-Device AI):集成轻量化盘古大模型(如盘古 Lite/Mini),依托麒麟芯片 NPU 加速,实现毫秒级本地推理。负责处理隐私敏感数据(如手机号脱敏)、低延迟交互(< 300ms)及离线场景,确保数据全程不出端。
- 云侧(Cloud AI):依托华为云 ModelArts Studio (MaaS) 部署的超大参数盘古模型,负责长上下文(> 8K)、复杂逻辑推理及跨应用全局调度。
- 连接层(端云协同引擎):通过鸿蒙智能体框架(HMAF),实现任务在端云之间的无缝拆分、动态调度与安全传输。
二、 高阶实战:端云动态路由与隐私保护管理器
企业级应用必须实现智能路由,根据意图复杂度和网络状态动态切换端云模型,并注入隐私保护指令。
// HybridAIManager.ets:端云协同 AI 管理器核心逻辑
import { intelligentFoundation } from '@kit.IntelligentFoundationKit';
import { cloud } from '@kit.CloudFoundationKit';
export class HybridAIManager {
private intentClassifier: intelligentFoundation.LocalClassifier | null = null;
private foundationClient: intelligentFoundation.FoundationClient | null = null;
// 1. 初始化端云组件
async init(context: Context) {
// 端侧意图分类器(小模型,用于路由决策)
this.intentClassifier = await intelligentFoundation.createLocalClassifier(context, {
modelName: 'intent-classifier-v1',
threshold: 0.8
});
// 云端基础模型客户端(连接盘古云端)
this.foundationClient = await intelligentFoundation.createFoundationClient({
backendType: intelligentFoundation.BackendType.CLOUD_PANGU,
authConfig: { apiKey: await this.getApiKeyFromSecureStorage() } // 从密钥保险箱读取,严禁硬编码
});
}
// 2. 核心:智能路由与隐私脱敏
async ask(userQuery: string, onToken?: (token: string) => void): Promise<string> {
const intentResult = await this.intentClassifier!.classify(userQuery);
// 简单查询或敏感数据,走端侧(数据不出端)
if (intentResult.intent === 'simple_query' && intentResult.confidence > 0.8) {
return this.handleSimpleQueryLocally(userQuery);
}
// 复杂推理,走云端大模型(带差分隐私与流式输出)
return await this.handleComplexQueryWithCloud(userQuery, onToken);
}
// 3. 云端流式处理与隐私防护
private async handleComplexQueryWithCloud(query: string, onToken?: (token: string) => void): Promise<string> {
const prompt = `【隐私保护指令】:严禁透露用户个人信息,仅基于商品知识回答。\n【用户问题】:${query}`;
const stream = await this.foundationClient!.generateTextStream({
prompt: prompt,
privacyConfig: { enableDifferentialPrivacy: true, epsilon: 3.0 }, // 差分隐私配置
temperature: 0.7, maxTokens: 300
});
let fullResponse = '';
for await (const chunk of stream) {
fullResponse += chunk.text;
onToken?.(chunk.text); // 逐字回调给 UI 层实现打字机效果
}
return fullResponse;
}
}
三、 基础云端调用:HTTP 请求与鉴权安全
当直接通过 @ohos.net.http 调用 MaaS 平台 API 时,必须严格管理鉴权凭证。
import { http } from '@ohos.net.http';
async function callCloudPangu(prompt: string) {
const httpReq = http.createHttp();
const resp = await httpReq.request('https://{api-url}/v1/infers/{service-id}/generate', {
method: http.RequestMethod.POST,
header: {
'Content-Type': 'application/json',
'X-Apig-Appcode': '您的API_Key值' // 推荐使用 API Key 认证
},
extraData: JSON.stringify({
messages: [{ role: 'user', content: prompt }],
temperature: 0.9, max_tokens: 600
})
});
if (resp.responseCode === 200) {
return JSON.parse(resp.result as string);
}
throw new Error('Cloud AI request failed');
}
四、 安全合规与动态降级机制
- 端云动态降级:针对弱网或离线场景,应用必须设计降级策略。当云端 API 超时或断网时,无缝切换至端侧盘古 Lite 模型,保障核心 AI 功能的基础可用性。
- 合规性声明:应用上架时,若涉及 AI 生成合成服务,需在
module.json5中明确进行合规性声明(complianceDeclaration),保障生态规范。 - 密钥安全:所有的 API Key 或 Token 严禁硬编码在 ArkTS 代码中,必须使用鸿蒙的密钥保险箱(Secret Manager)或 AGC 安全存储进行读取。
更多推荐



所有评论(0)