跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++Node.jsAI算法

llama.cpp 本地大模型部署教程

在 Windows WSL2 环境下使用 llama.cpp 部署本地大模型的完整流程。涵盖环境准备、源码编译、模型下载(Qwen2.5 系列)、命令行交互及 API 服务启动。提供了常用参数说明、API 调用示例(curl/Python/Node.js)及常见问题解决方案,支持通过 GPU 加速推理并兼容 OpenAI API 格式。

星河入梦发布于 2026/4/6更新于 2026/7/2552 浏览
llama.cpp 本地大模型部署教程

llama.cpp 本地大模型部署教程

本教程适用于 Windows WSL2 环境

一、环境准备

1. 硬件要求
显卡推荐模型显存占用
GTX 1050 Ti (4GB)Qwen2.5-3B Q4~2.5GB
RTX 4060 (8GB)Qwen2.5-7B Q4~5GB
RTX 4090 (24GB)Qwen2.5-32B Q4~20GB
2. 安装编译工具(WSL Ubuntu)
sudo apt update && sudo apt install -y cmake build-essential

二、下载和编译 llama.cpp

1. 克隆源码
mkdir -p ~/llama.cpp
cd ~/llama.cpp
git clone --depth 1 https://github.com/ggerganov/llama.cpp.git src
2. 编译
cd ~/llama.cpp/src
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc) llama-cli llama-server

编译完成后,可执行文件在 ~/llama.cpp/src/build/bin/ 目录下。

三、下载模型

1. 创建模型目录
mkdir -p ~/llama.cpp/models
2. 下载 GGUF 模型(使用国内镜像加速)

Qwen2.5-3B(适合 4GB 显存):

curl -L -o ~/llama.cpp/models/qwen2.5-3b-instruct-q4_k_m.gguf "https://hf-mirror.com/Qwen/Qwen2.5-3B-Instruct-GGUF/resolve/main/qwen2.5-3b-instruct-q4_k_m.gguf"

Qwen2.5-7B(适合 8GB 显存):

curl -L -o ~/llama.cpp/models/qwen2.5-7b-instruct-q4_k_m.gguf "https://hf-mirror.com/Qwen/Qwen2.5-7B-Instruct-GGUF/resolve/main/qwen2.5-7b-instruct-q4_k_m.gguf"

四、运行模型

方式一:命令行交互模式
cd ~/llama.cpp/src/build/bin
./llama-cli -m ~/llama.cpp/models/qwen2.5-3b-instruct-q4_k_m.gguf \
  -c 4096 \
  --no-display-prompt

参数说明:

  • -m 模型路径
  • -c 上下文长度(默认 512,建议 4096)
  • -ngl GPU 层数(纯 CPU 可不加)
方式二:启动 API 服务
cd ~/llama.cpp/src/build/bin
./llama-server \
  -m ~/llama.cpp/models/qwen2.5-3b-instruct-q4_k_m.gguf \
  --host 0.0.0.0 \
  --port 8080 \
  -c 4096

服务启动后访问:http://localhost:8080

五、API 调用方法

API 信息
项目值
地址http://localhost:8080
API Key不需要(或随意填写)
兼容格式OpenAI API
端点列表
端点说明
POST /v1/chat/completions聊天补全
POST /v1/completions文本补全
GET /health健康检查
GET /Web 聊天界面
调用示例
curl
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{ "model": "qwen2.5-3b", "messages": [ {"role": "system", "content": "你是一个有帮助的助手。"}, {"role": "user", "content": "你好,介绍一下你自己"} ], "temperature": 0.7, "max_tokens": 512 }'
Python(OpenAI SDK)
from openai import OpenAI
client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="not-needed"
)
response = client.chat.completions.create(
    model="qwen2.5-3b",
    messages=[{"role":"system","content":"你是一个有帮助的助手。"},{"role":"user","content":"你好"}],
    temperature=0.7,
    max_tokens=512
)
print(response.choices[0].message.content)
Node.js
const response = await fetch('http://localhost:8080/v1/chat/completions', {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({model:'qwen2.5-3b',messages:[{role:'user',content:'你好'}]})
});
const data = await response.json();
console.log(data.choices[0].message.content);

六、常用参数说明

服务端参数(llama-server)
参数说明示例
-m模型路径-m model.gguf
--host监听地址--host 0.0.0.0
--port端口--port 8080
-c上下文长度-c 4096
-nglGPU 层数-ngl 99(全部放 GPU)
-np并行请求数-np 4
--api-key设置 API Key--api-key your-key
API 请求参数
参数说明默认值
temperature随机性(0-2)0.7
max_tokens最大生成长度模型上限
top_p核采样1.0
stream流式输出false
stop停止词[]

