Ollama+AnythingLLM组合:本地文档AI,数据完全自己掌控

前言

平时使用云端 AI 问答文档,总会有一层顾虑:合同、技术手册、内部笔记上传第三方平台,不仅有隐私泄露的风险,还会受到接口额度、网络波动的限制。有没有一套方案,所有文档、大模型推理、向量检索全部跑在本地,不上传任何数据到外网?

Ollama + AnythingLLM 就是当下非常成熟的私有化 RAG 组合。Ollama 负责本地运行大模型与嵌入模型,AnythingLLM 提供可视化文档导入、向量存储、多工作区管理与对话界面。不需要复杂的 LangChain 代码开发,上传 PDF、Markdown、网页资料后,AI 就可以基于你的文档进行问答,回答附带原文溯源。

整套方案支持离线运行,文档所有权完全掌握在自己手里,个人、小团队、NAS 环境都可以部署。本文就带大家从零搭建这套本地文档 AI,搞定私有知识库。

image-20261103175442980

1.AnythingLLM是什么?

AnythingLLM 是 Mintplex Labs 开发的开源一站式私有化 RAG 知识库 & AI 代理平台,MIT 协议开源,主打把文档、网页、音视频素材做成私有知识库,搭配大模型实现文档问答,也是和 Ollama 搭档最热门的工具之一AnythingLL…。

简单一句话:它不是大模型,是一套RAG 调度 + 向量库 + Web 交互后台,可以对接本地 Ollama 或者云端大模型,让 AI 读懂你的私有文件。

image-20261103175323120

✨ 核心特点

  1. 工作区隔离(最核心优势) 采用 Workspace 工作区机制,不同项目、不同资料分开存放,每个工作区独立文档、独立提示词、独立模型,互不干扰,适合区分办公资料、笔记、合同、技术文档Gitee。
  2. 强大的文档接入能力 支持 PDF / Word / PPT / Excel / Markdown / TXT / EPUB,还能抓取网页链接、YouTube 字幕、音频转写内容;上传后自动分块、向量化存入向量库,回答附带原文来源引用,方便溯源。
  3. 模型兼容,完美适配 Ollama 不绑定模型,可对接 Ollama、LM Studio、llama.cpp,也支持 OpenAI、Azure 等云端接口;向量库默认内置 LanceDB,也可切换 Chroma、Qdrant、PGVector 等,你之前用的 qwen2.5、bge-m3 都能直接接入AnythingLL…。
  4. 内置 AI Agent 能力 自带工具调用:联网搜索、读取网页、SQL 查询、文件生成,支持可视化编排 Agent 流程,不止单纯文档问答,还能做简单自动化任务agents-oss…。
  5. 多用户权限 + API 自托管版本支持多账号、精细化权限管控;自带 REST API,可以给其他程序调用知识库能力,适合小团队内部使用。
  6. 多种部署方式 提供桌面客户端(Windows/Mac/Linux)、Docker 镜像,非常适合在 NAS、fnOS、Linux 服务器部署;搭配 cpolar 内网穿透,外网随时访问私有知识库AnythingLL…。

🧩 典型使用场景

  • 个人:本地笔记、电子书、技术手册、学习资料私有问答,离线可用
  • 小团队:合同、项目文档、产品手册知识库,多人查阅提问
  • 开发:代码文档、运维手册、接口文档,快速检索答疑
  • 企业:敏感内部资料,不上传第三方平台,数据完全自留

📌 和Ollama的区别

  • Ollama:负责跑大模型、Embedding 嵌入模型(算力层)
  • AnythingLLM:负责文档管理、向量存储、RAG 检索、网页界面、权限(应用层) 二者搭配就是一套完整离线私有 AI 知识库方案,也就是我们之前准备部署的组合。

📋 简单部署门槛参考

  • 内存:推荐 16G,8G 可以跑 3B 小模型(qwen2.5:3b)
  • 部署:Docker 一键启动,对 NAS 友好;无显卡也能 CPU 跑,速度偏慢

📌 适合谁

个人做私有笔记、电子书、手册问答;小团队搭建内部文档知识库;运维、开发把运维文档、接口文档做成可问答库,敏感数据不用上传第三方。

总结

AnythingLLM 是目前上手门槛最低、开箱体验最好的开源 RAG 应用,不用写 LangChain 代码,可视化操作,兼顾个人自用和小团队私有化知识库需求,是本地 Ollama 生态里的热门搭档项目。

2.安装前提条件

分硬件、系统、依赖、网络、配套服务 5 块,适合你 NAS/Linux Docker 部署场景

✅ 硬件要求

最低(能跑,速度一般)

  • 内存:8GB RAM(可用内存≥4G),推荐 16GB+(你之前那台 15G 内存机器刚好合适)
  • 硬盘:至少 5GB 空闲空间(AnythingLLM 本体 + 向量库,模型单独占空间)
  • CPU:x86_64 主流 CPU;ARM(树莓派、部分 NAS)也支持,但大模型推理慢
  • 显卡(可选):N 卡支持 CUDA 可以加速 Ollama;没有显卡也能跑,纯 CPU 推理

