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 是纯 C/C 的推理引擎Docker 部署方式就是拉官方镜像、挂模型目录。总共 3 条命令3 分钟拿到一个 8080 端口上的 OpenAI 兼容推理服务现有客户端改个 base_url 就能直连。先看最终形态服务起来后是什么状态跑通后就是三件事容器常驻、/health返回ok、OpenAI 兼容接口有响应。终态长这样验证健康检查正常输出是{status: ok}再打一发 OpenAI 兼容请求示例直接抄自 tools/server/README.mdcurl http://localhost:8080/v1/chat/completions \ -H Content-Type: application/json \ -d {model:7B,messages:[{role:user,content:你好}],max_tokens:64}返回是标准 chat completions JSON带choices[0].message.content。你现有的 OpenAI SDK 程序把base_url指向http://服务器IP:8080/v1即可api_key填任意非空值默认没开鉴权。三条命令跑通 llama.cpp Docker镜像到服务主线走纯 CPU 版server镜像先把模型 → 容器 → API链路验证通GPU 后面再换 tag。第一条命令在宿主机建一个模型目录把你的 GGUF 文件放进去。下面以仓库示例用的模型文件名为准容器内统一从/models/访问。mkdir -p ~/llama-docker/models # 把 GGUF 放到 ~/llama-docker/models/7B/ggml-model-q4_0.gguf第二条命令一条拉起服务。镜像:server只含llama-server端口 8080 映射出去容器内路径/models指向宿主机目录。docker run -d --name llama-server \ -p 8080:8080 \ -v ~/llama-docker/models:/models \ ghcr.io/ggml-org/llama.cpp:server \ -m /models/7B/ggml-model-q4_0.gguf \ --host 0.0.0.0 --port 8080 -c 4096第三条命令验证服务就绪。模型加载完成前会返回 503 和{error: {message: Loading model, ...}}等它变成下面这样才算通 ✅curl -s http://localhost:8080/health # 正常输出{status: ok}手里没有 GGUF 的话换:full镜像可以用一条--all-in-one命令直接下载并转换量化命令见 docs/docker.md。选型对照什么硬件配什么镜像 tag官方镜像按功能 × 加速后端打 tag完整清单在 docs/docker.md常用组合就下面几行。所有 tag 都以ghcr.io/ggml-org/llama.cpp:开头表中只写后缀。你的情况选哪个 tag宿主机还要额外准备什么只有 CPU:server什么都不用NVIDIA 显卡:server-cudaCUDA 12或:server-cuda13CUDA 13装好 nvidia-container-toolkit运行时加--gpus allAMD 显卡:server-rocmROCm 驱动与运行时显卡没装专用驱动、想通用:server-vulkan支持 amd64/arm64无还要做模型下载/转换/量化:full或:full-cuda同对应推理 tag 拿不准就先跑:server链路通了再把 tag 换成 GPU 版本-m和端口参数原样保留。注意官方文档明确写了GPU 镜像没有 CI 测试保证只是能构建通过。关键参数与建议起步值最影响速度的 5 个参数全部是llama-server原生参数逐项说明见 tools/server/README.md。参数作用建议起步值--n-gpu-layers放进显存的层数可填具体数字、auto或all仅 GPU 镜像生效99仓库 CUDA 示例值OOM 就降到 20~40-c上下文长度决定能记得多长的对话默认 0 表示按模型自带值4096长文需求再翻倍-b提示词处理的最大批大小默认 2048保持默认2048-tCPU 线程数默认 -1 表示自动设成物理核心数--flash-attn注意力优化on/off/auto默认autoon长上下文收益明显方法一句话先全部按起步值跑通之后一次只改一个参数、对比 tokens/s不要背参数表。两个可选开关需要再加--api-key key开启鉴权请求必须带Authorization: Bearer key/health除外--metrics开启 Prometheus 格式的GET /metrics端点可被监控直接抓取。⚠️ 开了--api-key之后所有业务端点都不带头就 401别只给部分客户端加。常见问题快修最高频的 5 个坑现象大概率原因处理动作8080 连不上容器启动即退出或宿主机端口被占docker logs llama-server看退出原因端口冲突改-p 8081:8080报打不开模型文件-m路径与挂载点没对上确认-m以/models/开头且文件真在宿主机~/llama-docker/models/里/health一直返回 503Loading model模型还没加载完大模型要几分钟等 1~2 分钟重试超过 10 分钟查日志是否有报错GPU 镜像却跑在 CPU 上缺 nvidia-container-toolkit或漏了--gpus all装好 toolkit 后重启 Docker命令补--gpus all --n-gpu-layers 99重跑加了密钥后请求 401客户端没带鉴权头补-H Authorization: Bearer 你的key拿不准先跑这条比翻文档快docker logs --tail 100 llama-server边界说明这套方案能扛多大能干单机私有部署 1B 到几十 B 量级的量化模型7B 的 q4_0 是典型起点。环境全锁在镜像里机器迁移只要带走模型目录重建一条命令就恢复。不能干公开高并发。llama-server本质是单进程服务横向扩容的正路是跑多个容器实例、前面挂一层 Nginx 或负载均衡而不是往单容器塞更多请求。另外 GPU 镜像官方不承诺 CI 级稳定性生产上建议先用 CPU 镜像定版流程再切 GPU tag 做对比。继续深入镜像全清单与 CUDA/ROCm/Vulkan 构建细节看 docs/docker.md全部 HTTP 端点/completion、/v1/chat/completions、/slots、/metrics等和参数逐项说明看 tools/server/README.md推理引擎核心代码在 src/ 目录。【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →