AnythingLLM:把 DeepSeek 接上你自己的文档,直接问它合同怎么写的
6.7 万 star 的文档问答工具,桌面版和服务器版都有。上传 PDF、Word、网页,它建向量索引,DeepSeek 负责回答并给出引用。
纯聊天解决不了的问题,基本都出在"它不知道我的东西"上。
AnythingLLM 就是补这一块的:你把文档喂给它,它检索后再让模型回答。接 DeepSeek 之后,等于给你的私人资料配了一个会查资料的助手。
6.7 万 star,地址:
https://github.com/Mintplex-Labs/anything-llm
两种装法
桌面版:下载安装包,开箱即用,数据在本机。适合个人。
服务器版:Docker 部署,多人访问。适合团队或家里共用。
服务器版:
services:
anythingllm:
image: mintplexlabs/anythingllm
container_name: anythingllm
ports: ["3001:3001"]
volumes:
- ./anythingllm:/app/server/storage
environment:
- STORAGE_DIR=/app/server/storage
restart: unless-stopped
docker compose up -d
打开 http://NAS地址:3001,先建管理员账号。
接 DeepSeek
第一次进会有个引导,或者在设置 → LLM 首选项里改:
| 字段 | 填什么 |
|---|---|
| LLM 提供方 | Generic OpenAI |
| Base URL | https://api.deepseek.com/v1 |
| API Key | sk-你的key |
| 模型名 | deepseek-chat |
保存后,在聊天页右上角能确认当前模型。
还有一个必配项:Embedding。它负责把文档变成向量,没配好就没法检索。选项:
- 用它内置的(会下载一个本地模型,几百兆,最省事);
- 或者接 Ollama 跑
nomic-embed-text。
DeepSeek 主要提供对话模型,所以 embedding 这块得靠别的方式。
用起来是这样的
- 新建一个工作区(Workspace),比如叫"合同";
- 上传文件,或者直接贴网页链接;
- 点 Move to Workspace,等它切分、向量化;
- 提问:“这份合同里,违约金是按什么比例算的?”
回答会带引用编号,点开能看到原文段落。这一步很关键——它让你能核对,而不是盲信。
几个实用的点
支持多种来源:PDF、Word、TXT、网页、GitHub 仓库、YouTube 字幕。
工作区隔离:合同一个库、技术文档一个库,互不串味。
API 模式:它自己也提供 API,可以用脚本往里灌文档、批量提问。
多用户 + 权限:服务器版能建账号、分配工作区。
会踩的坑
上传了文档但回答"我不知道" 文档还在"待处理",没点 Move to Workspace。回工作区看状态。
回答质量差,总是答非所问 切分粒度不对。合同、条款类文档把 chunk 大小调小(比如 500 token),检索更准。
Embedding 下载失败 内置模型从境外下载。挂个代理,或者改用本地 Ollama 的 embedding。
中文 PDF 解析乱码 扫描版需要 OCR。它内置的解析器对纯图片 PDF 无能为力,先转文字版。
内存吃紧 向量库和 embedding 都占内存,1 GB 起步,2 GB 舒服。
它适合谁
- 有一堆文档想"问"而不是"搜"的;
- 合同、手册、论文、内部资料的整理;
- 需要一个能离线、数据不外泄的文档问答工具的。
不适合:只聊天不查资料的(Chatbox 更快);文档量很小、直接搜索就够的。
最后
RAG 类工具的效果,八成取决于你的文档质量,两成取决于模型。
DeepSeek 负责那两成,而且做得不错。剩下八成,靠你把扫描件转成文字、把乱七八糟的 PDF 整理干净。
有问题留言。
留言