ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

llama.cpp Docker 部署:3 条命令起推理服务

2026/9/16 21:58:52 拓冰建站 浏览量
llama.cpp Docker 部署:3 条命令起推理服务 llama.cpp Docker 部署3 条命令起推理服务【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp一台装好 Docker 的 Linux 机器、一个 GGUF 量化模型llama.cpp 就能变成容器化推理服务——官方镜像、模型挂载、端口暴露三步闭环不用碰编译环境。拉通链路先用 CPU 镜像验证部署别急着碰 GPU先证明模型 → 容器 → API这条链路是通的。把 GGUF 文件放进~/llama-docker/models/然后起容器mkdir -p ~/llama-docker/models docker run -d --name llama-min -p 8080:8080 \ -v ~/llama-docker/models:/models \ ghcr.io/ggml-org/llama.cpp:server \ -m /models/llama-3.1-8b-instruct-q4_k_m.gguf \ --host 0.0.0.0 --port 8080 -c 4096链路验证就一条curl -s http://localhost:8080/health返回ok即就绪没有返回就先docker logs --tail 50 llama-min看报错。没有现成 GGUF拉一个模型仓库的量化版即可不阻塞部署。对号入座llama.cpp Docker 镜像怎么选镜像 tag 按功能 × 后端组合按你的硬件对号入座硬件镜像 tag宿主机要求只有 CPUghcr.io/ggml-org/llama.cpp:server无NVIDIAghcr.io/ggml-org/llama.cpp:server-cudanvidia-container-toolkit运行时加--gpus allAMDghcr.io/ggml-org/llama.cpp:server-rocmROCm 驱动与运行时没装专用驱动ghcr.io/ggml-org/llama.cpp:server-vulkan无通吃多数显卡拿不准就先跑server链路通了换 GPU 后缀版本其余参数原样保留。频繁需要转换权重时把 tag 换成full-cuda推理和转换工具链一次拿齐。拧参数llama.cpp 推理服务的 5 个旋钮速度体感基本由这几个 llama-server 原生参数决定其余先不碰。参数起步值何时该动它--n-gpu-layers99尽量全放显存OOM 就降到 20~40-c4096对话被截断才翻倍显存随之上涨-t等于物理核心数换机器时同步改-b512提示词处理慢再调大--flash-attnon长上下文收益明显全部按起步值跑通后一次只改一个参数、对比生成速度比背参数表有效得多。落地编排docker compose 一步到位这份 compose 同时替你做五件事GPU 预留、模型挂载、/health健康检查、API 密钥鉴权、指标端点。services: llama-inference: image: ghcr.io/ggml-org/llama.cpp:server-cuda container_name: llama-inference restart: unless-stopped ports: - 8080:8080 volumes: - ./models:/models environment: - LLAMA_ARG_API_KEYchange-me-32chars - LLAMA_ARG_ENDPOINT_METRICS1 command: - -m - /models/llama-3.1-8b-instruct-q4_k_m.gguf - --host - 0.0.0.0 - --port - 8080 - -c - 4096 - --n-gpu-layers - 99 - --flash-attn - on deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] healthcheck: test: [CMD, curl, -f, http://localhost:8080/health] interval: 30s timeout: 10s retries: 3改模型名和密钥后docker compose up -d即可。/metrics是 Prometheus 格式metrics_path指过去就能抓。⚠️ 纯 CPU 部署删掉deploy段镜像换回server。接入 llama.cpp 推理服务llama.cpp 的 HTTP API 兼容 OpenAI 协议现有 SDK 程序只改 base_url 就能切过来curl http://localhost:8080/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer change-me-32chars \ -d {model:llama-3.1-8b-instruct,messages:[{role:user,content:你好}],max_tokens:128}返回choices[0].message.content就是补全内容。想省一层 HTTP用原生流式补全-N让 token 实时刷出curl -N http://localhost:8080/completion \ -H Authorization: Bearer change-me-32chars \ -H Content-Type: application/json \ -d {prompt:用一句话解释容器化:,stream:true,n_predict:64}启用了密钥的话所有非公开端点都要带Authorization头/health例外。排查故障从现象到一条命令现象最可能原因一条命令8080 连不上容器启动即退出docker logs --tail 100 llama-inference日志报找不到模型-m路径与挂载点没对上docker compose exec llama-inference ls /models进程被 OOM 杀掉-c或层数撑爆显存复用第 4 节 compose-c减半再docker compose up -dGPU 镜像却跑在 CPU漏了--gpus all或 toolkitdocker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi请求返回 401没带鉴权头复用第 5 节 curl确认带上了Authorization头划清边界这套方案能撑单机 1B~几十 B 的量化模型与中小并发llama-server 本质是单进程服务公开高并发别硬套横向扩容的正路是多实例加一层负载均衡。机器迁移时只需带走models/目录。想深入读仓库里的docs/docker.md镜像清单最全和tools/server/README.md全部端点与参数。【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考