测试软硬件信息
| 处理器 | 内存 | 显卡 | 存储 | 网络 | 系统 | |
|---|---|---|---|---|---|---|
| 类型 | E5-2965v4 | DDR4 ECC | RTX 5060 | M.2 | AQC113C | linux |
| 规格 | 48核 | 48G | 8G | 200G | 万兆 | rocky9.8 |
- 配置环境
# 安装基础开发工具和 CMake以及CUDA工具包、pip
sudo dnf groupinstall "Development Tools" -y
sudo dnf install cmake git wget cuda-toolkit python3-pip -y
# 把 CUDA 的路径加到系统的环境变量中
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
# 让配置立刻生效
source ~/.bashrc
# 验证 CUDA 编译器是否可用
nvcc --version
- 获取 llama.cpp 源码
设置临时网络代理
```bash export http_proxy="http://IP:port" export https_proxy="http://IP:port" ```# 克隆仓库并拉取子模块
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
git submodule update --init --recursive
- 编译 llama.cpp(开启 GPU 加速),编译完成后,可执行文件会生成在 build/bin/ 目录下。
# 创建 build 目录并进入
mkdir build && cd build
# 配置 CMake,开启 CUDA 加速
cmake .. -DGGML_CUDA=ON
# 开始编译(-j 后面的数字代表使用的 CPU 线程数,根据实际调整)
cmake --build . --config Release -j 48
- 下载gguf格式的量化模型,国内推荐ModelScope(魔搭)平台
# 安装 ModelScope 工具
pip install modelscope
# 切换到models目录并新建对应模型目录
cd ~/llama.cpp/models/ && mkdir downloads
# 根据显存大小选择合适的量化模型下载
modelscope download --model diodel/Qwen3.5-4B-Q4_K_M-GGUF --local_dir ./downloads
- 启动服务与核心参数配置
# -m指定模型路径,-ngl表示把模型的前多少层放到GPU显存里,-c表示上下文窗口大小
~/llama.cpp/build/bin/llama-server \
-m ~/llama.cpp/models/downloads/qwen3-5-4B-Q4_K_M.gguf \
--host 0.0.0.0 --port 8080 \
-ngl 99 \
-c 4096
- 测试与调用
# 新开一个终端窗口,用 curl 测试 API 是否正常工作
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama-server",
"messages": [
{"role": "user", "content": "你好,请介绍一下你自己"}
]
}'
局域网内其他主机浏览器测试http://虚拟机IP:8080
防火墙放开8080端口
```bash # 永久放行 8080 端口 sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent # 重新加载防火墙使配置生效 sudo firewall-cmd --reload ```- 设置开机自动加载模型
# 创建并编辑一个服务文件
sudo vi /etc/systemd/system/llama-server.service
# 将以下内容复制进去,注意/home/mysen替换为实际模型路径
[Unit]
Description=llama.cpp server
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/mysen/llama.cpp/build
ExecStart=/home/mysen/llama.cpp/build/bin/llama-server --models-dir /home/mysen/llama.cpp/models/downloads --models-max 3 --host 0.0.0.0 --port 8080 -c 8192
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
# 依次执行以下命令激活服务
sudo systemctl daemon-reload # 重新加载配置
sudo systemctl enable llama-server # 设置开机自启
sudo systemctl start llama-server # 立即启动服务
sudo systemctl restart llama-server # 立即重启服务
sudo systemctl status llama-server # 查看服务状态

