跳至正文

解决方案 · 文档聊天

用于 AnythingLLM 的 VPS

AnythingLLM 是一个基于您自有文档的私有聊天工作区:上传文件后,文件会被嵌入内置的向量数据库,您可以通过 API 密钥调用托管模型,或通过 Ollama 调用本地模型与这些文档对话。其文档要求 2 GB RAM、支持 AVX2 的双核 CPU 和 5 GB 磁盘,并称 AVX2 是唯一的硬性要求。GL2-4(每月 $11.90)是满足这一下限的最便宜机器;我们会选择 BD-8($12.90),因为嵌入器运行在本机 CPU 上。

运行要求

软件来自官方文档,规格注明来源

软件及安全配置均来自项目自己的文档。若项目未公布硬件要求,规格会注明出自谁的建议。

来自 docs.anythingllm.com 和项目的 Docker 指南

  • “RAM 2GB, 2-core CPU with AVX2, Storage 5GB”:这是文档给出的最低配置。在云主机上,Docker 指南要求至少 2 GB RAM 和最少 10 GB 磁盘。
  • AVX2 是“唯一的硬性要求”:默认向量数据库面向 2013 年及以后的 CPU 编译,缺少它服务器启动即崩溃。请在机器内部检查:lscpu | grep -o avx2。如果没有任何输出,请将 VECTOR_DB 设置为其他向量数据库。
  • 安装:docker run -d -p 3001:3001 --cap-add SYS_ADMIN … mintplexlabs/anythingllm,并将存储目录挂载到 /app/server/storage。应用运行在 3001 端口。
  • 聊天需要一个模型:托管服务商的 API 密钥,或运行在本机或其他机器上的 Ollama。嵌入默认在本机 CPU 上运行。带权限管理的多用户模式是 Docker 版本的功能。无需 GPU。

规格(先列项目最低要求,再列我们的建议)

按应用场景选择规格
工作负载vCPURAM
文档、聊天、托管模型(官方最低配置)支持 AVX2 的双核。磁盘 5 GB,云主机上为 10 GB;仅镜像就要占用数 GB。22 GB
真正的文档库、内置 CPU 嵌入器、少量用户我们的建议。嵌入在这颗 CPU 上运行;在双核上处理大量上传需要很长时间。48 GB
同机运行 Ollama,实现完全本地化我们的建议。这是模型托管的问题,而不是 AnythingLLM 的问题:请在 Ollama 页面确定规格。832 GB

合适的套餐

5 台机器,实时报价

最便宜的适配机器排在最前。价格为今日价格,按月计,取自产品目录。无论购买哪一款,请在第一分钟内运行 AVX2 检查。

  • GL2-4$11.90/月

    2 vCPU · 4 GB · 40 GB 磁盘 · 不计流量

    满足下限的最便宜机器,不计流量。2 vCPU / 4 GB / 40 GB,内存是文档要求的两倍,上传流量不计量。请先运行 AVX2 检查,再做其他操作。

  • BD-8$12.90/月

    4 vCPU · 8 GB · 100 GB 磁盘 · 32 TB

    我们会选择的:4 核跑嵌入器。多花一美元即可获得 4 vCPU、8 GB、100 GB 和 32 TB 流量。在四核而非双核上为文档库做嵌入,差别是能明显感受到的。

  • BD-24$31.90/月

    8 vCPU · 24 GB · 300 GB 磁盘 · 32 TB

    8 vCPU / 24 GB,适合多用户并在同机运行 Ollama。可在同机用 Ollama 运行 8B 模型(速度较慢),并容纳一个团队的文档。

  • C2-4-80$37.90/月

    2 vCPU · 4 GB · 80 GB 磁盘 · 3 TB

    下限配置,遍布数十个城市。2 vCPU / 4 GB / 80 GB。按城市选择。使用托管模型,文档库规模适中。

  • C4-8-160$75.90/月

    4 vCPU · 8 GB · 160 GB 磁盘 · 3 TB

    4 vCPU / 8 GB / 160 GB,覆盖数十个城市。舒适的规格,磁盘足以容纳大型文档库及其向量。

目前还没有 AnythingLLM 的一键启动预设:安装需要您亲自输入下面五个步骤。第 3 步与项目官方命令有一个参数不同,用于将端口绑定到回环地址,步骤中已作说明。

安装

五个步骤,取自项目的 Docker 指南

