AnythingLLM 私有知识库:本地 RAG 搭建(2026)

AnythingLLM 私有知识库:本地 RAG 搭建(2026)

公司 wiki、产品手册、几百份合同、你攒了三年的笔记——这些资料塞不进一次对话,直接丢给大模型也会超上下文。正确做法是建一个私有知识库:把文档切好、向量化、存起来,每次提问时只检索最相关的几段喂给模型。这整套流程叫 RAG(检索增强生成)。

自己从零搭 RAG 很折腾。AnythingLLM 把「上传文档 → 切分 → 向量化 → 对话」整个闭环做成了开箱即用的桌面/服务端应用,全程可以跑在你自己的机器上,数据不出内网

一、它解决什么问题

假设你有 200 页的产品文档,问「退款流程怎么走」。直接把文档贴给云端模型:超长度、烧钱、还可能泄露。用 AnythingLLM:

  1. 文档先被切成小段,转成向量存进向量库
  2. 你提问时,系统先用向量检索找出最相关的 3~5 段
  3. 只把这几段 + 你的问题一起发给模型
  4. 模型基于「真实文档片段」回答,并标注来源

回答的可靠性来自真实文档,而不是模型「凭记忆编」。

二、安装与启动

最省事是桌面版(Windows / macOS / Linux 都有):去 anythingllm.com 下载安装,双击打开就是图形界面。

想长期跑在服务器上(团队共用),用 Docker:

docker run -d --name anythingllm \
  -p 3001:3001 \
  -v $(pwd)/storage:/app/server/storage \
  mintplexlabs/anythingllm

打开 http://你的服务器:3001 完成初始化,设置管理员账号即可。

三、第一次建知识库

  1. 左侧 New Workspace 建一个工作区,比如「产品文档」
  2. Upload 拖入 PDF / Word / TXT / 网页链接 / YouTube 字幕都行
  3. 上传后点 Move to Workspace 把它加进当前工作区
  4. 等向量化进度条走完(右下角有提示)

然后直接在对话框问:「退款时效是几天?」它会从你刚传的文档里找答案。

四、三个必须调的旋钮

在 Workspace 设置里:

  • Chat Model:选哪个模型来回答。可以接 Ollama 本地模型(上一讲),也可以接 DeepSeek / OpenAI 的 API。私有性要求高就选本地。
  • Embedder(向量化模型):负责把文字转向量。本地推荐 all-MiniLM-L6-v2,零依赖;量大的话用云端嵌入更快。
  • Vector DB:向量存哪。桌面版默认内置,Docker 版可选 Chroma / Qdrant / LanceDB。小团队用内置足够。

五、让回答更准的实战技巧

  1. 文档先清理:扫描版 PDF 文字识别不准,先转成可复制文本再传;大文件先拆章,别丢一整本 500 页的书进去。
  2. 切分粒度:默认 1000 字符一段通常够用。超长表格类文档调小 chunk size,避免一段塞不下。
  3. 追问带上下文:同一工作区内连续对话,模型记得前文,可以「那如果是企业用户呢?」这样追问。
  4. 看来源:靠谱的回答会附引用片段。如果它开始瞎编,大概率是文档里没有相关内容——补充文档而不是怪模型。

六、4 个常见坑

  1. 中文文档检索差:默认嵌入模型对中文一般。换支持中文的嵌入模型(如 bge-large 系列)检索质量明显提升。
  2. 上传了但问不到:检查文档是否真的 Move 进了 Workspace,以及向量化有没有完成。
  3. 回答很慢:嵌入和问答都在本地跑时,首问会等向量化;后续命中缓存就快了。
  4. Docker 数据丢了:忘了挂 -v 卷,容器重建文档全没。一定要把 storage 目录映射出来并定期备份。

七、和 Ollama 搭配是最优组合

最稳的纯本地方案:Ollama 提供模型 + AnythingLLM 做 RAG 前端,两台机器或同一台都行。数据完全留在你掌控的环境里,适合合同、病历、内部代码这类敏感资料。如果只是个人笔记检索,桌面版 + 内置模型五分钟就能跑起来。

← 返回博客列表