AnythingLLM 本地部署教程:上传文档就能问的 AI 知识库,Docker 一键部署

AnythingLLM 跟之前讲的 LangChain RAG 干的是同一件事——让 AI 基于你的文档回答问题。区别是它不用写代码,开箱即用。


跟 LangChain 的区别

LangChain RAG 是自己写 Python,什么都能定制但得会编程。AnythingLLM 是成品工具,上传文档就能问,还支持多用户、自带 API。

如果只是”传文档→AI 回答”,AnythingLLM 够了。要精细控制切分策略、自定义检索逻辑,才需要上 LangChain。


Docker 一行命令

BASH
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 也行:

BASH
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

初始化

首次访问会让你:

  1. 设管理员密码
  2. 选 LLM 提供商 → Ollama
  3. 填地址 → http://host.docker.internal:11434http://172.17.0.1:11434
  4. 选模型 → qwen2.5:7b
  5. 选嵌入模型 → nomic-embed-text(记得先 ollama pull nomic-embed-text

Ollama 得监听 0.0.0.0,127.0.0.1 容器里连不上。


进系统后:

  1. New Workspace → 起名字
  2. Upload → 丢文档进去
  3. 支持 PDF、TXT、Markdown、Word、网页 URL、GitHub 链接、YouTube 字幕、CSV
  4. 它自动分块、向量化、建索引
  5. 聊天框提问,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 做应用开发,各干各的。

发表评论