ctransformers

在 Python 里直接跑 GGML 量化模型,本地推理又快又省资源。

ctransformers 是一个 Python 绑定库,它封装了基于 GGML 库的 C/C++ Transformer 模型实现,让 Python 开发者能够轻松加载和运行 GGML 格式的量化模型(如 GPT、LLaMA、Mistral 等)。它解决了 Python 生态中直接调用 GGML 模型困难的问题,提供了统一的 API 进行文本生成、嵌入计算等操作,并支持 GPU 加速和多种量化方案。核心能力包括:模型加载与推理、流式生成、上下文窗口控制、以及兼容 OpenAI 风格的接口。通过它,用户可以在本地高效运行大语言模型,无需依赖 PyTorch 或 TensorFlow 等重型框架,特别适合资源受限的环境和快速原型开发。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1889
维护状态 低维护
是否开源
定价模式 free

项目数据

分类开源模型
开发团队marella
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源
开源协议MIT
主要语言C
技术栈/模型ai,ctransformers,llm,transformers
GitHub 星标★ 1889
30天Star增速
HF 下载量
上线时间2023-05-14 00:00:00
最近更新2026-09-16 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 环境(需可执行 pip 命令)
  • 已准备好 GGML 格式的模型文件(.bin 或 .gguf)
  • 如需 GPU 加速:CUDA(NVIDIA)或 Metal(Apple)环境,且模型类型受支持

安装与启动步骤

  1. 1安装 ctransformers

    用 pip 从 PyPI 安装该库,它是 GGML 的 Python 绑定,无需安装 PyTorch 等重型框架。

    pip install ctransformers
  2. 2准备 GGML 模型

    从 Hugging Face 等渠道获取 GGML 格式的模型文件(.bin 或 .gguf),记下它的本地绝对路径。

  3. 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. 4开启流式输出

    调用时传入 stream=True,返回可迭代对象,配合 print(..., end="", flush=True) 逐字输出。

    for text in llm("AI is going to", stream=True):
        print(text, end="", flush=True)
  5. 5直接从 Hub 加载

    from_pretrained 可直接传 Hugging Face 仓库名,库会自动拉取该仓库中的 GGML 模型文件。

    llm = AutoModelForCausalLM.from_pretrained("marella/gpt-2-ggml")
  6. 6指定模型文件

    若仓库内有多个 .bin 或 .gguf 文件,用 model_file 参数明确指定要加载的那个文件。

    llm = AutoModelForCausalLM.from_pretrained("marella/gpt-2-ggml", model_file="ggml-model.bin")

关键配置

配置项必填说明示例
model_type指定模型类型,必须与模型匹配,如 gpt2、llama、gptjgpt2
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

项目介绍

ctransformers 是基础设施领域的开源项目,由 marella 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(1,889)位列前 30%,在基础设施分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-16。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:在本地或边缘设备上运行量化LLM做文本生成。同类可对比的替代方案包括 llama-cpp-python、ctranslate2、transformers。

上一篇:picolm

下一篇:nndeploy

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09