发明专利技术交底书
1. 发明名称
一种端侧 AI 模型跨硬件适配与多级降级推理的方法
2. 技术领域
本发明涉及边缘计算与大模型推理调度技术领域,具体涉及一种面向工业智能体的端侧 AI 模型部署方法,尤其涉及一种通过统一接口抽象、多硬件探测、适配器模式与多级降级路由,使同一套上层调用在昇腾 NPU、高通 NPU、三星 Exynos、摩尔线程 GPU、本地 CPU 与云端大模型间透明执行,并在端侧不可用时自动降级云端的方法及其系统。
3. 背景技术
工业场景的大模型推理传统采用"云端集中推理"或"单一硬件绑定":
(1)云端集中推理:所有请求走云端大模型,存在网络时延高、流量成本高、内网/离线不可用、数据出域合规风险;
(2)单一硬件绑定:推理逻辑与某一芯片(如某一 NPU)强耦合,更换硬件需重写适配与返回解析,难以在"边缘轻量"与"中心强大"间弹性伸缩;
(3)降级链被绕过:系统演进中多处直接 new LLMBrain() 调用,绕过了已实现的降级与监控逻辑,故障态不可控;
(4)无健康熔断:某模型持续失败未被熔断,拖累整体可用性。
因此,亟需一种统一抽象、可插拔多硬件、具备多级降级与健康韧性的端侧 AI 推理方法。
4. 发明内容
4.1 要解决的技术问题
- 解决云端集中推理时延高、成本高、离线条约的问题,提供端侧优先的推理分流;
- 解决单一硬件绑定、换芯需重写的问题,提供统一接口抽象 + 多硬件探测 + 适配器;
- 解决降级链被绕过、故障不可控的问题,提供桥接层收敛与统一监控;
- 解决无韧性兜底的问题,提供多级降级 + 健康熔断 + 规则模拟兜底。
4.2 技术方案
本发明提供一种端侧 AI 模型跨硬件适配与多级降级推理的方法,由多硬件探测层、统一接口抽象层、适配器层、多级降级路由层、桥接层与健康熔断层协同实现。对应真实代码(位于 server/digital-staff/)描述关键构成。
(一)统一 OpenAI 兼容接口 + 多硬件探测层
InferenceServiceDetector(server/digital-staff/llm-router.js)将各硬件统一抽象为暴露 /v1/models 与 /v1/chat/completions 的 OpenAI 兼容服务,providers 列表含 huawei_ascend / qualcomm_npu / samsung_exynos / 摩尔线程 / ollama / deepseek。detectAll() 并发探测端点返回可用模型;getBestWorkerConfig() 按 Ollama > 摩尔线程 > 其他 自动选定端侧 Worker。LLMRouter._extractResponseText() 屏蔽 Ollama 原生 message.content、OpenAI 兼容 choices[].message.content、Ollama generate response 三种返回格式差异,使上层不感知底层。
(二)昇腾 NPU 适配器
AscendNPUAdapter(server/digital-staff/ascend-npu.js)针对华为昇腾做深度适配:_detectEnvironment() 三级探测(本地 vLLM-Ascend→CANN 工具链→远程端点),_probeCANN() 探测 npu-smi/torch_npu/msnpureport,healthCheck() 联动熔断器;其对外暴露的 call(actionName, messages) 与 chat(systemPrompt, userPrompt) 语义与 LLMBrain 一致,因此可被同一套上层调用直接驱动。
(三)复杂度分流与多级降级路由
LLMRouter.classifyTask() 按关键词/任务类型将任务分为 simple/complex:简单任务走端侧 Worker(低延迟、零成本),复杂任务走云端 Solver。SmartLLMRouter(server/digital-staff/smart-llm-router.js)维护默认链 mtclaw→ollama→deepseek,_buildChain(complexity) 按"是否启用→是否远程模式→健康状态→复杂度匹配"动态裁剪;若裁剪后链路为空,强制启用远程 DeepSeek 保底:
_buildChain(complexity) {
const chain = [];
for (const step of this.config.chain) {
if (!step.enabled) continue;
if (this.config.remoteOnly && (step.id === 'mtclaw' || step.id === 'ollama')) continue;
if (!this.healthChecker.isAvailable(step.id)) continue;
chain.push({ id: step.id, endpoint: step.endpoint, model: step.model, timeout: step.timeout });
}
if (chain.length === 0) { // 链路为空→强制远程保底
chain.push({ id:'deepseek', endpoint:'https://api.deepseek.com/v1/chat/completions',
model:'deepseek-chat', timeout:30000 });
}
return chain;
}
(四)端侧不可用时自动降级云端
_autoDetectServices() 启动时探测端侧模型,若全部不可用自动置 remoteOnly=true 将整链路切云端。LLMBrain.think() 在端侧加速(MTCLAW)调用失败时自动 _mtclawEnabled=false 并降级重试云端,仍失败则 simulatedThinking() 规则兜底,保证业务不中断:
if (i >= this.retries) {
if (useMtclaw && this.apiKey && !_cloudFallbackAttempted) {
this._mtclawEnabled = false; useMtclaw = false; _cloudFallbackAttempted = true;
i = -1; continue; // 降级到云端模型
}
return this.simulatedThinking(systemPrompt, userMessage); // 规则模拟兜底
}
(五)桥接收敛与统一监控
SmartLLMBridge(server/digital-staff/smart-llm-bridge.js)实现与 LLMBrain 同签名的 chat()/think()/thinkJson(),内部转调 SmartLLMRouter.call(),失败不抛异常;调用方仅需 getSmartBrain() 取代 new LLMBrain(),即可让所有存量调用点零改造收敛到统一降级链与唯一 metrics 出口。ModelHealthChecker 按连续失败阈值熔断某模型、超时后尝试恢复,ResponseCache 缓存简单任务结果降低开销。
4.3 有益效果
- 低时延低成本:端侧优先执行高频简单任务,相比纯云端显著降低时延与流量成本;
- 跨硬件透明:统一接口 + 探测 + 适配器,一套调用可运行于昇腾/高通/三星/摩尔线程/本地 CPU,换芯无需改业务代码;
- 收敛可控:桥接层让存量调用统一走降级链与监控,消除"降级链被绕过";
- 韧性兜底:多级降级 + 健康熔断 + 规则模拟,任一环节缺失业务不中断;端侧全不可用自动无感切云端。
5. 附图说明
图1 系统架构图:展示探测层(InferenceServiceDetector)、抽象层(LLMRouter/AscendNPUAdapter)、路由层(SmartLLMRouter+ModelHealthChecker+ResponseCache)、桥接层(SmartLLMBridge/LLMBrain)与云端降级路径。
图2 多硬件适配图:展示 providers 列表与 _extractResponseText 格式归一。
图3 多级降级链图:展示 _buildChain 裁剪逻辑与"链路为空强制云端保底"。
图4 韧性兜底时序图:展示 MTCLAW 不可用 → 云端 → 规则模拟 的三级兜底。
6. 具体实施方式
步骤一:硬件探测与 Worker 选定。 启动 InferenceServiceDetector.detectAll() 并发探测各 provider 端点,getBestWorkerConfig() 按优先级选定端侧 Worker;昇腾路径经 AscendNPUAdapter._probeCANN() 验证 CANN 工具链。
步骤二:复杂度分流。 请求进入 LLMRouter.classifyTask() 分为 simple/complex;simple 经 _callWorker()(端侧),complex 经 _callSolver()(云端)。
步骤三:多级降级路由。 SmartLLMRouter.call() 经 _buildChain() 裁剪链并依次尝试;端侧不可用 _autoDetectServices() 置 remoteOnly=true 切云端;ModelHealthChecker 对连续失败模型熔断。
步骤四:桥接收敛。 调用方以 getSmartBrain().chat(prompt) 取代 new LLMBrain():
async chat(prompt, model) {
if (this._router.__fallback) return this._router._brain.chat(prompt, model);
const r = await this._router.call({ prompt, systemPrompt:'', taskType:'chat' });
return _extract(r);
}
步骤五:规则兜底。 LLMBrain.think() 云端仍失败时 simulatedThinking() 基于规则产出确定性结果,保证无 Key/无网络/无端侧任一缺失都不返回空。
7. 权利要求书草案
权利要求1(独立权利要求). 一种端侧 AI 模型跨硬件适配与多级降级推理的方法,其特征在于,包括以下步骤:
- 抽象与探测步骤:将多种推理硬件统一抽象为兼容的接口服务,并在启动时并发探测各硬件端点得到可用模型列表,自动选定端侧执行单元;
- 复杂度分流步骤:对推理请求按任务复杂度分类,简单任务分发至端侧执行单元,复杂任务分发至云端推理单元;
- 多级降级步骤:维护由多个推理后端组成的有序降级链,按启用状态、远程模式、健康状态与复杂度动态裁剪链路,当链路为空时强制启用云端后端保底;
- 自动降级步骤:当端侧加速不可用时自动切换至云端大模型,仍失败时以规则模拟产出确定性结果,保证业务不中断。
权利要求2(从属权利要求). 根据权利要求1所述的方法,其特征在于,所述抽象与探测步骤中,不同硬件的响应格式经统一抽取归一为一致文本,使上层调用不感知底层硬件差异;并提供针对特定芯片的适配器,该适配器对外暴露与通用推理核心一致的调用接口,从而被同一套上层调用直接驱动。
权利要求3(从属权利要求). 根据权利要求1所述的方法,其特征在于,还包括桥接收敛步骤:提供与既有推理核心同签名的桥接层,将存量调用点零改造地收敛至统一降级链与唯一监控出口;并对每一推理后端配置健康熔断器,连续失败达到阈值时熔断、超时后尝试恢复。
BossAgents