
gemma.cpp
纯 C++ 本地跑 Gemma,无需 Python 依赖
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-11-08 · 当前星标 ★ 7080
使用教程
⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- 可编译 C++ 项目的本地开发环境(README 节选未给出具体构建命令)
- 从 Kaggle 下载的 Gemma 压缩权重文件(如 gemma2-2b-it-sfp.sbs)
- 配套的 tokenizer.spm 文件(2025-05-06 之后生成的单格式权重文件可省略)
- 不需要 Python 运行时或重型深度学习框架
安装与启动步骤
-
1下载模型权重
从 Kaggle 的 Gemma 模型页面下载 gemma.cpp 专用权重文件与分词器文件,记住保存路径。
-
2编译生成可执行文件
按 README Quick Start 的编译步骤在项目内构建,产物为 build 目录下的 gemma 可执行程序。
-
3进入 build 目录
运行程序前先切换到 build 目录,权重和分词器文件也可放在此处以便使用相对路径。
cd build -
4带参数启动推理
必需参数为 --weights 与 --tokenizer;指定权重与分词器文件后启动交互式终端界面。
./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs -
5按回车触发生成
所有用法模式都是交互式的,输入文本后按换行才会开始生成回复内容。
-
6设为命令行工具
用 alias 固化参数并配合 --verbosity 0,只输出生成结果,适合作为 CLI 工具调用。
alias gemma2b="~/gemma.cpp/build/gemma --tokenizer ~/gemma.cpp/build/tokenizer.spm --weights ~/gemma.cpp/build/gemma2-2b-it-sfp.sbs --verbosity 0" -
7管道输入示例
可把文件内容截断后通过管道作为提示词传入,注意上下文长度限制。
cat configs.h | tail -n 35 | tr '\n' ' ' | xargs -0 echo "What does this C++ code do: " | gemma2b
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--weights | 是 | 指定压缩后的模型权重文件名 | gemma2-2b-it-sfp.sbs |
--tokenizer | 是 | 指定分词器文件;单格式权重文件可省略 | tokenizer.spm |
--verbosity | 否 | 控制输出详细程度:0 最简、1 默认、2 调试信息 | 0 |
如何确认成功
在 build 目录执行 ./gemma 并输入一段文本回车,终端能输出生成的回答即表示启动成功。
常见问题
Q:运行时提示找不到 tokenizer.spm 怎么办?
A:确认分词器文件已下载且路径与 --tokenizer 参数一致;若使用 2025-05-06 之后生成的单格式权重文件,可省略该参数。
Q:输入内容后没有反应?
A:所有用法模式都是交互式的,必须以换行结束输入才会触发文本生成。
Q:如何只输出生成结果?
A:加上 --verbosity 0 进入最简模式,再配合 alias 固定参数即可当作命令行工具使用。
Q:想看更多调试信息?
A:使用 --verbosity 2,会额外打印开发者与调试相关信息。
注意事项
- README 节选未包含完整编译步骤,构建命令请以项目 Quick Start 中 Step 1–3 的实际内容为准,不要凭猜测执行。
- 命令行工具用法目前属于实验性质,需自行考虑上下文长度限制。
- 权重文件需从 Kaggle 获取,下载与登录流程请遵循模型页面的官方说明。
核心亮点
- 纯 C++ 实现,编译即用,不依赖 Python 或 PyTorch 等重型框架
- 支持权重量化,显著降低内存占用,可在普通 CPU 上运行
- 代码结构清晰、注释充分,适合学习 LLM 推理引擎内部实现
不足之处
- 仅支持 Gemma 系列模型,通用性和生态扩展有限
- CPU 推理速度较慢,缺少 GPU 加速与批处理优化
- 文档和社区规模相对较小,问题排查资料待积累
适用场景
- 在无 GPU 的笔记本或服务器上本地运行 Gemma 模型做原型验证
- 将 Gemma 推理能力嵌入 C++ 桌面应用或嵌入式程序
- 学习大语言模型推理流程与量化实现的工程实践
替代项目
llama.cpp、mlx、ollama
同类项目推荐
fastembed-go
开源
在 Go 里直接生成文本向量,告别 Python 依赖
Go implementation of @qdrant/fastembed.
meridian
开源
把 Claude Max 订阅用到所有 AI 编程工具里,省心省钱
Use Claude and Antigravity with Pi, OpenCode and other coding clients. Local API bri···
instill-core
开源
拖拽搭建 AI 流水线,从数据到模型一键编排
Instill Core is a full-stack AI infrastructure tool for data, model and pipeline orc···
ADI-Stable-Diffusion
开源
用 C++ 和 ONNXRuntime 让 Stable Diffusion 推理飞起来
Accelerate your Stable Diffusion inference with the library's universal C/C++ framew···
Portainer 容器管理面板
开源
Docker 可视化管理面板
Making Docker and Kubernetes management easy.
queryflux
开源
一个入口智能分发 SQL 到多个查询引擎
Multi-engine and Agentic AI SQL query router in Rust for all data platforms and lake···
ray
开源
把 Python 代码一键变成分布式,搞定大规模 AI 训练和部署
Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of···
oomstore
开源
用 Go/Rust 打造的高速特征仓库,让特征上线快如闪电
Lightweight and Fast Feature Store Powered by Go (and Rust).
llm-graph-builder
开源
上传文档,一键用LLM自动生成知识图谱
Neo4j graph construction from unstructured data using LLMs