发明专利技术交底书

发明专利技术交底书

1. 发明名称

一种端侧 AI 模型跨硬件适配与多级降级推理的方法

2. 技术领域

本发明涉及边缘计算与大模型推理调度技术领域,具体涉及一种面向工业智能体的端侧 AI 模型部署方法,尤其涉及一种通过统一接口抽象、多硬件探测、适配器模式与多级降级路由,使同一套上层调用在昇腾 NPU、高通 NPU、三星 Exynos、摩尔线程 GPU、本地 CPU 与云端大模型间透明执行,并在端侧不可用时自动降级云端的方法及其系统。

3. 背景技术

工业场景的大模型推理传统采用"云端集中推理"或"单一硬件绑定":

(1)云端集中推理:所有请求走云端大模型,存在网络时延高、流量成本高、内网/离线不可用、数据出域合规风险;

(2)单一硬件绑定:推理逻辑与某一芯片(如某一 NPU)强耦合,更换硬件需重写适配与返回解析,难以在"边缘轻量"与"中心强大"间弹性伸缩;

(3)降级链被绕过:系统演进中多处直接 new LLMBrain() 调用,绕过了已实现的降级与监控逻辑,故障态不可控;

(4)无健康熔断:某模型持续失败未被熔断,拖累整体可用性。

因此,亟需一种统一抽象、可插拔多硬件、具备多级降级与健康韧性的端侧 AI 推理方法。

4. 发明内容

4.1 要解决的技术问题

  1. 解决云端集中推理时延高、成本高、离线条约的问题,提供端侧优先的推理分流;
  2. 解决单一硬件绑定、换芯需重写的问题,提供统一接口抽象 + 多硬件探测 + 适配器;
  3. 解决降级链被绕过、故障不可控的问题,提供桥接层收敛与统一监控;
  4. 解决无韧性兜底的问题,提供多级降级 + 健康熔断 + 规则模拟兜底。

4.2 技术方案

本发明提供一种端侧 AI 模型跨硬件适配与多级降级推理的方法,由多硬件探测层、统一接口抽象层、适配器层、多级降级路由层、桥接层与健康熔断层协同实现。对应真实代码(位于 server/digital-staff/)描述关键构成。

(一)统一 OpenAI 兼容接口 + 多硬件探测层

InferenceServiceDetectorserver/digital-staff/llm-router.js)将各硬件统一抽象为暴露 /v1/models/v1/chat/completions 的 OpenAI 兼容服务,providers 列表含 huawei_ascend / qualcomm_npu / samsung_exynos / 摩尔线程 / ollama / deepseekdetectAll() 并发探测端点返回可用模型;getBestWorkerConfig()Ollama > 摩尔线程 > 其他 自动选定端侧 Worker。LLMRouter._extractResponseText() 屏蔽 Ollama 原生 message.content、OpenAI 兼容 choices[].message.content、Ollama generate response 三种返回格式差异,使上层不感知底层。

(二)昇腾 NPU 适配器

AscendNPUAdapterserver/digital-staff/ascend-npu.js)针对华为昇腾做深度适配:_detectEnvironment() 三级探测(本地 vLLM-Ascend→CANN 工具链→远程端点),_probeCANN() 探测 npu-smi/torch_npu/msnpureporthealthCheck() 联动熔断器;其对外暴露的 call(actionName, messages)chat(systemPrompt, userPrompt) 语义与 LLMBrain 一致,因此可被同一套上层调用直接驱动。

(三)复杂度分流与多级降级路由

LLMRouter.classifyTask() 按关键词/任务类型将任务分为 simple/complex:简单任务走端侧 Worker(低延迟、零成本),复杂任务走云端 Solver。SmartLLMRouterserver/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);  // 规则模拟兜底
}

(五)桥接收敛与统一监控

SmartLLMBridgeserver/digital-staff/smart-llm-bridge.js)实现与 LLMBrain 同签名的 chat()/think()/thinkJson(),内部转调 SmartLLMRouter.call(),失败不抛异常;调用方仅需 getSmartBrain() 取代 new LLMBrain(),即可让所有存量调用点零改造收敛到统一降级链与唯一 metrics 出口。ModelHealthChecker 按连续失败阈值熔断某模型、超时后尝试恢复,ResponseCache 缓存简单任务结果降低开销。

4.3 有益效果

  1. 低时延低成本:端侧优先执行高频简单任务,相比纯云端显著降低时延与流量成本;
  2. 跨硬件透明:统一接口 + 探测 + 适配器,一套调用可运行于昇腾/高通/三星/摩尔线程/本地 CPU,换芯无需改业务代码;
  3. 收敛可控:桥接层让存量调用统一走降级链与监控,消除"降级链被绕过";
  4. 韧性兜底:多级降级 + 健康熔断 + 规则模拟,任一环节缺失业务不中断;端侧全不可用自动无感切云端。

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所述的方法,其特征在于,还包括桥接收敛步骤:提供与既有推理核心同签名的桥接层,将存量调用点零改造地收敛至统一降级链与唯一监控出口;并对每一推理后端配置健康熔断器,连续失败达到阈值时熔断、超时后尝试恢复。

← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