llama.cpp部署demo

部署配置

  • 编译:cd ~/llama.cpp;./make --build build --config Release 编译后获得 main llama-server quantize
    • CUDA加速:make LLAMA_CUDA=1
  • 量化:./llama-quantize ./models/llama-v3-8b/fp16.gguf ./models/llama-v3-8b/q4_k_m.gguf Q4_K_M
  • 单次对话:./llama-cli -m ./models/q4_k_m.gguf -p "你好,请自我介绍一下" -n 512
    • -m: 指定模型路径。
    • -p: 提示词 (Prompt)。
    • -n: 生成文本的最大长度。
    • -t: 使用的 CPU 线程数(通常设置为物理核心数)。
  • 交互对话:./llama-cli -m ./models/q4_k_m.gguf -i -cnv --color
  • 启动服务:./llama-server -m ./models/q4_k_m.gguf --port 8080 --host 0.0.0.0
    • 企业方案 - 全显卡+多用户+密钥
      • ./llama-server -m ./model.gguf -ngl 99 -c 4096 --port 8080 --api-key "my-secret-key" --parallel 4
      • -m ./model.gguf: 指定模型文件。对于 Qwen3.5-27B 这种大模型,.gguf 是运行的前提。
      • -ngl 99 (No Graphics Layers): 这里的 99 是一个常用的小技巧,表示“把所有层都塞进显卡”。如果显存够大,模型推理将完全在 GPU 上完成,速度最快。
      • -c 4096 (Context Size): 设定上下文窗口大小为 4096 个 Token。这决定了模型能“记得”多长的对话。注意:这个数值越大,占用的显存就越多,尤其是开启多并发时。
      • 显存预警: 注意,上下文 (c)并发 (parallel) 是相乘的关系。4 * 4096 的 KV Cache 占用显存会显著高于单人模式。
    • 极致性能 - 全显存加速 + Flash Attention
      • ./llama-server -m ./Qwen3.5-27B-claude.Q4_K_M.gguf -ngl 99 -c 32768 --fa --cache-type-k q8_0 --parallel 1
      • -ngl 99:尝试将所有层(Qwen3.5-27B 通常约 28-32 层)卸载到 GPU。
      • --fa (Flash Attention)必开。大幅减少长文本时的显存占用并提升速度。
      • --cache-type-k q8_0:将 KV 缓存的 Key 量化为 8-bit,在几乎不损失精度的情况下节省约 1/4 的显存,让你能开更大的上下文。
    • 保命方案 - 混合推理 + 内存缓存
      • ./llama-server -m ./Qwen3.5-27B-claude.Q4_K_M.gguf -ngl 20 -c 16384 --cram 256 --no-mmap
      • -ngl 20:只把前 20 层放入显存,剩下的交给 CPU。你可以根据报错信息微调这个数字。
      • --cram 256:这是 2026 年版本的新特性(Host-memory prompt caching),将提示词缓存放在系统内存里,减少 GPU 负担。
      • --no-mmap:强制模型完整加载到内存/显存中,防止因为磁盘读取导致的推理卡顿。
    • Agent方案 - 结构化输出 + 高并发
      • ./llama-server -m ./Qwen3.5-27B-claude.Q4_K_M.gguf --port 8080 --parallel 4 --ctx-size 8192 --cont-batching --api-key "your_secret_key"
      • --parallel 4:同时开启 4 个逻辑插槽,支持 4 人同时对话。
      • --cont-batching:开启连续批处理,极大提升 API 的吞吐量。
      • 注意:Qwen3.5 对 Function Calling(函数调用)有原生优化,配合 llama-server 的标准 OpenAI 接口效果极佳。
    • Claude方案 - 角色扮演+长文写作
      • ./llama-server -m ./Qwen3.5-27B-claude.Q4_K_M.gguf --temp 0.7 --min-p 0.05 --repeat-penalty 1.05 --top-k 40
      • --min-p 0.05:目前公认比 top-p 更好的采样方式,能有效过滤掉低概率的废话,让输出更聪明。
    • http://192.168.1.142:8080 web对话,查看模型配置

      Model Information
      Current model details and capabilities
      Model	Qwen3.5-27B-claude.Q4_K_M.gguf
      File Path /media/x99/storage/GGUF/Qwen3.5-27B-claude.Q4_K_M.gguf
      Context Size	34,048 tokens
      Training Context	262,144 tokens
      Model Size	15.4 GB
      Parameters	26.90B
      Embedding Size	5,120
      Vocabulary Size	248,320 tokens
      Vocabulary Type	2
      Parallel Slots	5
      Build Info	b8664-9c699074c
      Chat Template: ....