Skip to main content

运行环境与计算单元选择

运行环境

通过 runtime_id 选择推理运行环境:
常量定义见 RuntimeIdValueLLAMA_CPPQAIRT)。

计算单元

给原生 SDK geniex_resolve_device 的计算单元别名。
Qualcomm AI Engine Direct 仅支持 NPU。对 Qualcomm AI Hub Model 传 "cpu""gpu" 仅记录告警并回退到 NPU,不会报错。

模型管理器

模型通过内置的 Rust 模型管理器在设备上拉取。请勿手动 adb push 权重——使用 ModelManagerWrapper

ModelManagerWrapper

ModelPullInput

HubSource

ModelPaths

getPaths() 返回。其字段可直接传入 LlmCreateInput / VlmCreateInput
在 Android 上拉取 Qualcomm AI Hub 必须显式传 chipset。Rust 侧仅在骁龙 Windows 上自动识别。骁龙 8 至尊版用 "SM8750",骁龙 8 至尊版 Gen 5 用 "SM8850"

数据结构

LlmCreateInput

VlmCreateInput

ModelConfig

JNI 会根据 compute_unit 改写 nGpuLayerscpu 强制为 0;gpu / npu / hybrid 保留传入值(-1 = 全部层)。

ChatMessage

VlmChatMessage / VlmContent

GenerationConfig

maxTokens 默认为 32。多数场景应设为更大值(例如 maxTokens = 2048)。

LlmStreamResult


llama.cpp(GGUF 模型)

可在 CPU、Adreno GPU 或 Hexagon NPU 上运行任意 GGUF 模型,计算单元由 compute_unit 控制。

LLM

计算单元变体

VLM

GGUF VLM 需要两份产物:LLM 权重(model_path)与视觉投影(mmproj_path)。两者均来自 getPaths()
请始终把 t.formattedText(chat template 化后的 prompt)传入 generateStreamFlow不要传原始用户文本。原生流水线把 prompt 视为已格式化。

Qualcomm® AI Hub 模型(通过 Qualcomm AI Engine Direct 使用 NPU)

来自 Qualcomm AI Hub 的预编译模型。仅 NPU,绑定指定芯片(SM8750 = 骁龙 8 至尊版,SM8850 = 骁龙 8 至尊版 Gen 5)。

下载 Qualcomm AI Hub 模型

已支持模型

LLM

Qualcomm AI Engine Direct 会以 PARAM_NOT_SUPPORTED 拒绝 nGpuLayers != 0nCtx != 0——KV 缓存与上下文长度由 Qualcomm AI Hub 模型包在编译期固化。两者保持默认即可,仅调整 max_tokens / enable_thinking

VLM

请把 chat template 化的 promptt.formattedText)传入 generateStreamFlow,绝不要传原始用户文本。Qualcomm AI Engine Direct VLM 把 prompt 视为已格式化——传原始文本会得到退化的输出。

需要帮助?

GitHub Issues

提交 bug、提需求或浏览开放的 Issue。

Slack

开发者协作与资源。