跳到主要内容

本地推理深度解析

方案对比

特性OllamavLLMllama.cpp
安装难度
GPU 支持
CPU 推理支持有限擅长
量化格式内置AWQ/GPTQGGUF
生产部署适合中小规模高并发首选轻量场景
API 兼容OpenAI 风格OpenAI 兼容需封装

Ollama 详解

Ollama 以「一键运行」著称,支持:

  • 多平台:macOS、Linux、Windows
  • 模型管理:ollama pull llama3ollama list
  • OpenAI 兼容 API:/v1/chat/completions
  • 与 LangChain、LlamaIndex 等框架直接对接

典型用法:

ollama pull llama3
ollama run llama3
# 或通过 API:curl http://localhost:11434/v1/chat/completions

vLLM 详解

vLLM 面向高吞吐生产场景:

  • PagedAttention 提升显存利用率
  • 连续批处理(Continuous Batching)
  • 支持 Tensor Parallel、多 GPU
  • 与 OpenAI API 兼容,便于迁移

适用于:多用户、高 QPS 的推理服务。

llama.cpp 详解

  • C++ 实现,跨平台、无重型依赖
  • GGUF 量化格式,支持 Q4_K_M、Q5 等
  • CPU 推理优化,适合无 GPU 或老旧设备
  • 被 Ollama、LM Studio 等作为底层引擎

量化选型

精度显存占用质量推荐场景
FP16最好大显存、追求质量
INT8较好平衡
INT4 (Q4_K_M)可接受消费级 GPU、边缘
更低 (Q2_K)很低有损极限省显存

GPU 配置建议

  • 8GB 显存:7B 量化模型
  • 12–24GB:13B 量化或 7B 全精度
  • 48GB+:34B+ 或 多模型并行

与 RAG、Agent 的闭环

本地推理可与 RAGAgentEmbedding 形成完整链路:

  • Embedding:BGE、M3 等本地 Embedding 模型
  • RAG:向量检索 + 本地 LLM 生成
  • Agent:Ollama 作为工具调用的 LLM 后端
  • LangChain/LlamaIndex:通过 langchain-community 对接 Ollama

LM Studio 与 TGI

LM Studio

  • 定位:桌面端图形化工具,Windows/macOS
  • 特点:可视化模型下载、量化、聊天界面,开发调试友好
  • API:内置本地 OpenAI 兼容端点,可与 LangChain 等对接

TGI(Text Generation Inference)

  • 定位:Hugging Face 官方推理服务
  • 特点:Docker 部署、多模型、安全与限流
  • 适用:企业级、需要标准化模型管理与多模型部署

推理参数调优

参数说明建议
temperature随机性0–0.3 事实性任务,0.7–1.0 创意任务
top_p核采样0.9–0.95 常用
max_tokens最大生成长度按业务设定,避免过长浪费
repeat_penalty重复惩罚1.1–1.2 减少重复
num_ctx上下文长度(Ollama)越大显存越高,按需设置

与推理服务的关系

  • Ollama / llama.cpp:偏本地、单机、开发与小规模
  • vLLM / TGI:偏生产、多实例、高并发,参见 模型部署与推理服务

本地推理可为生产前的验证环境,或作为边缘、离线场景的独立部署形态。

总结

根据场景选择:开发体验选 Ollama,生产高并发选 vLLM,资源受限选 llama.cpp。量化是本地部署的关键手段,合理选择可显著降低成本与硬件门槛。LM Studio 适合桌面调试,TGI 适合企业级多模型部署。