七、常见问题

Q1: 报错 'CUDA out of memory'

减少 -ngl 数值,让部分层用 CPU 计算:

./llama-server -m model.gguf -ngl 20 # 只放 20 层到 GPU
Q2: 中文乱码

PowerShell 执行:

chcp 65001
Q3: 如何后台运行服务?
nohup ./llama-server -m model.gguf --host 0.0.0.0 --port 8080 > server.log 2>&1 &
Q4: 如何设置 API Key 认证?
./llama-server -m model.gguf --api-key "your-secret-key"

调用时需要带上:

curl -H "Authorization: Bearer your-secret-key"...
Q5: 从其他设备访问
  1. 查看 WSL IP:hostname -I
  2. 使用该 IP 访问,如 http://172.x.x.x:8080

八、推荐模型

模型大小适合场景
Qwen2.5-3B-Instruct Q4~2GB轻量对话、低配设备
Qwen2.5-7B-Instruct Q4~4.5GB通用对话、代码
Qwen2.5-14B-Instruct Q4~9GB复杂推理
DeepSeek-R1-Distill-Qwen-7B Q4~4.5GB数学、逻辑推理
Mistral-7B-v0.3 Q5~5GB英文、代码

下载地址: https://hf-mirror.com(国内镜像)

九、文件结构

~/llama.cpp/
├── src/ # llama.cpp 源码
│   └── build/
│       └── bin/
│           ├── llama-cli # 命令行工具
│           └── llama-server # API 服务
└── models/ # 模型存放目录
    └── qwen2.5-3b-instruct-q4_k_m.gguf

十、快速启动脚本

创建 start-server.sh:

#!/bin/bash
cd ~/llama.cpp/src/build/bin
./llama-server \
  -m ~/llama.cpp/models/qwen2.5-3b-instruct-q4_k_m.gguf \
  --host 0.0.0.0 \
  --port 8080 \
  -c 4096 \
  -np 4

赋予执行权限:

chmod +x start-server.sh
./start-server.sh

目录

  1. llama.cpp 本地大模型部署教程
  2. 一、环境准备
  3. 1. 硬件要求
  4. 2. 安装编译工具(WSL Ubuntu)
  5. 二、下载和编译 llama.cpp
  6. 1. 克隆源码
  7. 2. 编译
  8. 三、下载模型
  9. 1. 创建模型目录
  10. 2. 下载 GGUF 模型(使用国内镜像加速)
  11. 四、运行模型
  12. 方式一:命令行交互模式
  13. 方式二:启动 API 服务
  14. 五、API 调用方法
  15. API 信息
  16. 端点列表
  17. 调用示例
  18. curl
  19. Python(OpenAI SDK)
  20. Node.js
  21. 六、常用参数说明
  22. 服务端参数(llama-server)
  23. API 请求参数
  24. 七、常见问题
  25. Q1: 报错 “CUDA out of memory”
  26. Q2: 中文乱码
  27. Q3: 如何后台运行服务?
  28. Q4: 如何设置 API Key 认证?
  29. Q5: 从其他设备访问
  30. 八、推荐模型
  31. 九、文件结构
  32. 十、快速启动脚本
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 Apache IoTDB 的跨端边云时序数据库架构与 AI 应用解析
  • 详解 UGC、PGC、PUGC、OGC、MGC、BGC 与 AIGC
  • 私有化部署实战:在单张 4090 上运行 Llama-3 并服务业务
  • gRPC 入门:基于 Java 的远程过程调用实践
  • Go 语言通过 Gokb 驱动连接 Kingbase 数据库实战
  • Cursor、Claude Code 与 Copilot:三款 AI 编程工具深度对比
  • OpenVLA 深度解析:基于 Prismatic VLM 的离散化动作预测方案
  • 前端实现视频画中画功能:主窗口与小窗同步控制
  • IPIDEA 网页抓取 API 实战:eBay 商品数据采集与 Python 接入
  • Spring Boot 消息队列与异步通信实战
  • Ubuntu 安装 Hyprland 后部分软件无法使用 fcitx5
  • Java 集成高德开放平台 WebAPI 实践:POI 搜索 2.0
  • 大型语言模型数据合成与增强技术综述
  • Python 从零构建 AI 多智能体系统:三方协作实现复杂任务
  • Rust 与 WebAssembly 实战:在浏览器与 Node.js 中运行高性能代码
  • Java 高级开发高频面试题
  • Python入门指南:什么是Python、为什么学Python、如何学习Python
  • 用 Python 生成 Node.js 项目结构的桌面工具
  • Copilot 四大模式详解:Ask、Edit、Agent 与 Plan 的区别
  • 人工智能大模型训练过程与自监督学习原理解析

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online