全部文章

本地 AI 模型部署

Ollama、LM Studio、vLLM 本地大模型运行与 API 调用

目录 22 节

本地 AI 模型部署

在本地运行大语言模型,保护隐私、无需联网、免费使用。

这页适合作为“本地模型快速起步页”。本地部署真正要先想清楚的不是先下哪个模型,而是你的机器预算、目标任务、交互方式和是否需要 OpenAI 兼容 API。

先按目标选

  • 想最快跑起来:优先 Ollama
  • 想用图形界面试模型:优先 LM Studio
  • 想做高性能 API 服务:优先 vLLM
  • 想把模型接进本地工具链:优先带 API 的方案
  • 想离线运行和保护隐私:优先本地部署路线

Ollama

最简单的本地模型运行方案。

安装

# Windows
winget install Ollama.Ollama

# macOS
brew install ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

基础使用

如果你主要想找一个中文能力不错、资源占用相对友好的本地模型,qwen2.5:7b 往往是比超大模型更容易先跑起来的选择。它很适合先验证 Ollama、RAG、代码助手或本地问答这类基础链路,再决定是否切到更大的参数规模。

# 运行模型(首次会自动下载)
ollama run llama3.1
ollama run qwen2.5:7b
ollama run deepseek-r1:8b
ollama run codellama:13b

# 列出已下载的模型
ollama list

# 下载模型
ollama pull llama3.1:70b

# 删除模型
ollama rm llama3.1

# 查看模型信息
ollama show llama3.1

API 调用

Ollama 默认在 http://localhost:11434 提供 API。

# Chat API
curl http://localhost:11434/api/chat -d '{
  "model": "llama3.1",
  "messages": [{"role": "user", "content": "你好"}],
  "stream": false
}'

# Generate API
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.1",
  "prompt": "解释什么是 MCP",
  "stream": false
}'

Node.js 调用

pnpm add ollama
import { Ollama } from "ollama";

const ollama = new Ollama();

const response = await ollama.chat({
  model: "llama3.1",
  messages: [{ role: "user", content: "用 TypeScript 写一个快速排序" }],
});

console.log(response.message.content);

OpenAI 兼容 API

Ollama 兼容 OpenAI API 格式:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "http://localhost:11434/v1",
  apiKey: "ollama", // 任意值
});

const response = await client.chat.completions.create({
  model: "llama3.1",
  messages: [{ role: "user", content: "你好" }],
});

自定义模型(Modelfile)

# Modelfile
FROM llama3.1

PARAMETER temperature 0.7
PARAMETER top_p 0.9

SYSTEM """
你是一位资深的 TypeScript 开发者。
回答要简洁直接,优先给代码示例。
使用中文回答。
"""
ollama create my-coder -f Modelfile
ollama run my-coder

LM Studio

图形界面的本地模型管理工具。

winget install LMStudio.LMStudio

特点:

  • 可视化模型搜索和下载(Hugging Face)
  • 内置聊天界面
  • 兼容 OpenAI API(http://localhost:1234/v1
  • 支持 GGUF 格式模型
  • 硬件检测和推荐配置

推荐模型

通用对话

模型大小说明
Llama 3.1 8B~4.7 GBMeta,综合能力强
Qwen 2.5 7B~4.4 GB阿里,中文优秀
DeepSeek R1 8B~4.9 GB推理能力强
Gemma 2 9B~5.4 GBGoogle,轻量高效
Phi-3.5 Mini~2.2 GB微软,超小但聪明

代码生成

模型大小说明
CodeLlama 13B~7.4 GBMeta,代码专用
DeepSeek Coder V2~8.9 GB代码能力顶级
Qwen 2.5 Coder 7B~4.4 GB代码补全优秀
StarCoder2 7B~4.0 GBBigCode,多语言

硬件要求

7B 模型:8GB+ 内存/显存
13B 模型:16GB+ 内存/显存
70B 模型:48GB+ 内存/显存(或量化后 32GB+)
  • GPU 推理远快于 CPU
  • Apple Silicon 的统一内存对大模型友好
  • NVIDIA GPU 需要 CUDA 支持

Web UI

Open WebUI

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

访问 http://localhost:3000,自动连接本地 Ollama。

推荐落地顺序

建议按这个顺序开始:

  1. 先选一个入门运行器
  2. 先跑一个小模型验证速度和内存占用
  3. 再补更适合自己任务的模型
  4. 再接 Web UI、API 或代理工具
  5. 最后再考虑量化、批量调用和长期驻留服务

常见问题

模型能跑,但效果不理想

通常说明模型大小、量化级别或任务类型不匹配。先换模型,再考虑调提示词。

本地很慢

优先检查:

  • 是否走了 CPU 推理
  • 内存是否不足
  • 模型是否过大
  • 是否同时开了太多本地服务

应该先学本地模型还是直接用云 API

如果你更看重隐私、离线、零调用成本,本地模型值得先学;如果你更看重效果和省维护,云 API 往往更直接。

延伸阅读

参考链接

阅读建议
  • - 先读标题和摘要,再结合目录决定从哪个章节开始精读。
  • - 看到具体命令、配置或步骤时,尽量在自己的环境里同步验证。
  • - 如果你只是快速查资料,可先看目录和相关文档,再决定是否深入全文。
适合谁看
  • - 希望把零散经验整理成长期可复用工作流的人
  • - 正在使用 AI 工具、Agent 或自动化工作流的人
  • - 希望阅读时顺手建立自己的操作清单或收藏体系的人
执行前检查
  • - 先浏览标题、摘要和目录,带着问题阅读会更高效
  • - 确认模型供应商、API Key、CLI 工具链与本地资源是否已准备好
  • - 如果页面里提到相关文档,尽量一起打开对照,效果通常更完整
同类内容
← 上一篇站内导航与索引