README_zh-CN.md
English · 简体中文
</div>GenieX 是一款面向高通设备的端侧生成式 AI 推理运行时。你几乎可以引入任意来自 Hugging Face 的 GGUF 模型——或来自 Qualcomm AI Hub 的预编译模型包——只需几行代码即可在 Hexagon NPU、Adreno GPU 或 CPU 上本地运行。底层是同一套 C SDK,并通过 CLI、Python、Kotlin/Java、Docker 以及一个 OpenAI 兼容服务器交互。它是 Qualcomm GENIE 的社区版本。
<div align="center"> </div>GenieX 仅在高通骁龙(Qualcomm Snapdragon)上运行。找到你的平台,然后直接跳转到你想使用的接口。
| 平台 | 示例设备 | 跳转到快速入门 |
|---|---|---|
| 🪟 Windows ARM64 (计算) | 骁龙 X · X Elite | CLI · Python · 本地服务器 |
| 🤖 Android (移动) | 骁龙 8 至尊版 · 8 至尊版 Gen 5 | Android SDK |
| 🐧 Linux ARM64 (物联网) | Dragonwing QCS9075 | CLI · Docker · Python |
手边没有设备?在 Qualcomm Device Cloud 上开启一个远程会话。
从下方选择你的接口。每个接口都遵循相同的三个步骤——安装(Install)、运行(Run) 和 文档(Docs)——并同时展示两种运行时:来自 Hugging Face 的 GGUF 模型(llama_cpp)和来自 Qualcomm AI Hub 的预编译模型包(qairt,NPU)。
安装
sudo:
curl -fsSL https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-geniex/install.sh | sh
运行 —— 一行命令即可与任意模型对话(对于 VLM,拖入一张图片即可):
# 来自 Hugging Face 的 GGUF → llama.cpp(NPU / GPU / CPU)
geniex infer google/gemma-4-E4B-it-qat-q4_0-gguf
# 来自 Qualcomm AI Hub 的预编译模型包 → Qualcomm AI Engine Direct(NPU)
geniex infer ai-hub-models/Qwen2.5-VL-7B-Instruct
安装
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple geniex
运行 —— 与 Hugging Face transformers 保持一致(from_pretrained() → .generate()):
# 来自 Hugging Face 的 GGUF → 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()
# 来自 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()
安装 —— 随 CLI 一同提供(见上文安装)。
运行 —— 拉取任意模型(GGUF 或 Qualcomm AI Hub 模型包),然后提供一个 OpenAI 兼容的 API:
geniex pull ai-hub-models/Qwen3-4B-Instruct-2507
geniex serve # 服务于 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!"}]
}'
将任意 OpenAI 客户端指向 http://127.0.0.1:18181/v1 即可——无需改动代码。
📖 文档 —— 本地服务器指南
安装 —— 将 SDK 添加到应用模块的 build.gradle.kts:
dependencies {
implementation("com.qualcomm.qti:geniex-android:0.3.1")
}
运行 —— 最快的上手路径是示例应用(含聊天 UI、支持 GGUF + Qualcomm AI Hub 模型包的模型选择器、VLM 支持):
Android 演示应用位于 qualcomm/ai-hub-apps。克隆它,在 Android Studio 中打开示例应用,然后点击 Run。
安装
docker pull docker.io/qualcomm/geniex:latest
运行 —— 容器封装了 CLI,因此 geniex infer … 的用法与上文完全一致。
📖 文档 —— Docker 指南
安装 —— 链接单一的 C 头文件 sdk/include/geniex.h;其他所有接口都只是它之上的一层薄封装。
📖 文档 —— sdk/README.md · notes/build.md
GenieX 拥有两套运行时,让你在同一技术栈中既能获得广泛的模型覆盖,又能获得骁龙上的峰值性能。LLM 与 VLM 均受支持。
llama.cpp(llama_cpp) | Qualcomm AI Engine Direct(qairt) | |
|---|---|---|
| 模型来源 | Hugging Face(任意 GGUF) | Qualcomm AI Hub(预编译) |
| 格式 | GGUF | 按芯片组打包 |
| 计算单元 | NPU · GPU · CPU | 仅 NPU |
| 最适合 | 引入你自己的 GGUF | 最高的 NPU 性能 |
对于 llama.cpp,在提示时请选择
Q4_0精度——它对 Hexagon NPU 的支持最佳。完整的模型列表、精度以及如何运行本地模型,请参阅模型指南 →。
欢迎贡献!在提交 PR 之前,请阅读 CONTRIBUTING.md,了解分支命名、提交 / PR 标题格式、预提交检查,以及针对公共 SDK 头文件的 FFI 更新规则。
| 🏗️ 构建 CLI、SDK 或 Python 绑定 | notes/build.md |
| ▶️ 运行 并选择计算单元 / 拉取模型 | notes/run.md |
| 🏷️ 发布 —— SemVer 标签、渠道、HTP 签名 | notes/release.md |
| 📚 全部开发者文档 | docs/README.md |
有问题、想法,或想展示你的作品?欢迎来打个招呼。
感谢每一位共建 GenieX 的伙伴 💙
<a href="https://github.com/qualcomm/GenieX/graphs/contributors"> </a>BSD 3-Clause —— 参阅 LICENSE 与 NOTICE。
本项目的使用还须遵守高通的使用条款。