AnythingLLM 跟之前讲的 LangChain RAG 干的是同一件事——让 AI 基于你的文档回答问题。区别是它不用写代码,开箱即用。
跟 LangChain 的区别
LangChain RAG 是自己写 Python,什么都能定制但得会编程。AnythingLLM 是成品工具,上传文档就能问,还支持多用户、自带 API。
如果只是”传文档→AI 回答”,AnythingLLM 够了。要精细控制切分策略、自定义检索逻辑,才需要上 LangChain。
Docker 一行命令
mkdir -p /opt/anythingllm
docker run -d -p 3001:3000
--cap-add SYS_ADMIN
-v /opt/anythingllm/storage:/app/server/storage
-e STORAGE_DIR="/app/server/storage"
--name anythingllm
mintplexlabs/anythingllm:latest访问 http://你的IP:3001。
想一步到位用 compose 也行:
cat > docker-compose.yml << 'EOF'
version: "3.8"
services:
anythingllm:
image: mintplexlabs/anythingllm:latest
container_name: anythingllm
restart: unless-stopped
ports:
- "3001:3000"
cap_add:
- SYS_ADMIN
volumes:
- ./storage:/app/server/storage
environment:
- STORAGE_DIR=/app/server/storage
- LLM_PROVIDER=ollama
- OLLAMA_BASE_PATH=http://host.docker.internal:11434
- OLLAMA_MODEL_PREF=qwen2.5:7b
- EMBEDDING_ENGINE=ollama
- EMBEDDING_BASE_PATH=http://host.docker.internal:11434
- EMBEDDING_MODEL_PREF=nomic-embed-text
EOF
docker compose up -d初始化
首次访问会让你:
- 设管理员密码
- 选 LLM 提供商 → Ollama
- 填地址 →
http://host.docker.internal:11434或http://172.17.0.1:11434 - 选模型 → qwen2.5:7b
- 选嵌入模型 → nomic-embed-text(记得先
ollama pull nomic-embed-text)
Ollama 得监听 0.0.0.0,127.0.0.1 容器里连不上。
用
进系统后:
- New Workspace → 起名字
- Upload → 丢文档进去
- 支持 PDF、TXT、Markdown、Word、网页 URL、GitHub 链接、YouTube 字幕、CSV
- 它自动分块、向量化、建索引
- 聊天框提问,AI 基于文档回答,下方显示引用来源
多用户管理:Users → New User。可以给不同用户分配不同的 Workspace。
资源
自身大约 200~400MB。向量库用内置的 LanceDB,零额外开销。加上 Ollama 7B 模型,总共 5~6G。比 Dify 轻不少,8G 机器跑 3B 模型没问题。
数据存在 /opt/anythingllm/storage,备份这个目录就行。
选 AnythingLLM 还是 Dify?
只需要知识库问答,AnythingLLM 更轻量,一条命令就起。要工作流编排、Agent、可视化搭建应用,选 Dify。
两个都装不冲突。AnythingLLM 管知识库,Dify 做应用开发,各干各的。