⚠️ 注意:AnythingLLM 本身不吃太多资源,资源消耗大头是 Ollama 的大模型 + 向量化模型(bge-m3)

✅ 系统环境

(推荐 Docker 方式,最省事)

优先推荐 Docker 部署(你之前在用)

  • 支持系统:Ubuntu / Debian / CentOS /fnOS(飞牛 NAS)、Windows、macOS
  • 必备:
    1. Docker Engine
    2. Docker Compose(v2+,新版 docker 自带 docker compose)
  • 权限:root 或者用户加入 docker 组
  • 端口预留:
    • AnythingLLM 默认:3001
    • Ollama 默认:11434(两个容器要互通这个端口!)

❗ fnOS 注意:原生 docker 存储驱动容易踩坑,不要乱改 daemon.json,容易启动失败

✅ 配套服务

本地方案选 Ollama

AnythingLLM 只是 RAG 前台,本身不带大模型,必须对接 LLM 服务:

  1. ✅ Ollama(你用的方案,离线本地,推荐)
    • 提前装好 Ollama
    • 提前拉模型:qwen2.5:7b / 3b + 向量化 bge-m3
    • 保证容器内可以访问 http://host.docker.internal:11434
  2. 其他备选:OpenAI、通义千问等在线 API(需要联网、key)

✅ 网络 & 权限前提

  1. 网络:
    • 拉取镜像需要能访问 Docker Hub;国内慢可以配置镜像加速
    • 纯本地使用:部署完成后不需要外网,所有问答、文档检索离线跑
  2. 文件夹权限:
    • 挂载持久化目录(存放上传文档、向量库、聊天记录),权限建议 uid:gid=1000:1000,否则会报读写失败
  3. 防火墙:服务器 / NAS 放行 3001 端口,局域网才能访问页面

✅ 软件版本避坑条件

  • Ollama 不要用太老版本,建议更新到最新稳定版
  • 不要同时多个程序占用 11434 端口(端口冲突 Ollama 起不来)
  • Swap 交换分区:内存<16G 建议开启 swap,防止 OOM 崩溃

📌 极简前置检查命令(Linux 直接复制跑)

# 查看内存
free -h
# 查看磁盘剩余
df -h
# 检查docker是否正常
docker info
# 测试ollama连通性(宿主机)
curl http://127.0.0.1:11434/api/tags

3.安装Ollama

官网:https://ollama.com/download/windows 双击安装,自动后台启动,端口 11434

58562aefcee665486a3fd388cd1cc34d

拉模型(PowerShell)

ollama pull qwen2.5:7b
ollama pull bge-m3

0ef0f9e9342f3897b22f61de03dd13db

2e3a1dd90517121025d1d90906f9c31d

验证 Ollama:浏览器打开 http://127.0.0.1:11434/api/tags 能返回 JSON

d963cce91d63785fe97e51fddb82a21b

4.安装部署AnythingLLM

4.1 安装AnythingLLM

方式 1:单条命令启动

新建 PowerShell(管理员不用,普通即可),直接复制运行:

$env:STORAGE_LOCATION="$HOME\Documents\anythingllm"; `
If(!(Test-Path $env:STORAGE_LOCATION)) {New-Item $env:STORAGE_LOCATION -ItemType Directory}; `
If(!(Test-Path "$env:STORAGE_LOCATION\.env")) {New-Item "$env:STORAGE_LOCATION\.env" -ItemType File}; `
docker run -d -p 3001:3001 `
--cap-add SYS_ADMIN `
-v "$env:STORAGE_LOCATION`:/app/server/storage" `
-v "$env:STORAGE_LOCATION\.env:/app/server/.env" `
-e STORAGE_DIR="/app/server/storage" `
--name anythingllm `
--restart unless-stopped `
mintplexlabs/anythingllm:latest

42ffb091e01330985c4d7bf3cab9d00d

启动完成,访问:

  • 本机:http://localhost:3001
  • 局域网其他设备:http://你的Windows内网IP:3001

695f9b576ce5de8acfe20fd478ee3b77

方式 2:docker部署

在电脑随便新建一个文件夹,新建 docker-compose.yml,内容:

version: '3.8'
services:
  anythingllm:
    image: mintplexlabs/anythingllm:latest
    container_name: anythingllm
    restart: unless-stopped
    ports:
      - "3001:3001"
    cap_add:
      - SYS_ADMIN
    volumes:
      - ./storage:/app/server/storage
      - ./.env:/app/server/.env
    environment:
      - STORAGE_DIR=/app/server/storage
    extra_hosts:
      - "host.docker.internal:host-gateway"

在这个文件夹内打开 PowerShell,启动:

docker compose up -d

