GenieX

qualcommBSD-3-Clause活跃维护

在骁龙设备的 NPU、GPU 和 CPU 上本地跑大模型和多模态模型,几行代码就能接入,省去自己适配硬件的麻烦。

Run frontier LLMs and VLMs locally on Qualcomm devices across NPU, GPU, and CPU with a few lines of code

v0.10.0发布于 2026-10-28 00:06 UTC8,513star +6 / 7 天1,079fork同步于 2026-11-10 17:32 UTC

怎么上手

由 README 提炼,执行前请确认
pip install geniex
geniex infer google/gemma-4-E4B-it-qat-q4_0-gguf
硬件要求按 README 说明

仅支持高通骁龙平台:Windows ARM64(Snapdragon X / X Elite)、Android(Snapdragon 8 Elite 等)、Linux ARM64(Dragonwing QCS9075)。README 未给出具体显存或内存要求。

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

在骁龙设备上本地跑前沿 LLM 和 VLM 的端侧推理运行时,几行代码即可调用 NPU、GPU 或 CPU

在骁龙设备的 NPU、GPU 和 CPU 上本地跑大模型和多模态模型,几行代码就能接入,省去自己适配硬件的麻烦。

核心能力

  • 同一套 C SDK 提供 CLI、Python、Kotlin/Java、Docker 和 OpenAI 兼容服务
  • 支持 Hugging Face、ModelScope、Docker Hub 的 GGUF 模型,也支持 Qualcomm AI Hub 预编译包
  • llama.cpp 运行时覆盖 NPU、GPU、CPU,qairt 运行时专攻 NPU 峰值性能
  • Python 接口对齐 transformers 的 from_pretrained 和 generate 用法
  • geniex serve 起 OpenAI 兼容接口,默认监听 127.0.0.1:18181/v1

容易踩的坑

