ORANGE BOOK · RAG

第十一章 本地与私有化部署——4 条路线详细教程


11.1 为什么要"本地 / 私有化部署"?

3 个不可调和的理由:

1. 数据隐私是底线

  • 病例 / 体检 / 心理咨询记录
  • 银行流水 / 投资数据 / 收入信息
  • 公司核心商业机密
  • 客户私密信息(律师 / 心理咨询师 / 医生最在意)
  • 个人日记 / 家庭隐私

这些数据上传到任何"云端 AI"都是风险——哪怕承诺"不用于训练",依然存在数据泄露、被攻击、被法律调取的可能。

2. 公司 / 行业合规要求

  • 金融业(银行、券商、保险)有严格的"数据不出域"要求
  • 医疗行业有 HIPAA / 个人信息保护法
  • 政府 / 国企内网无法访问公网
  • 律所、咨询公司面对客户的"保密协议"

不能用云 → 必须本地 / 私有化。

3. 长期成本可控

云端 RAG 工具按次 / 按月收费——

  • Coze 国际版无限对话 ¥150/月
  • ChatGPT Team ¥210/人/月
  • Cohere Rerank API 0.001 美元/次

如果你重度使用,1 年下来 ¥2000-10000+——而本地一次配置,电费 + 0 持续成本


11.2 4 条路线全景对比

路线 工具组合 难度 部署时间 硬件门槛 适合谁
路线 1 Cherry Studio + Ollama 30 分钟 M1+ Mac / 16G 内存 PC 个人、首次入门
路线 2 AnythingLLM Desktop ⭐⭐ 1 小时 同上 个人、要更好 UI
路线 3 Dify 自托管 + Docker ⭐⭐⭐⭐ 半天 16-32G 内存服务器 团队 5-50 人
路线 4 RAGFlow + DeepSeek ⭐⭐⭐⭐⭐ 1-2 天 64G+ 内存 + GPU 企业级、大规模

🎯 推荐路径

  • 新手:从路线 1 开始,跑通了再说
  • 个人重度用户:路线 2(功能比 1 全)
  • 小团队:路线 3
  • 企业:路线 4

11.3 路线 1:Cherry Studio + Ollama(最简单)

这条路线的优势

  • ✅ 全图形界面,零代码
  • ✅ Mac、Windows、Linux 全平台
  • ✅ 完全免费、完全离线
  • ✅ 30 分钟出结果

硬件要求

配置项 最低 推荐 豪华
Mac M1 + 16G 内存 M2/M3 + 16G M3 Max + 32G+
Windows / Linux 16G 内存 32G + 独显 8G 64G + RTX 4090
硬盘 30G 可用 100G 500G SSD

关键瓶颈:内存。模型大小直接吃内存——

  • 7B 模型:8-10G 内存
  • 14B 模型:16-20G 内存
  • 32B 模型:32-40G 内存
  • 70B 模型:64G+ 内存

如果你硬件普通,从 7B 模型 起步(推理够用)。

步骤 1:安装 Ollama

Ollama 是"运行本地大模型"的最流行工具。

Mac 安装

# 方法 1:Homebrew
brew install ollama

# 方法 2:官网下载
# 访问 ollama.com 下载 .dmg,双击安装

Windows 安装

访问 ollama.com 下载 .exe,双击安装。

Linux 安装

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

步骤 2:拉取一个对话模型 + 一个嵌入模型

打开终端:

# 启动 Ollama 服务
ollama serve

# 新开一个终端窗口

# 拉对话模型(DeepSeek-R1 蒸馏 7B,适合大多数场景)
ollama pull deepseek-r1:7b

# 拉嵌入模型(用于把文档变成向量)
ollama pull bge-m3

# 验证
ollama list

如果你硬件好,可以拉更大的模型:

# 14B:更好理解
ollama pull deepseek-r1:14b

# 32B:接近线上 GPT-4 mini 水平
ollama pull deepseek-r1:32b

# Qwen 3:中文最佳
ollama pull qwen3:7b
ollama pull qwen3:14b

# 中文嵌入更强
ollama pull qwen3-embedding:0.6b

步骤 3:安装 Cherry Studio

访问 cherry-ai.com 下载对应平台版本,双击安装。