4.2 部署AnythingLLM

浏览器打开 http://IP:3001

695f9b576ce5de8acfe20fd478ee3b77

选择 LLM 提供商:Ollama

Chat Model:qwen2.5:7b

b12dbc16c9ccfef9a6a8fd2ecfc4ff1f

用户设置

7a9a527db2a63f8ac2d327172e82c56e

默认下一步

577f5598cd7fe7bcf6cc544498f747f7

设置电子邮箱

560f914fddfb152eb9750cf8142db1df

登陆成功

8a52fdc63f39581fe88a0be23a34481b

5.使用AnythingLLM

当前选用 qwen2.5:7b 模型,左侧侧边栏展示 “我的工作区” 以及对话线程列表,主区域居中显示提示文字 “我们从哪里开始?”,下方设有消息输入框,附带工具按钮,底部还有创建代理、编辑工作区、上传文件三个功能按钮,是等待用户发起提问的初始 RAG 交互界面。

image-20261103151859791

选用Qwen2.5:7B本地模型,用户提问 “分析这篇文章是做什么的”,AI给出了对Mealie自托管食谱工具教程文章的解读回答,右侧来源面板标注了检索引用的知识库文件,界面整体简洁,清晰展示了本地RAG检索问答的效果。

ca1aebcbcd007a966712e559e4be96db界面偏好设置页面:左侧是功能导航栏,包含人工智能提供商、管理员、代理技能、外观、用户与安全等菜单,当前停留在外观分类下的界面偏好设置页;页面右侧可以设置系统主题、挑选Default、True Dark、Ocean等多款调色板,还能修改界面显示语言,当前语言选项为English,底部附带联系支持、隐私与数据入口。

image-20261103155613532

左侧导航栏选中 “人工智能提供商” 下的大语言模型(LLM),LLM 提供商选择了 Ollama,模型指定为 qwen2.5:7b,Ollama 基础地址填写为http://host.docker.internal:11434,设置模型保活时长为 5 分钟,上下文窗口自动管理,还可填写 Ollama 认证令牌,用于对接本地 Ollama 大模型服务。

image-20261103170931794

左侧菜单栏选中代理技能分类,页面左侧列表展示各类代理能力与应用集成项:检索增强生成和长期记忆、查看和总结文档、抓取网站、实时网络搜索和浏览四项功能已开启,文件系统访问、文档创建、生成图表、生成图像、SQL连接器、创建计划任务以及Gmail、Google日历、Outlook 连接器均处于关闭状态,暂无导入的自定义技能,还支持创建Agent Flow;右侧提示选择一项代理技能、流程或MCP服务器进行配置。

image-20261103171057820

左侧导航选中社区中心下的探索热门,页面展示社区上新资源,分为Agent Skills和System Prompts两大板块;Agent Skills里包含日历事件、上下文时间、天气查询、Home Assistant自动化等技能,标注有已验证 / 未验证状态,每个卡片都带有Import导入按钮;System Prompts板块提供SEO工具顾问、剧情反转生成器、人物传记生成等预设提示词,同样支持导入,右上角还有Explore More入口可浏览更多社区资源。

image-20261103171229483

将 AnythingLLM 搭配 cpolar 内网穿透,可以把本地 Docker 部署的私有知识库大模型服务,不用公网 IP、不用路由器端口映射,快速生成公网访问链接,方便在外网、移动端或者分享给他人远程访问你的 AnythingLLM 对话与文档检索页面,同时 cpolar 还能配置密码保护、自定义域名,保障本地 RAG 知识库的访问安全。

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

接下来介绍一下如何安装cpolar内网穿透,过程同样非常简单:

首先进入cpolar官网:

cpolar官网地址: https://www.cpolar.com

点击免费使用注册一个账号,并下载最新版本的cpolar:

image-20250828153039526

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

image-20250828153119554

cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到配置界面,结下来在WebUI管理界面配置即可。

image-20250828153208376

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:AnythingLLM,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:3001
  • 域名类型:随机域名
  • 地区:选择China Top

image-20261103173932797

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20261103174020301

访问成功。

image-20261103174045734

7.保留固定公网地址

使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是AnythingLLM,大家可以自定义。填写备注信息,点击保留。

image-20261103174528093

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

image-20261103174921275

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20261103174958865

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20261103175032292

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20261103175050087

总结

Ollama 搭配 AnythingLLM 可以搭建一套完全本地化的私有文档 AI 知识库,依托 Ollama 在本地运行大模型,AnythingLLM 负责文档解析、向量存储、RAG 检索与对话管理,全程数据不出本机,不经过第三方云端,用户完整掌握文档、对话等数据;整套方案支持 Docker 一键部署,可自由切换不同本地大模型,开启检索、文档总结、网页抓取等 Agent 能力,再搭配 cpolar 内网穿透,还能安全地在外网远程访问私有知识库,适合有隐私需求的个人、小团队做本地私有 RAG。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章