仅支持骁龙设备,其他平台无法运行;qairt 运行时只走 NPU,且需要 Qualcomm AI Hub 的按芯片预编译包;llama.cpp 走 Hexagon NPU 时建议选 Q4_0 精度;serve 默认端口是 18181,不是常见的 8000。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.10.0
  1. v0.10.1-alpha.3pre-release2026-11-05 · 2026-11-05 14:24 UTC
    查看更新说明

    Hexagon HTP

    Microsoft-signed HTP catalog (llama.cpp @ 19cce6). No cert import required on Windows on Snapdragon.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/qualcomm/GenieX/compare/v0.10.1-rc.1...v0.10.1-alpha.3

  2. v0.9.5-alpha.1pre-release2026-11-02 · 2026-11-02 07:21 UTC
    查看更新说明

    Hexagon HTP

    Self-signed HTP catalog (llama.cpp @ f64a49). End users: import ggml-htp-v1.cer per notes/run.md. Operators: promote per notes/release.md § Hexagon HTP signing.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/qualcomm/GenieX/compare/v0.9.1...v0.9.5-alpha.1

  3. v0.10.1-rc.1pre-release2026-10-29 · 2026-10-29 09:50 UTC
    查看更新说明

    Hexagon HTP

    Microsoft-signed HTP catalog (llama.cpp @ 19cce6). No cert import required on Windows on Snapdragon.

    What's Changed

    Full Changelog: https://github.com/qualcomm/GenieX/compare/v0.10.0...v0.10.1-rc.1

  4. v0.10.0最新正式版2026-10-28 · 2026-10-28 00:06 UTC

    Hexagon HTP

    Microsoft-signed HTP catalog (llama.cpp @ 19cce6). No cert import required on Windows on Snapdragon.

    What's Changed

  5. v0.9.32026-10-19 · 2026-10-19 23:13 UTC
    查看更新说明

    Hexagon HTP

    Microsoft-signed HTP catalog (llama.cpp @ e467e5). No cert import required on Windows on Snapdragon.

    What's Changed

    Full Changelog: https://github.com/qualcomm/GenieX/compare/v0.9.1...v0.9.3

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    The easiest way to run frontier LLMs & VLMs locally on Qualcomm devices

    Status: Developer Preview Docs Release License: BSD-3-Clause Slack

    Documentation · Quickstart · Models · Community


    GenieX is an on-device Gen AI inference runtime for Qualcomm devices. Bring almost any GGUF model from Hugging Face, ModelScope, or Docker Hub, or use a pre-compiled bundle from Qualcomm AI Hub. Run it locally on the Hexagon NPU, Adreno GPU, or CPU in a few lines of code. One C SDK underneath is exposed through a CLI, Python, Kotlin/Java, Docker, and an OpenAI-compatible server. It is the community version of Qualcomm GENIE.

    Supported platforms

    GenieX runs only on Qualcomm Snapdragon. Find your platform, then jump straight to the interface you want to use.

    PlatformExample devicesJump to a quickstart
    🪟 Windows ARM64 (Compute)Snapdragon X · X EliteCLI · Python · Local server
    🤖 Android (Mobile)Snapdragon 8 Elite · 8 Elite Gen 5Android SDK
    🐧 Linux ARM64 (IoT)Dragonwing QCS9075CLI · Docker · Python

    No device on hand? Spin up a remote session on Qualcomm Device Cloud.


    Quickstart

    Pick your interface below. Each one follows the same three steps: Install, Run, and Docs. The examples show both runtimes: a GGUF model from Hugging Face, ModelScope, or Docker Hub (llama_cpp) and a pre-compiled bundle from Qualcomm AI Hub (qairt, NPU).

    CLI

    Windows ARM64 Linux ARM64

    Install

    • Windows ARM64 — download the installer, run it, then open a new terminal.
    • Linux ARM64 — one line, no sudo:
      curl -fsSL https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-geniex/install.sh | sh
      

    Run — chat with any model in one line (drag in an image for VLMs):

    # GGUF from Hugging Face → llama.cpp (NPU / GPU / CPU)
    geniex infer google/gemma-4-E4B-it-qat-q4_0-gguf
    
    # GGUF from ModelScope → llama.cpp (NPU / GPU / CPU)
    geniex infer https://modelscope.cn/models/Qwen/Qwen3-0.6B-GGUF
    
    # Pre-compiled bundle from Qualcomm AI Hub → Qualcomm AI Engine Direct (NPU)
    geniex infer ai-hub-models/Qwen2.5-VL-7B-Instruct
    
    # GGUF from Docker Hub (https://hub.docker.com/u/ai) → llama.cpp (NPU / GPU / CPU)
    geniex infer docker.io/ai/gemma3
    

    📖 Docs — Install · Quickstart · Command reference

    Python

    Windows ARM64 Linux ARM64

    Install

    pip install geniex
    

    Run — mirrors Hugging Face transformers (from_pretrained() → .generate()):

    # GGUF from Hugging Face → llama.cpp
    from geniex import AutoModelForCausalLM
    
    model = AutoModelForCausalLM.from_pretrained("unsloth/Qwen3.5-2B-GGUF", precision="Q4_0")
    
    messages = [{"role": "user", "content": "What is 2+2?"}]
    prompt = model.tokenizer.apply_chat_template(messages, add_generation_prompt=True)
    
    for chunk in model.generate(prompt, max_new_tokens=256, stream=True):
        print(chunk, end="", flush=True)
    
    model.close()
    
    # Pre-compiled bundle from Qualcomm AI Hub → Qualcomm AI Engine Direct (NPU)
    from geniex import AutoModelForCausalLM
    
    model = AutoModelForCausalLM.from_pretrained("ai-hub-models/Qwen3-4B")
    
    messages = [{"role": "user", "content": "What is 2+2?"}]
    prompt = model.tokenizer.apply_chat_template(messages, add_generation_prompt=True)
    
    for chunk in model.generate(prompt, max_new_tokens=256, stream=True):
        print(chunk, end="", flush=True)
    
    model.close()
    

    📖 Docs — Install · Quickstart · API reference

    OpenAI-compatible server

    Windows ARM64 Linux ARM64

    Install — ships with the CLI (install above).

    Run — pull any model (GGUF or Qualcomm AI Hub bundle), then serve an OpenAI-compatible API:

    geniex pull ai-hub-models/Qwen3-4B-Instruct-2507
    geniex serve   # serves http://127.0.0.1:18181/v1
    
    curl http://127.0.0.1:18181/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "ai-hub-models/Qwen3-4B-Instruct-2507",
        "messages": [{"role": "user", "content": "Hello!"}]
      }'
    

    Point any OpenAI client at http://127.0.0.1:18181/v1 — no code changes.

    📖 Docs — Local server guide

    Android (Kotlin / Java)

    Android

    Install — add the SDK to your app module's build.gradle.kts:

    dependencies {
        implementation("com.qualcomm.qti:geniex-android:0.10.0")
    }
    

    Run — fastest path is the sample app (chat UI, model picker for GGUF + Qualcomm AI Hub bundles, VLM support):

    The Android demo app lives in qualcomm/ai-hub-apps. Clone it, open the sample app in Android Studio, and hit Run.

    📖 Docs — Install · Quickstart · API reference

    Docker

    Linux ARM64

    Install

    docker pull docker.io/qualcomm/geniex:latest
    

    Run — the container wraps the CLI, so geniex infer … works exactly as above.

    📖 Docs — Docker guide

    C / C++ SDK

    Windows ARM64 Linux ARM64 Android

    Install — link against the single C header sdk/include/geniex.h; every other interface is a thin wrapper over it.

    📖 Docs — sdk/README.md · notes/build.md


    Models

    GenieX has two runtimes so you get broad model coverage and peak Snapdragon performance in one stack. Both LLMs and VLMs are supported.

    llama.cpp (llama_cpp)Qualcomm AI Engine Direct (qairt)
    Get models fromHugging Face, ModelScope, or Docker HubQualcomm AI Hub (pre-compiled)
    FormatGGUFPer-chipset bundle
    Compute unitsNPU · GPU · CPUNPU only
    Best forBringing your own GGUFHighest NPU performance

    Run geniex model list to browse every Qualcomm AI Hub bundle currently available for your chipset. Use geniex model list --all to include all chipsets. The catalogue changes independently of GenieX, so the CLI provides a more current list than a static table in this README.

    The qairt runtime uses the QAIRT libraries bundled with GenieX by default. Advanced users can select another compatible installation with --qairt-lib or GENIEX_QAIRT_LIB. See QAIRT runtime selection for details.

    See GenieX releases for new model families, runtime features, fixes, and complete changelogs.

    For llama.cpp, pick the Q4_0 precision when prompted — it has the best Hexagon NPU support. See the Models guide → for the full list, precisions, and how to run a local model.

    🤝 Contributing

    Contributions are welcome! Before opening a PR, please read CONTRIBUTING.md for branch naming, commit / PR title format, pre-commit checks, and the FFI-update rule for public SDK headers.

    🏗️ Build the CLI, SDK, or Python bindingsnotes/build.md
    ▶️ Run & select compute units / pull modelsnotes/run.md
    🏷️ Release — SemVer tags, channels, HTP signingnotes/release.md
    📚 All developer docsdocs/README.md

    💬 Community & Contact

    Questions, ideas, or want to show off what you built? Come say hi.

    • 💬 Slack — ask questions and chat with the community in real time.
    • 🐛 GitHub Issues — report a bug or request a feature.
    • 🔗 LinkedIn — follow Qualcomm AI Hub for news and updates.

    Contributors

    Thanks to everyone building GenieX 💙


    📑 Citation

    If you use GenieX in your research or product work, please cite it:

    @software{qualcomm_geniex,
        title = {GenieX},
        url = {https://github.com/qualcomm/GenieX},
        publisher = {Qualcomm AI Hub},
        author = {Chen, Wei and Li, Zhiyuan and Zhu, Lingyue and Chen, Hongzhi and
                  Wu, Mengsheng and Qian, Yichen and Zhu, Zhenxuan and
                  Cheng, Zhiyuan and Zhang, Dengchuan and Li, Yin and
                  Dong, Likuan and Cao, Wenwen},
        year = {2026},
    }
    

    * Wei Chen and Zhiyuan Li contributed equally to this work.

    📄 License

    BSD 3-Clause — see LICENSE and NOTICE.

    Use of this project is also subject to Qualcomm's Terms of Use.