
ctransformers
在 Python 里直接跑 GGML 量化模型,本地推理又快又省资源。
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1888
技术标签
使用教程
环境要求
- Python 环境(需可执行 pip 命令)
- 已准备好 GGML 格式的模型文件(.bin 或 .gguf)
- 如需 GPU 加速:CUDA(NVIDIA)或 Metal(Apple)环境,且模型类型受支持
安装与启动步骤
-
1安装 ctransformers
用 pip 从 PyPI 安装该库,它是 GGML 的 Python 绑定,无需安装 PyTorch 等重型框架。
pip install ctransformers -
2准备 GGML 模型
从 Hugging Face 等渠道获取 GGML 格式的模型文件(.bin 或 .gguf),记下它的本地绝对路径。
-
3加载模型并推理
用 AutoModelForCausalLM.from_pretrained 加载本地模型,需指定 model_type,调用实例即可生成文本。
from ctransformers import AutoModelForCausalLM llm = AutoModelForCausalLM.from_pretrained("/path/to/ggml-model.bin", model_type="gpt2") print(llm("AI is going to")) -
4开启流式输出
调用时传入 stream=True,返回可迭代对象,配合 print(..., end="", flush=True) 逐字输出。
for text in llm("AI is going to", stream=True): print(text, end="", flush=True) -
5直接从 Hub 加载
from_pretrained 可直接传 Hugging Face 仓库名,库会自动拉取该仓库中的 GGML 模型文件。
llm = AutoModelForCausalLM.from_pretrained("marella/gpt-2-ggml") -
6指定模型文件
若仓库内有多个 .bin 或 .gguf 文件,用 model_file 参数明确指定要加载的那个文件。
llm = AutoModelForCausalLM.from_pretrained("marella/gpt-2-ggml", model_file="ggml-model.bin")
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
model_type | 是 | 指定模型类型,必须与模型匹配,如 gpt2、llama、gptj | gpt2 |
model_file | 否 | 当模型仓库含多个模型文件时,指定要加载的文件名 | ggml-model.bin |
stream | 否 | 调用模型时设为 True 可逐块流式返回生成结果 | True |
如何确认成功
运行 print(llm("AI is going to")) 后终端打印出模型续写的文本内容,即表示加载与推理成功。
常见问题
Q:支持哪些模型?
A:支持 GPT-2、GPT-J/GPT4All-J、GPT-NeoX/StableLM、Falcon、LLaMA/LLaMA 2、MPT、StarCoder、Dolly V2、Replit 等,需使用对应的 GGML 量化模型文件。
Q:如何启用 GPU 加速?
A:README 的支持模型表中标注了 CUDA/Metal 支持情况,例如 LLaMA 支持 CUDA 与 Metal,Falcon、MPT、StarCoder 支持 CUDA;具体模型以该表为准。
Q:报错找不到模型文件怎么办?
A:确认传入的是本地 GGML 文件(.bin 或 .gguf)的真实路径;若使用 Hub 仓库且含多个模型文件,请用 model_file 参数指定。
Q:必须安装 PyTorch 吗?
A:不需要。ctransformers 是 C/C++ GGML 实现的 Python 绑定,可脱离 PyTorch、TensorFlow 独立运行推理。
注意事项
- 模型必须是 GGML 格式(.bin 或 .gguf),其他格式无法加载。
- 示例中的 /path/to/ggml-model.bin 需替换为真实模型文件路径。
- CUDA/Metal 加速能力因模型类型而异,请对照 README 的支持模型表确认。
- 库还提供 LangChain、GPTQ 等用法,完整说明见项目 Documentation。
核心亮点
- 轻量级依赖,不装 PyTorch 也能跑 GGML 模型,部署简单
- 支持多种量化格式(如 q4_0、q8_0),内存占用低,适合 CPU 推理
- 提供流式生成和 OpenAI 兼容接口,方便集成到现有应用
不足之处
- 文档和示例相对较少,新手上手需要摸索
- 模型支持范围有限,主要针对 GGML 格式,新模型适配滞后
适用场景
- 在本地或边缘设备上运行量化 LLM 做文本生成
- 快速构建基于 LLM 的原型应用,避免重型框架依赖
- 需要低延迟、低内存的推理服务,如聊天机器人、代码补全
替代项目
llama-cpp-python、ctranslate2、transformers
同类项目推荐
zeptoclaw
开源
一个 Rust 二进制搞定本地 AI 助手,安全自治不泄露隐私
Fast, small, secure, local-first personal AI assistant infrastructure: one Rust bina···
LLMinator
开源
拖拽式界面,一键运行 Hugging Face 开源大模型
Gradio based tool to run opensource LLM models directly from Huggingface
afm-Server
开源
把苹果设备端模型变成本地 OpenAI API,一键调用
macOS menu bar app that exposes Apple's on-device Foundation Models as an OpenAI-com···
nyro
开源
一个网关,让所有 AI 工具无缝切换任意模型。
Self-hosted AI Gateway — connect Claude Code, Codex, Gemini CLI and any SDK to any ···
trubrics-python
开源
给AI助手装上用户行为分析仪,告别盲目调模型
Product analytics for AI Assistants
kraken
开源
自托管 CI 系统,灵活流水线,轻松掌控测试全流程。
Kraken CI is a continuous integration and testing system.
beta9
开源
让 GPU 推理快如闪电,秒级启动,按需付费
Ultrafast serverless GPU inference, sandboxes, and background jobs
mlops-project-template
开源
在Azure上快速搭建企业级MLOps流水线,省时又规范。
Azure MLOps (v2) solution accelerators. Enterprise ready templates to deploy your ma···
RedKnot
开源
长文本推理省显存提吞吐,按头复用 KV
Efficient Long-Context LLM Serving with Head-Aware KV Reuse and SegPagedAttention