步骤 4:在 Cherry Studio 里配置 Ollama

  1. 打开 Cherry Studio
  2. 设置 → 模型服务 → "Ollama"
  3. 启用 → API 地址默认 http://localhost:11434
  4. 点击"管理模型"——勾选你拉过的所有模型
  5. 保存

步骤 5:创建知识库

  1. 左侧栏点 "知识库"
  2. 新建知识库 我的私人库
  3. 嵌入模型选 bge-m3(或 qwen3-embedding:0.6b
  4. 上传文档(PDF / Word / Markdown / TXT 都支持)
  5. 等待"索引完成"——根据文档量,几分钟到几十分钟

步骤 6:开始提问

  1. 左侧"助手" → 新建对话
  2. 选择模型 deepseek-r1:7b
  3. 在对话框右下方"知识库"图标 → 选 我的私人库
  4. 提问

回答出来后,每段都带"引用 [1] [2]"——点击可看原文出处。

完整截图思路

[Ollama 终端]
$ ollama list
NAME                    ID              SIZE
deepseek-r1:7b          xxx             4.7 GB
bge-m3                  xxx             1.2 GB

[Cherry Studio 主界面]
左侧栏:助手 / 知识库 / 应用市场 / 设置
中间:对话区
右侧:当前对话信息 / 知识库引用面板

[知识库管理界面]
- 库名:我的私人库
- 嵌入模型:bge-m3
- 文档列表:[3 个 PDF, 2 个 Word, 1 个 Markdown]
- 状态:索引完成
- Top-K:5(默认)
- Reranker:可选启用 BGE-Reranker

常见问题

Q1:Ollama 启动后看不到模型怎么办?

# 确保 Ollama 服务在跑
ollama serve

# 另开窗口
ollama list

# 如果是空的,重新拉
ollama pull deepseek-r1:7b

Q2:Cherry Studio 提问没回答 / 回答很慢?

  • 检查 Ollama 是否在运行(终端 ollama list 能看到)
  • 检查模型是否太大——7B 慢,可能 30 秒首字
  • 内存够吗?打开活动监视器看
  • 知识库索引完成了吗?

Q3:嵌入失败?

通常是嵌入模型没拉:

ollama pull bge-m3

或者文档太大——拆分后再上传。

Q4:中文回答不好?

换中文模型:

ollama pull qwen3:7b
ollama pull qwen3-embedding:0.6b

Cherry Studio 切换到 Qwen3。

优化建议

1. 调切片大小

设置 → 知识库 → 切片大小 800-1000 字 + overlap 100。

2. 启用 Reranker

设置 → 知识库 → 启用 Reranker → 选 bge-reranker-v2-m3(拉一下:ollama pull bge-reranker-v2-m3 注:实际需要走 HF + 容器或独立 Reranker 服务,Ollama 主要用于 LLM/Embedding,Cherry Studio 已内置常见 Reranker)

3. 提示词模板

设置 → 助手 → 自定义系统提示词:

你是一名严谨的 RAG 助手。请:
1. 严格基于知识库回答;
2. 每条结论必须引用 [n];
3. 资料里没有,必须说"知识库内未找到相关内容";
4. 优先用原文,必要时再总结。

这条路线适合做什么

  • 个人病例 / 法律 / 财务库
  • 私人读书笔记 / 灵感库
  • 写作风格库 / 自媒体素材库
  • 任何"不能传云"的小型库(< 500 文档)

11.4 路线 2:AnythingLLM Desktop(更专业的桌面版)

这条路线的优势

  • ✅ UI 比 Cherry Studio 更"知识库重型"
  • ✅ 内置多种文档解析器(更强的 PDF / OCR)
  • ✅ 内置 Workspace(一个工作区一个库)
  • ✅ 支持多种"文档源"(网页爬取、URL 导入、Confluence、GitHub)
  • ✅ 同样完全离线

硬件要求

跟路线 1 类似——16G 内存起步,模型走 Ollama。

步骤 1:装 Ollama(同 11.3 步骤 1-2)

略,跟前面一样。

步骤 2:下载 AnythingLLM Desktop

访问 useanything.com → Desktop App → 下载对应平台版本(Mac / Windows / Linux)。

双击安装。

步骤 3:首次配置向导

打开 AnythingLLM,会有一个新手向导:

  1. LLM 提供商:选 Ollama → 填 http://localhost:11434 → 选模型 deepseek-r1:7b
  2. 嵌入提供商:选 Ollama → 选模型 bge-m3
  3. 向量数据库:选 LanceDB(默认,零配置最简单)
  4. 点完成

步骤 4:创建 Workspace

每个 Workspace 对应一个"主题库":

Workspace 1: 我的合同库
Workspace 2: 我的体检库
Workspace 3: 我的笔记库

每个 Workspace 独立存储 + 独立 Prompt + 独立设置。

步骤 5:上传文档

每个 Workspace 内:

  1. 左下"上传文档"图标
  2. 选文件 / 拖拽(支持 PDF / Word / Markdown / TXT / EPUB / HTML)
  3. 新功能:"URL 导入"——直接给个网页链接,自动爬取入库
  4. 等待"Embed"完成

步骤 6:提问

直接在对话框里问。AnythingLLM 会自动:

  1. 检索 Top-K
  2. 调用 Ollama LLM
  3. 给回答 + 引用列表

优化技巧

1. 切换"Chat Mode" vs "Query Mode"

  • Chat Mode:可联想知识库 + 模型自身知识——适合"创意 + 探索"
  • Query Mode:严格只用知识库——适合"找事实"

2. 自定义 System Prompt

Workspace 设置 → Prompt → 写"行业专属"提示词。

3. 多模型切换

每个 Workspace 可以选不同模型:

  • 法律库用更严谨的 deepseek-r1:32b
  • 闲聊库用更快的 qwen3:7b

4. 多向量库

可以同时启用:

  • LanceDB(默认)
  • Chroma
  • Qdrant
  • Weaviate

跟 Ollama 一样——本地,零配置。

常见问题

Q1:解析 PDF 失败?

AnythingLLM 内置 Apache Tika,对大多数 PDF 都行。如果是扫描件——

  • 先用 ABBYY FineReader / 飞书 OCR 转可搜索 PDF
  • 或装 AnythingLLM 的 OCR 插件

Q2:模型回答太慢?

  • 换更小的模型
  • 关闭 "Chat Mode" 用 "Query Mode"(不调用模型创意)
  • 减少 Top-K 数量(设置 → Vector Settings)

这条路线适合做什么

跟路线 1 一样的场景,但你想要:

  • 更好的 UI / UX
  • 更强的"非 PDF 文档"解析(网页、EPUB、HTML、Markdown 集合)
  • 多 Workspace 管理(5-20 个库分开管)
  • 想分享给非技术家人 / 同事用

11.5 路线 3:Dify 自托管 + Docker(团队级)

这条路线的优势

  • ✅ 全功能 RAG 平台——不只是问答,还有 Agent、工作流、多人协作
  • ✅ 可挂上 OpenAI / Anthropic / 国内大模型 API(不只 Ollama)
  • ✅ 支持企业 SSO / 权限管理
  • ✅ 提供 API——可对接你的业务系统
  • ✅ 完全开源、私有化部署

硬件要求

配置项 最低 推荐 豪华
内存 16G 32G 64G
CPU 4 核 8 核 16 核
硬盘 50G 200G 1T SSD
GPU 不强制(用 API) 可选 必备(自托管 LLM)

如果你不本地跑 LLM,只跑 Dify 平台——16G 内存、4 核 CPU 就够。

如果你本地跑 7B/14B LLM——32G + 独显 8G 起步。

步骤 1:装 Docker + Docker Compose

Mac / Windows

下载 Docker Desktop → 安装 → 启动。

Linux

# Ubuntu / Debian
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker

# 装 Compose
sudo apt install docker-compose-plugin

验证:

docker --version
docker compose version

步骤 2:克隆 Dify

git clone https://github.com/langgenius/dify.git
cd dify/docker

步骤 3:复制配置文件

cp .env.example .env

如果你要用国内大模型,编辑 .env

# 例如用 DeepSeek API
# 实际使用时是在 Web UI 里配置的,这里更多是 Dify 自身配置

# 如果有自己的域名 / 反向代理
APP_API_URL=http://localhost:5001
APP_WEB_URL=http://localhost:3000

步骤 4:拉镜像 + 启动

docker compose up -d

第一次会下载几 GB 镜像,耐心等 5-10 分钟

启动后:

docker compose ps

应该看到 8-10 个容器在跑(api、worker、web、nginx、db、redis、weaviate 等)。

步骤 5:访问 Web UI

浏览器打开 http://localhost

  1. 第一次访问 → 创建管理员账号 → 登录

步骤 6:配置模型

设置 → 模型供应商 → 选你要用的:

6.1 用国内 API(推荐 80% 用户)

填 API Key → 保存。

6.2 用 OpenAI / Anthropic(如果有 VPN + 国际信用卡)

填 API Key 即可。

6.3 本地 Ollama(极致隐私)

模型供应商 → Ollama → 填 http://host.docker.internal:11434(Mac/Windows)或 http://172.17.0.1:11434(Linux 桥接)。

6.4 嵌入模型

推荐 text-embedding-v3(通义)/ bge-m3(开源)/ text-embedding-3-small(OpenAI)。

6.5 Reranker 模型(重要!)

设置 → 模型供应商 → "Cohere" 或 "Jina",填 API Key——大幅提升检索质量。

或本地走 Xinference 启动 BGE-Reranker。

步骤 7:创建知识库

  1. 顶部菜单"知识库" → "创建知识库"
  2. 填名称 我的合同库
  3. 上传文件 → 选切片方式:
    • 自动切片(默认 500 字)
    • 父子切片(推荐——RAG 效果飞升)
  4. 选嵌入模型
  5. 选检索方式:
    • 向量检索:纯语义
    • 关键词检索:纯字面
    • 混合检索:两个加权(推荐)
  6. 启用 Reranker
  7. 等待索引完成

步骤 8:创建应用

顶部"工作室" → "创建应用" → 选 "聊天助手":

  1. 填名称 合同助手
  2. 选模型 deepseek-chat
  3. "上下文"模块 → 关联 我的合同库
  4. 写 System Prompt
  5. 调试预览

步骤 9:发布

应用 → 发布:

  • 网页应用:自带 Web UI,分享链接给同事
  • API 接入:拿 Token,对接你的业务系统
  • 嵌入式 Iframe:嵌入官网

进阶:Dify 工作流(这才是它的灵魂)

Dify 不只是问答——它是"AI 工作流引擎"。

举例:

[输入用户问题]
  ↓
[问题分类节点:分类成"事实查询"/"创意建议"/"投诉"]
  ↓
[分支]
  ├─ 事实查询 → 知识库检索 → LLM 回答 → 输出
  ├─ 创意建议 → 调用 GPT-4 → 输出
  └─ 投诉 → 触发"转人工" Webhook → 通知客服

Dify 可视化画板拖拽——0 代码搭建复杂业务流。

常见问题

Q1:Docker 启动失败?

# 看日志
docker compose logs

# 常见原因:
# 1. 端口冲突——80/3000/5001/5432/6379 被占
docker compose down
# 修改 docker-compose.yaml 端口映射

# 2. 内存不够——给 Docker 至少 8G
# Docker Desktop 设置里调

# 3. 拉镜像慢——配国内镜像
# Mac/Windows 在 Docker Desktop → Settings → Docker Engine

Q2:Web UI 打不开?

docker compose ps
# 看 nginx 是否 healthy

curl http://localhost/health
# 应该返回 200

Q3:模型调用失败?

  • API Key 对吗?
  • 网络通吗?(如调 OpenAI 需要 VPN)
  • 余额够吗?

升级 Dify

cd dify/docker
git pull
docker compose pull
docker compose up -d

每月升级一次——Dify 迭代很快,新功能源源不断。

这条路线适合做什么

  • 团队 5-50 人 共用知识库
  • 企业内部"AI 助手平台"——不只一个库,几十个 App
  • 把"RAG"接入业务系统(CRM、OA、客服)
  • 创业项目想做"行业 GPT"

11.6 路线 4:RAGFlow + DeepSeek(企业级)

这条路线的优势

  • 专为 RAG 设计——不像 Dify 是"通用 AI 平台"
  • 超强文档解析——OCR、表格、布局识别业界领先
  • GraphRAG 内置——理解文档间的"实体关系"
  • 企业级权限——RBAC、SSO、审计日志
  • 可挂任意 LLM——闭源 / 开源都行

硬件要求

配置项 最低 推荐 豪华
内存 32G 64G 128G
CPU 8 核 16 核 32 核
硬盘 200G 1T SSD 2T NVMe
GPU 不强制 RTX 4090 A100 / H100

RAGFlow 是吃硬件大户——尤其是 OCR 和 GraphRAG 模块。

步骤 1:装 Docker(同上略)

步骤 2:拉 RAGFlow

git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker

步骤 3:调整 .env

cp .env.example .env

编辑 .env

# 时区
TZ=Asia/Shanghai

# 端口(默认)
SVR_HTTP_PORT=9380

# 选 GPU 镜像(如果有 NVIDIA GPU)
RAGFLOW_IMAGE=infiniflow/ragflow:dev
# 或
RAGFLOW_IMAGE=infiniflow/ragflow:dev-gpu

# OCR 是否走 PaddleOCR(默认开)
USE_OCR=true

步骤 4:启动

docker compose up -d

第一次启动 5-15 分钟(拉镜像 + 初始化)。

步骤 5:访问 Web UI

浏览器打开 http://localhost:80(默认):

  1. 注册账号 → 登录
  2. 看到"工作空间"和"知识库"

步骤 6:配置 LLM

右上角头像 → 模型提供商:

  • DeepSeek:填 API Key
  • 通义千问、智谱、Moonshot 等
  • 本地:填 Ollama / Xinference / vLLM 地址

填好后,"系统模型" → 选默认 LLM、Embedding、Reranker。

步骤 7:创建知识库

工作空间 → 知识库 → 新建:

  1. 名称 合同知识库
  2. 选解析模板:
    • General(通用)
    • Q&A(问答型)
    • Resume(简历)
    • Manual(产品手册)
    • Table(表格)
    • Paper(论文)
    • Book(书籍)
    • Laws(法律法规)
  3. RAGFlow 会用对应模板"智能切片"

每个模板背后是不同的"切片策略 + OCR 策略 + 表格识别策略"——这就是 RAGFlow 比其他工具强的核心。

步骤 8:上传文档 → 解析

上传 PDF / Word → "Start Parsing" → 等待

RAGFlow 会做:

  1. 全文 OCR(即使是扫描件)
  2. 布局分析(标题、段落、表格、图片)
  3. 智能切片
  4. 嵌入入库
  5. 可选:构建知识图谱(GraphRAG)

复杂 PDF 可能要 1-5 分钟一份——但效果碾压其他工具。

步骤 9:测试检索

知识库 → 测试 Tab:

输入问题 → 看检索结果——可以肉眼看"召回的片段对不对"。

如果不准,调整:

  • Top-K 大小
  • 启用 Reranker
  • 切片大小
  • 启用 GraphRAG

步骤 10:创建对话应用

工作空间 → 助手 → 新建:

  1. 关联 1 个或多个知识库
  2. 选模型
  3. 写 System Prompt
  4. 调试

步骤 11:发布 / API 接入

应用 → API → 拿 Token → 接到你的业务系统。

或者发布"聊天链接"分享。

RAGFlow 的"独门绝技"

1. 表格理解

普通 RAG 看不懂"复杂多列合并表格"——RAGFlow 用 PaddleOCR + 表格结构识别,能精准回答"第 3 行第 5 列是什么"。

2. GraphRAG(知识图谱 RAG)

普通 RAG 找"片段",GraphRAG 找"实体关系"——

  • 普通:"合同 X 涉及哪些条款"
  • Graph:"涉及 X 客户的所有合同 + 责任人 + 金额变化趋势"

启用方法:知识库设置 → 启用知识图谱 → 选 LLM 用于实体抽取。

3. 引用追溯

回答里每条引用都能点击 → 跳到原文 PDF 的精确位置(行 / 段)——审计 / 合规必备。

常见问题

Q1:解析 PDF 卡住?

  • 看 OCR 容器日志:docker compose logs ocr
  • 大概率是 GPU 没 OK,或内存不够
  • 重启:docker compose restart

Q2:检索不准?

  • 切片模板选错了——比如把"合同"用"通用"模板,应该用"Manual"
  • Reranker 没启用
  • 嵌入模型选小了(建议 BGE-M3 或 Qwen3-Embedding)

Q3:访问慢?

  • 给 Docker 更多内存
  • 数据库(Elasticsearch)需要至少 8G

这条路线适合做什么

  • 金融机构:合同 / 监管文件 / 客户档案
  • 律所:海量法律文书 / 案例库
  • 医院:病例 / 文献 / 临床指南
  • 大学:教材 / 论文 / 学位论文库
  • 大型企业:内部知识库总平台

11.7 4 条路线选型决策树

flowchart TD
    Start[你的需求] --> Q1{我个人用<br/>还是团队用?}
    Q1 -->|个人| Q2{硬件能跑<br/>本地模型吗?}
    Q1 -->|团队| Q3{团队规模?}
    
    Q2 -->|够 16G 内存| R1[路线 1<br/>Cherry+Ollama]
    Q2 -->|够+追求 UI| R2[路线 2<br/>AnythingLLM]
    Q2 -->|不够| Cloud[回去用云端方案<br/>NotebookLM/ima]
    
    Q3 -->|5-50 人| R3[路线 3<br/>Dify 自托管]
    Q3 -->|50-1000+| R4[路线 4<br/>RAGFlow]

11.8 本地部署的"6 个共通建议"

无论选哪条路线,做好以下 6 件事:

1. 备份!备份!备份!

本地数据没人帮你存——

  • 每周用 Time Machine / OneDrive 备份
  • 重要库导出 → 加密存到 NAS / 移动硬盘
  • 数据库(PostgreSQL / Elasticsearch)单独备份

2. 加密硬盘

Mac:FileVault;Windows:BitLocker。

哪怕电脑被偷,数据出不来。

3. 模型 + 嵌入 + Reranker 三件套配齐

不要只装 LLM——

  • LLM:回答用
  • Embedding:建索引用
  • Reranker:精排用(可选但强烈推荐)

4. 定期更新

Ollama / Cherry Studio / AnythingLLM / Dify / RAGFlow 都迭代很快——每 1-2 个月更新一次,享受新功能 + 安全补丁。

5. 监控资源

本地跑大模型很吃资源——

  • Mac:活动监视器盯内存
  • Linux:htop / nvidia-smi
  • Docker:docker stats

6. 给"未来的你"留文档

部署完之后,写一个 README.md

# 我的本地知识库

- 部署日期:2026-04-19
- 操作系统:macOS Sequoia 16.5
- Ollama 模型:deepseek-r1:7b, bge-m3
- 工具:Cherry Studio v1.x
- 库位置:~/Library/Application Support/CherryStudio/...
- 备份频率:每周日凌晨 Time Machine
- 启动命令:双击 Cherry Studio
- 出问题查:[本章]

3 个月后你会感谢自己。


11.9 本章一图回顾

flowchart LR
    L[本地 / 私有化部署]
    L --> R1["路线 1:Cherry Studio<br/>+ Ollama<br/>⭐ / 30 分钟"]
    L --> R2["路线 2:AnythingLLM<br/>Desktop<br/>⭐⭐ / 1 小时"]
    L --> R3["路线 3:Dify<br/>自托管 + Docker<br/>⭐⭐⭐⭐ / 半天"]
    L --> R4["路线 4:RAGFlow<br/>+ DeepSeek<br/>⭐⭐⭐⭐⭐ / 1-2 天"]

记住三句话:

  1. 隐私敏感的库,必须本地——病例 / 财务 / 商业机密;
  2. 从最简单开始——路线 1 跑通,再考虑升级;
  3. 本地不是终点——很多人是"敏感库本地 + 不敏感库云端"组合用,效率最高。

11.10 下一章预告

最后一章——避坑、安全与从用户到创造者

  • RAG 的 10 大常见坑(每个我都踩过)
  • 知识库的"安全 4 道防线"
  • 怎么从"用户"进化到"知识库工程师"
  • 如果你想"靠 RAG 创业"——5 个 2026 年还有机会的方向
  • 给爸妈、伴侣、老板的"AI 知识库礼物清单"
  • 最后的"100 项达成清单"