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

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

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

星河入梦发布于 2026/4/6更新于 2026/5/2328 浏览
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. 十、快速启动脚本
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • NLP 任务预训练模型选择与方案规范建议
  • 从零搭建可落地 AI Agent:智能体开发全流程实战
  • Windows 虚拟机 Ubuntu 24.04.4 安装 OpenClaw 指南
  • Raphael AI:基于 Flux 模型的免费图像生成工具实测
  • Java 接入 AI 大模型:技术实践与方案选型
  • RabbitMQ 高级特性:消息与队列 TTL 设置详解
  • Kafka 核心概念、架构原理与应用场景解析
  • HDFS 与 YARN 框架组件职责及对比
  • 计算机专业大学期间核心课程学习与成长指南
  • JavaScript 浮点数精度丢失与金额分摊解决方案
  • 程序员为何要尽早掌握基础知识与设计模式
  • C++ 实现 UTF-8 与 GBK 字符编码转换及源码示例
  • 数据结构:Java 版 ArrayList 与顺序表实现
  • 医疗AI中的马尔科夫链深度应用与Python实现
  • Markdown 笔记图片自动上传方案:Gitee+PicGo 搭建实战
  • Python 高效开发:uv 安装、配置与最佳实践
  • 开源声音克隆工具 OpenVoice:30 秒复刻音色与多语言控制
  • SpringBoot + Vue 家庭理财债务管理系统
  • Trae IDE 模型管理与实战指南
  • 2025 年 12 月 GESP CCF 编程能力等级认证 C++ 六级真题

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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