本地离线知识库部署记:从 GPT4All 翻车到 Ollama + AnythingLLM
目标:在本地搭一个可以完全脱网运行的知识库。
硬件:32GB 内存、16GB 显存的 RTX 5060 Ti、1TB SSD。
写在前面:一段失败经历(可跳过)
第一次动手时,我先让 DeepSeek 出了一套方案,然后租了一台 32GB 内存、16GB 显存的 5060 Ti 电脑。
系统预装的是 Windows 10 专业版。DeepSeek 说 Windows 11 稍好、Windows 10 也没问题,还说不能用 Home 版——其实这条并不准确,Home 版同样能正常跑 Ollama / GPT4All / AnythingLLM,专业版并非硬性要求。
装软件我图省事,先用了最“简单”的 GPT4All,然后按显存大小去 modelscope 下载 qwen2.5-14b-instruct 的 q4_k_m 量化版。结果一路踩坑:
分片合并坑:模型被拆成 3 个文件,需要合并成一个 GGUF。7-Zip 失败;
copy /b在 PowerShell 里失败(PowerShell 里copy是Copy-Item的别名,不支持/b),换到 cmd 里才成功。哈希“正确”却加载报错:合并出来的文件 SHA 校验没问题,可 GPT4All 一加载就报错,卡死。
100GB 的坑:换
modelscope download --model ...下“完整模型”,不带过滤参数会把整个仓库所有量化版本都下下来,足足 100GB;而且 modelscope 的缓存/临时目录默认在 C 盘,文件还没下完 C 盘就先写满了。真正需要的只是其中约 9GB 的 q4_k_m 那一个文件。解决办法两条一起用:--allow_patterns "*q4_k_m*":只下需要的 q4_k_m,避免把整个仓库都拖下来;- 改临时目录到 D 盘,避免写满 C 盘:命令里加
--local_dir D:\temp(先建好D:\temp),或新建用户环境变量MODELSCOPE_CACHE=D:\modelscope-cache,把缓存目录整体改到 D 盘,改完重开终端生效。
完整命令:
modelscope download --model Qwen/Qwen2.5-14B-Instruct-GGUF --allow_patterns "*q4_k_m*" --local_dir D:\temp“模型太大”的误判:换了个 1.5B 小模型成功了,一度以为是“模型太大”。其实 16GB 显存跑 8GB 的 14B 本应绰绰有余——最后是无头公案,原因未知。
折腾一圈无果,最终换到Ollama + AnythingLLM这个更省心的组合。下面才是正篇。
一、环境准备
1.1 操作系统
Windows 10 专业版 64 位(或 Windows 11 专业版;Home 版其实也能跑)。
- 电源模式设为“高性能”:
- Windows 11:设置 → 系统 → 电源 → 电源模式 → “最佳性能”
- Windows 10:控制面板 → 硬件和声音 → 电源选项 → 选择“高性能”计划
- 关闭睡眠和休眠(长时间挂机跑模型时防止中断):
- 关闭睡眠:控制面板 → 硬件和声音 → 电源选项 → 更改计划设置 → “使计算机进入睡眠状态”设为“从不”(“使用电池”和“接通电源”两列都要改)
- 关闭休眠:同页面点击“更改高级电源设置” → “睡眠” → “在此时间后休眠”设为“从不”(两列都要改);若彻底不需要休眠,可在管理员 PowerShell 执行
powercfg /h off
1.2 NVIDIA 驱动
- 前往 NVIDIA 官网下载 Studio Driver(稳定优先)
- 安装时选择“自定义安装” → “执行清洁安装”
- 验证:命令行输入
nvidia-smi,能看到显卡信息和 CUDA 版本;若提示“不是内部或外部命令”,先到 设备管理器 → 显示适配器 确认能看到 NVIDIA 显卡且无黄色感叹号(也可能是 PATH 未生效,可尝试运行C:\Windows\System32\nvidia-smi.exe)
顺带核实显卡的真实显存:如果
nvidia-smi显示的显存和你购买时标称的不一致(比如标 16GB、实际只有 8GB),基本就是“魔改卡”,跑大模型时会莫名其妙加载失败。
1.3 目录结构
D:\ ├── document\ # 存放清洗好的知识库文档(可按主题建子目录) ├── model\ # 存放 Ollama 模型文件(不要手动改动其中内容) └── tools\ # 存放部署所需的工具软件Ollama 默认把模型存在
C:\Users\<用户名>\.ollama\models。若想让模型存到D:\model,需新建用户变量OLLAMA_MODELS=D:\model,然后重启 Ollama 生效;不设置该变量则D:\model不会被使用。
二、安装 Ollama
2.1 下载安装
- 访问 https://ollama.com,点击 Download for Windows,下载 .exe 安装包
- 一路默认安装,完成后任务栏右下角出现羊驼图标
2.2 配置 Ollama 监听局域网(可选,供其他设备访问)
- 按 Win+R 输入
sysdm.cpl→ “高级”选项卡 → 环境变量 - 在“用户变量”下新建:变量名
OLLAMA_HOST,变量值0.0.0.0 - 重启 Ollama(右下角图标右键 → 退出 → 重新打开;只改设置不重启不会生效)
- 注意:设置后本机
localhost:11434仍可正常访问;若其他设备不经 AnythingLLM、直接在浏览器调用 Ollama API,还需再加变量OLLAMA_ORIGINS=*(允许跨域访问)
2.3 下载对话模型(LLM)
打开 PowerShell,执行:
# 主力模型:Qwen3 14B(16GB 显存的最佳选择)ollama run qwen3:14b首次运行会自动下载模型(qwen3:14b 默认量化版约 9GB,需保持网络畅通)。下载完成后会自动进入对话模式,输入/bye退出。
2.4 下载嵌入模型(Embedding)
ollama pull bge-m3该嵌入模型约 1.2GB,用于把知识库文档向量化。
2.5 验证 GPU 使用
运行模型并对话时,新开一个 PowerShell:
ollamaps确认 PROCESSOR 列显示 100% GPU;若显示 100% CPU,说明未启用显卡加速,参见第五节排查;若显示类似85%/15% CPU/GPU的混合比例,说明显存不足、模型被部分放到内存,需减小模型或释放显存。
三、安装 AnythingLLM Desktop(桌面版)
3.1 下载安装
- 访问 https://anythingllm.com,点击 Download for Desktop,选择 Windows 版本
- 安装完成后启动 AnythingLLM Desktop
3.2 初始配置向导
首次启动会引导你完成设置:
| 步骤 | 选择 |
|---|---|
| LLM Provider | 选择 Ollama |
| Ollama URL | 保持默认 http://localhost:11434 |
| Chat Model | 从下拉列表选择 qwen3:14b(需先完成 2.3 下载,列表中才会出现) |
| Embedding Provider | 选择 Ollama |
| Embedding Model | 输入 bge-m3 |
| 向量数据库 | 保持默认(LanceDB) |
| 创建账号 | 本地账号,随意填写 |
若提示无法连接 Ollama,先确认 Ollama 已启动(任务栏羊驼图标),再重新测试连接。
3.3 关于远程访问:只能走 API,不能开网页
注意:以 .exe 安装的 AnythingLLM Desktop(桌面版)不支持从其他电脑的浏览器打开它的网页界面,界面只能在本机使用。
不过它仍然暴露了 API 接口:其他设备可以通过 API 访问(端口 3001),所以下面放行 3001 端口仍有意义——只是访问方式必须是“调用 API”。建议在路由器里给这台电脑做 DHCP 地址保留(固定 IP),其他设备调用时地址不会变。
通过浏览器打开http://localhost:3001/api/docs或http://[anything llm ip]:3001/api/docs可以查看api文档,根据这个文档做个app时不成问题的。
3.4 Windows 防火墙放行端口
其他设备通过 API 访问 AnythingLLM Desktop 时需要放行 3001 端口(网页界面不能远程打开,见 3.3)。
控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则:
- 规则类型选“端口” → TCP → 特定本地端口填
3001 - 选择“允许连接”
- 配置文件建议同时勾选“专用”和“公用”
- 命名(如“AnythingLLM”)后完成
只有在其他设备不经 AnythingLLM、直接调用 Ollama API时才需要额外放行 TCP 11434。Ollama 本身没有鉴权,把 11434 暴露到局域网等于让任何人都能调用你的 GPU、拉取甚至删除模型,如无必要请勿放行。
四、开机自启动
Ollama 和 AnythingLLM 都必须设置为开机自启动,否则重启电脑后知识库无法使用:
- Ollama:安装时勾选开机自启动;若已安装,可重新运行安装包或在任务栏图标设置中确认
- AnythingLLM:在 Settings(设置)中启用开机启动(Start on boot)相关选项
- 确认:重启电脑后,任务栏出现 Ollama 羊驼图标,且 AnythingLLM 能正常访问
五、常见问题排查
| 问题 | 解决方法 |
|---|---|
| Ollama 用 CPU 不用 GPU | 更新 NVIDIA 驱动并重启 Ollama;确认安装的是官网 Windows 安装包(自带 CUDA 支持);多显卡时用CUDA_VISIBLE_DEVICES指定 GPU |
| 14B 模型加载报错 | 先nvidia-smi核实真实显存(排除魔改卡);检查显存是否被其他程序占用;尝试 qwen3:8b 替代 |
| AnythingLLM 无法连接 Ollama | 确认 Ollama 正在运行;检查 URL 是否为 http://localhost:11434 |
| 其他设备无法通过 API 访问 | 确认同一 WiFi;防火墙放行 3001;若直连 Ollama API,还需放行 11434 并确认 OLLAMA_HOST=0.0.0.0 |
| 回答速度慢 | 关闭其他大程序;检查是否在 GPU 模式;考虑换 qwen3:8b |
六、模型选择速查
| 模型 | 参数量 | 显存需求 | 适用场景 |
|---|---|---|---|
| qwen3:14b | 14B | ~10GB | 主力 |
| qwen3:8b | 8B | ~6GB | 速度优先,开启思考模式 |
| deepseek-r1:14b | 14B | ~10GB | 疑难杂症深度推理,速度较慢 |
| bge-m3 | 567M(约 0.6B) | ~1.5GB | 嵌入模型,文档向量化 |
显存需求为默认量化版本的大致值,实际占用会随上下文长度增加;16GB 显存运行 qwen3:14b 时建议关闭其他占用显存的程序。
结语
软件到这里就部署完了。接下来的文档准备、在 AnythingLLM 里创建工作区并导入文档(保存并嵌入、逐个钉选)属于“知识库内容”的范畴,不在本文展开。