本地 AI 实战
对于注重隐私的用户,本地 AI 是最佳选择。本文将详细介绍如何构建完全本地化的 AI 工作流。
为什么选择本地 AI?
| 优势 | 说明 |
|---|---|
| 🔒 隐私保护 | 数据完全不出本地,敏感信息安全 |
| 💰 零成本 | 无 API 费用,长期使用更经济 |
| ✈️ 离线可用 | 无需网络连接,随时随地使用 |
| ⚡ 响应稳定 | 不受 API 限流影响 |
| 🎛️ 完全控制 | 自由选择模型、调整参数 |
| 劣势 | 说明 |
|---|---|
| 💻 硬件要求 | 需要较好的 CPU/GPU/内存 |
| 📉 能力限制 | 本地模型能力略弱于云端大模型 |
| ⚙️ 配置复杂 | 需要一定的技术能力 |
前置准备
硬件要求
| 模型规模 | 内存要求 | GPU 显存 | 推荐配置 |
|---|---|---|---|
| 7B 参数 | 8GB+ | 6GB+ | 16GB 内存 + RTX 3060 |
| 13B 参数 | 16GB+ | 10GB+ | 32GB 内存 + RTX 4070 |
| 30B+ 参数 | 32GB+ | 16GB+ | 64GB 内存 + RTX 4090 |
软件环境
bash
# 检查系统信息
# macOS
system_profiler SPHardwareDataType
# Linux
free -h
nvidia-smi # GPU 信息Ollama 完整配置
bash
# 1. 安装 Ollama
# macOS/Linux
curl -fsSL https://ollama.ai/install.sh | sh
# 2. 下载推荐模型
ollama pull llama3.2 # 通用模型
ollama pull qwen2.5 # 中文优化
ollama pull deepseek-r1 # 推理强
ollama pull nomic-embed-text # 嵌入模型
# 3. 启动服务
ollama serve
# 4. 测试
ollama run llama3.2Text Generator 本地配置
yaml
# 插件设置
Provider: Ollama
Base URL: http://localhost:11434
Model: llama3.2
# 高级设置
Temperature: 0.7
Max Tokens: 2048
Top P: 0.9Smart Connections 本地配置
yaml
# 完全本地化配置
Embedding Model: nomic-embed-text (本地)
Chat Model: llama3.2 (本地)
# 向量存储
Vector DB: Local (chromadb/lanceDB)性能优化
yaml
# 硬件建议
内存: 16GB+ (7B模型), 32GB+ (13B模型)
GPU: NVIDIA RTX 3060+ (显存8GB+)
存储: SSD 推荐
# 软件优化
- 使用量化模型 (Q4_K_M, Q5_K_M)
- 启用 GPU 加速
- 调整 context window推荐模型选择指南
按用途分类
| 用途 | 推荐模型 | 特点 |
|---|---|---|
| 通用对话 | Llama 3.2 7B | 平衡性能与速度 |
| 中文优化 | Qwen 2.5 7B | 中文理解强 |
| 代码生成 | CodeLlama 7B | 代码专精 |
| 推理任务 | DeepSeek-R1 7B | 逻辑推理强 |
| 长文本 | Mistral 7B | 32K 上下文 |
| 嵌入向量化 | nomic-embed-text | 检索优化 |
模型对比测试
bash
# 下载多个模型对比测试
ollama pull llama3.2
ollama pull qwen2.5
ollama pull deepseek-r1
# 基准测试
time echo "解释什么是机器学习" | ollama run llama3.2
time echo "解释什么是机器学习" | ollama run qwen2.5
time echo "解释什么是机器学习" | ollama run deepseek-r1详细配置步骤
步骤一:安装 Ollama
bash
# macOS/Linux
curl -fsSL https://ollama.ai/install.sh | sh
# Windows (使用安装包)
# https://ollama.ai/download
# 验证安装
ollama --version步骤二:配置服务
bash
# 启动服务(默认端口 11434)
ollama serve
# 后台运行
# macOS: brew services start ollama
# Linux: systemctl start ollama
# 设置环境变量
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_ORIGINS="*"步骤三:下载模型
bash
# 常用模型
ollama pull llama3.2 # Meta 最新的通用模型
ollama pull qwen2.5 # 阿里通义千问,中文优化
ollama pull deepseek-r1 # 深度求索,推理能力强
ollama pull nomic-embed-text # 嵌入模型
# 查看已安装模型
ollama list
# 模型信息
ollama show llama3.2步骤四:Obsidian 插件配置
Text Generator 配置
yaml
# 打开 Text Generator 设置
Provider: "Ollama"
Base URL: "http://localhost:11434"
Model: "llama3.2"
# 高级设置
Temperature: 0.7
Max Tokens: 2048
Top P: 0.9
Context Size: 4096
# 测试连接
# 点击 "Test Connection" 按钮Smart Connections 配置
yaml
# 完全本地化配置
Embedding Model:
Provider: "Local (Ollama)"
Model: "nomic-embed-text"
Chat Model:
Provider: "Ollama"
Model: "llama3.2"
Vector Store:
Type: "Local (ChromaDB)"
Path: ".smart-connections"高级配置
GPU 加速
bash
# 检查 GPU 支持
ollama run llama3.2
# 输入 /show info 查看是否使用 GPU
# 强制使用 GPU (NVIDIA)
export CUDA_VISIBLE_DEVICES=0
# AMD GPU
export HSA_OVERRIDE_GFX_VERSION=10.3.0多模型并行
bash
# 同时运行多个模型(需要足够内存)
ollama run llama3.2 --port 11434 &
ollama run qwen2.5 --port 11435 &自定义模型
bash
# 创建自定义模型配置
cat > Modelfile << 'EOF'
FROM llama3.2
# 设置系统提示
SYSTEM 你是一个专业的技术写作助手,擅长撰写清晰、结构化的技术文档。
# 设置参数
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
EOF
# 构建自定义模型
ollama create my-writer -f Modelfile
# 使用自定义模型
ollama run my-writer常见问题
Q1: 模型加载很慢或内存不足?
解决方案:
bash
# 使用量化模型(更小更快)
ollama pull llama3.2:7b-q4_K_M
# 减小 context window
ollama run llama3.2 --ctx-size 2048
# 关闭不需要的后台程序
# macOS
killall Safari Chrome
# Linux
free -h # 查看内存使用Q2: 生成速度太慢?
优化方案:
bash
# 1. 确保 GPU 加速启用
nvidia-smi # 查看 GPU 使用率
# 2. 使用更小的模型
ollama pull llama3.2:3b
# 3. 批量处理时复用模型
# 不要每次都重新加载模型Q3: 中文回答质量不好?
解决方案:
bash
# 使用中文优化的模型
ollama pull qwen2.5:7b
ollama pull deepseek-r1:7b
# 或在 Prompt 中明确要求中文
ollama run llama3.2
>>> 请用中文回答:什么是机器学习?Q4: 如何在多台设备同步?
方案:使用局域网访问
bash
# 服务器端(高性能电脑)
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
# 客户端(其他设备)
# Text Generator 设置
Base URL: "http://192.168.1.100:11434" # 服务器 IP性能基准参考
| 模型 | 参数量 | 显存占用 | 生成速度 | 质量 |
|---|---|---|---|---|
| Llama 3.2 3B | 3B | 2GB | 50+ tok/s | ⭐⭐⭐ |
| Llama 3.2 7B | 7B | 4-5GB | 30-40 tok/s | ⭐⭐⭐⭐ |
| Qwen 2.5 7B | 7B | 4-5GB | 30-40 tok/s | ⭐⭐⭐⭐⭐(中文) |
| DeepSeek-R1 7B | 7B | 4-5GB | 25-35 tok/s | ⭐⭐⭐⭐(推理) |
| Llama 3.2 13B | 13B | 8-10GB | 15-20 tok/s | ⭐⭐⭐⭐⭐ |
最佳实践
1. 选择合适的模型
- 日常笔记:Llama 3.2 7B(平衡性能)
- 中文内容:Qwen 2.5 7B(中文优化)
- 代码相关:CodeLlama 或 DeepSeek-Coder
- 知识检索:nomic-embed-text + Llama 3.2
2. 优化 Prompt
markdown
# 好的 Prompt 示例
你是一个专业的技术写作助手。
请用简洁清晰的中文回答以下问题:
问题:{{question}}
要求:
1. 回答结构化,使用标题分段
2. 关键概念加粗
3. 提供具体示例3. 建立工作流模板
yaml
# Templater 配置
templates:
- name: "AI 总结"
model: "llama3.2"
prompt: "用中文总结以下内容:\n{{content}}"
- name: "AI 翻译"
model: "qwen2.5"
prompt: "翻译为中文:\n{{content}}"相关资源
- 本地 AI 完整指南 - 详细配置说明
- 知识库问答 - 本地知识库问答
- 多语言知识库 - 本地翻译应用