免费 AI Token 导航 Free Token Navigation

llama.cpp 与 vLLM 自建推理免费开源,显存需求与部署指南

自建推理
本地部署 生效中

免费额度

开源,CPU / GPU 通吃;vLLM 适合高并发批量推理

注意事项

要榨性能或做服务化部署时的选择。硬件参考:8B-Q4 约需 6–8GB 显存,14B-Q4 约 10–12GB,32B-Q4 约 20–24GB。

教程

llama.cpp 与 vLLM 都属于开源自建推理方案,没有“注册领额度”这一步,你能用的“额度”就是本机的显存和内存。整体流程是:从开源仓库拿到代码,装好运行环境,再把模型权重下载到本地。

  1. 进入官方仓库:如果要在 CPU 或小显存环境运行,访问 llama.cpp 的 GitHub 仓库 https://github.com/ggml-org/llama.cpp;如果要面向 GPU 高并发做服务化,访问 vLLM 仓库 https://github.com/vllm-project/vllm。两者都直接在 GitHub 页面浏览,不需要填表申请。
  2. 账号与身份验证:不需要注册平台账号,也不需要实名认证或绑定银行卡。代码按开源许可发布,本地运行不产生按次计费。只有从部分模型托管站下载权重时可能需要登录,按其页面提示操作即可。
  3. 核对硬件底线:量化后 8B 模型约需 6–8GB 显存(纯 CPU 时看内存),14B 约 10–12GB,32B 约 20–24GB。vLLM 主要面向 NVIDIA GPU,还要预留显存给 KV 缓存,实际可用的上下文长度以启动日志为准。
  4. 安装运行环境:vLLM 用 pip 一条命令安装;llama.cpp 建议源码编译并打开对应 GPU 后端。
    pip install vllm
    git clone https://github.com/ggml-org/llama.cpp
    cd llama.cpp
    cmake -B build -DGGML_CUDA=ON
    cmake --build build --config Release -j
  5. 准备模型权重并启动:llama.cpp 使用 GGUF 量化文件,按上面显存参考选择 Q4_K_M 等档位;vLLM 直接读取 Hugging Face 格式的模型目录。模型路径要和启动命令里的写法完全一致,否则会提示找不到文件。
    ./build/bin/llama-server -m ./models/qwen2.5-7b-instruct-q4_k_m.gguf --port 8080 -c 8192 -ngl 99
  6. 验证与常见坑:启动后先用浏览器或 curl 访问本地接口,确认模型已加载。显存不足会在启动阶段直接失败,或在推理中途超出显存;CUDA 版本与驱动不匹配会报找不到可用设备;量化档位选得过大,同样会启动失败。开源自建没有“额度到期”概念,限制只来自硬件与并发数,具体可用上下文与显存占用以控制台或启动日志实际显示为准。

llama.cpp 的 llama-server 与 vLLM 都提供 OpenAI 兼容接口,因此任何支持自定义 base_url 的 SDK 都能直接接入。base_url 形态为 http://127.0.0.1:8000/v1(vLLM 默认端口 8000)或 http://127.0.0.1:8080/v1(llama.cpp 默认端口 8080),api_key 填任意非空字符串即可,例如 EMPTY。

先启动服务

vLLM 启动时可以用 --served-model-name 给模型起一个简短的对外名称,同时用 --max-model-len 限制上下文长度:

vllm serve Qwen/Qwen2.5-7B-Instruct --served-model-name qwen2.5-7b --max-model-len 8192 --gpu-memory-utilization 0.9

模型名有两种获取方式:vLLM 用启动参数指定,或直接写权重路径;llama.cpp 请求 GET /v1/models 就能看到当前加载的模型标识。请求体里的 model 字段必须与之完全一致。

一次对话补全调用

下面是 curl 示例。关键参数:model 必填且要与服务端一致;messages 是角色数组,常用 system、user、assistant 三种角色;temperature 控制随机性;top_p 做概率截断;max_tokens 是本次生成的 token 上限,与输入长度之和不能超过服务端的上下文上限;stream 设为 true 时按 SSE 分块返回。

curl http://127.0.0.1:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5-7b",
    "messages": [
      {"role": "system", "content": "你是一个简洁的助手"},
      {"role": "user", "content": "用一句话解释模型量化"}
    ],
    "temperature": 0.7,
    "top_p": 0.9,
    "max_tokens": 256,
    "stream": false
  }'

Python 侧把官方 SDK 的 base_url 指向本地地址即可,无需改动其他调用代码:

from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:8000/v1", api_key="EMPTY")

resp = client.chat.completions.create(
    model="qwen2.5-7b",
    messages=[{"role": "user", "content": "你好,介绍一下你自己"}],
    temperature=0.7,
    max_tokens=256,
)

print(resp.choices[0].message.content)

限流与“额度”打满的典型表现

自建推理没有账户额度,所谓的额度耗尽,通常表现为显存被占满或并发达到上限。常见现象与排查顺序如下:

  • 连接被拒绝:服务没启动或端口写错,先确认进程是否存活,再核对 base_url 端口与防火墙设置。
  • 401 或 403:api_key 传了空值,补一个非空字符串即可。
  • 404 且提示模型不存在:model 字段与服务端加载的名字不一致,先调 GET /v1/models 对照。
  • 400 提示上下文超长:输入加上 max_tokens 超过了服务端上限,缩短输入或调小生成长度。
  • 启动即失败并报显存不足:降低 --gpu-memory-utilization,或换更小的量化档位,或减小 --max-model-len。
  • 429 或请求长时间排队:vLLM 并发达到上限,可降低客户端并发或调大 --max-num-seqs;llama.cpp 单机吞吐有限,建议在前面加一层请求队列。

推荐排查顺序:先用短请求请求本地接口确认服务存活,再看模型列表核对名称,然后发一条最简对话验证链路,最后逐步加大并发与上下文长度,从而区分是参数配置问题还是硬件瓶颈。

这个还能用吗?点一下告诉我们

只能从下方固定选项中选择,无法自由输入,避免垃圾信息与安全隐患。

标签

开源需硬件

官方入口

GitHub ↗

留言区 0

真实访客可自由留言,提交后先经内容安全审核(本地 + 可选远程 API)再展示;违规内容会被拦截,不会出现在此处。示例留言均带「示例」标识,不冒充真实用户。

  • 还没有留言,来抢沙发~(示例留言已标注「示例」字样,非真实用户)
录入:2026-10-26 · 最近更新:2026-10-26 · 分类:本地部署 · 真正的无限免费