检查 CPU,安装 Docker,在回环地址上运行容器,通过 SSH 完成设置,然后绑定域名。

  1. 先检查 AVX2。lscpu | grep -o avx2 输出中必须有 avx2。官方文档明确指出,这是唯一的硬件要求,且无法模拟;没有该指令集的机器需要在首次启动前将 VECTOR_DB 设置为外部向量数据库。
  2. Docker。curl -fsSL https://get.docker.com | sh
  3. 在回环地址上运行。export STORAGE_LOCATION=/opt/anythingllm && mkdir -p $STORAGE_LOCATION && touch $STORAGE_LOCATION/.env docker run -d --name anythingllm --restart unless-stopped -p 127.0.0.1:3001:3001 --cap-add SYS_ADMIN --add-host=host.docker.internal:host-gateway -v $STORAGE_LOCATION:/app/server/storage -v $STORAGE_LOCATION/.env:/app/server/.env -e STORAGE_DIR="/app/server/storage" mintplexlabs/anythingllm 这是项目官方命令,只改了一处:用 -p 127.0.0.1:3001:3001 代替 -p 3001:3001,这样在您设置密码之前,聊天界面不会暴露在公网上。存储目录中保存着数据库、向量和您的文档,请做好备份。
  4. 通过 SSH 完成设置。ssh -N -L 3001:127.0.0.1:3001 root@your-server 然后访问 http://127.0.0.1:3001。选择 LLM:托管服务商及其 API 密钥,或者如果 Ollama 运行在本机,则使用 http://host.docker.internal:11434。在其他人能访问之前,请在 Settings 中开启多用户模式或设置实例密码。
  5. 绑定域名。将 A 记录指向服务器,安装 Caddy,在 Caddyfile 中为您的域名添加一段 reverse_proxy 127.0.0.1:3001,即可获取证书并在 3001 端口前提供 HTTPS。防火墙只开放 80 和 443 端口,其余一律不开。

说实话

我们实际会买哪台

下限是 2 核 2 GB,最便宜的那一行就能满足。但我们仍会多花这一美元。

适合您真正会用的文档库

BD-8 · $12.90/月

4 vCPU、8 GB 和 100 GB,价格 $12.90,对比 GL2-4($11.90):每月多花一美元,就能为每次上传都在本机运行的嵌入器多换来两个核心,并为文档及其向量提供 100 GB 空间。模型在别处,通过 API 密钥调用,因此无需 GPU;如果您想在同机运行 Ollama,请阅读 Ollama 页面,按模型而非 AnythingLLM 来选购。无论选哪一款,请在上传任何文件之前先运行 AVX2 检查。

常见问题

购买前大家常问的问题。

AnythingLLM 的系统要求是什么?
其文档给出的最低配置为 2 GB RAM、支持 AVX2 的双核 CPU 和 5 GB 存储,并称这足以存储部分文档、进行聊天和使用各项功能。项目的 Docker 指南补充说,在云主机上应至少准备 2 GB RAM 和 10 GB 磁盘,因为磁盘占用会随文档、向量和本地模型增长。文档还指出,该应用是对外部服务的封装,因此当模型和嵌入器在别处时它很轻量,而当它们运行在同一台机器上时则更重。
AVX2 要求是什么?我的 VPS 会支持吗?
默认向量数据库 LanceDB 是为支持 AVX2 指令集的 CPU(Intel Haswell,2013 年及更新)编译的。缺少它,服务器进程会在数据库加载时立即被终止,文档称其为唯一的硬性硬件要求。虚拟机的问题在于:即使宿主机是新型 CPU,虚拟化层也可能呈现一个隐藏 AVX2 的通用 CPU 型号,因此文档建议在虚拟机内部用 lscpu | grep -o avx2 检查,而不是在宿主机上检查。我们不会承诺一个无法从产品目录中确认的 CPU 特性,所以请在第一分钟内运行这一行命令。如果没有任何输出,请将 VECTOR_DB 设置为其他受支持的向量数据库之一,这些数据库以独立服务运行。
需要 GPU 吗?
不需要。AnythingLLM 本身运行 Web 应用、文档处理流程,以及默认的纯 CPU 嵌入器。聊天回答来自您所连接的 LLM:通过 API 密钥接入的托管服务商(文档称其开销几乎为零),或通过 Ollama 接入的本地模型。文档自己的建议是:如果运行 AnythingLLM 的机器没有 GPU,就把本地模型部署在另一台有 GPU 的机器上。那属于 Ollama 页面和 GPU 产品线的范畴,而非本页。
安装后会暴露在公网上吗?
项目官方命令会在所有网络接口上发布 3001 端口,而新实例在您设置密码之前没有密码。本页的安装方法改为将 3001 绑定到 127.0.0.1,因此在您添加域名之前,唯一的访问方式是 SSH 隧道。之后,在 Settings 中设置实例密码或开启多用户模式(README 将其列为 Docker 版本的功能),然后再在前面加上 HTTPS。
我的数据存放在哪里?
在您挂载到 /app/server/storage 的存储目录中:SQLite 数据库、LanceDB 向量、上传的文档以及本地下载的模型。Docker 指南要求将其挂载到宿主机上,正是为了让您拉取新镜像时不丢失任何数据。请备份该目录及其旁边的 .env 文件,两者合起来就是整个实例。
能否使用同一台机器上的 Ollama?
可以。在容器内部,宿主机地址为 http://host.docker.internal:11434,在 Linux 上需要在运行命令中加上 --add-host=host.docker.internal:host-gateway;上面的步骤已包含这一参数。此时应按模型来确定机器规格:8B 模型在 AnythingLLM 之外还需要独占 8 GB,并且在 CPU 上每秒只能生成几个 token。24 GB 这一行是本页中能宽裕运行的最小规格。