Решения · Чат с документами
VPS для AnythingLLM
AnythingLLM: приватное рабочее пространство для чата с вашими собственными документами. Вы загружаете файлы, они индексируются во встроенную векторную базу данных, и вы общаетесь с ними через облачную модель по API-ключу или через локальную модель в Ollama. Документация требует 2 GB RAM, 2-ядерный процессор с AVX2 и 5 GB диска и называет AVX2 единственным жёстким требованием. GL2-4 за $11.90 в месяц: самая дешёвая машина, отвечающая этому минимуму; BD-8 за $12.90: та, которую купили бы мы, потому что эмбеддер работает на процессоре этой машины.
Что нужно
Программы по документации, размеры с указанием источника
Программы и настройки безопасности взяты из официальной документации проекта. Если проект не публикует требований к оборудованию, у размеров указано, чьи это рекомендации.
По материалам docs.anythingllm.com и руководства Docker от проекта
- «RAM 2GB, 2-core CPU with AVX2, Storage 5GB»: минимум из документации. Для облачной машины руководство по Docker указывает не менее 2 GB RAM и не менее 10 GB диска.
- AVX2: «единственное жёсткое требование»: векторная база по умолчанию собрана для процессоров 2013 года и новее, и без AVX2 сервер падает при запуске. Проверьте внутри машины:
lscpu | grep -o avx2. Если команда ничего не выводит, укажите вVECTOR_DBдругую векторную базу данных. - Установка:
docker run -d -p 3001:3001 --cap-add SYS_ADMIN … mintplexlabs/anythingllmс каталогом хранилища, смонтированным в /app/server/storage. Приложение работает на порту 3001. - Для чата нужна модель: API-ключ облачного провайдера или Ollama на этой или другой машине. Индексация по умолчанию выполняется на процессоре этой машины. Многопользовательский режим с правами доступа есть в версии для Docker. GPU не нужен.
Размеры (минимум проекта, затем наш)
| Нагрузка | vCPU | RAM |
|---|---|---|
| Документы, чаты, облачная модель (официальный минимум)Два ядра с AVX2. 5 GB диска, 10 GB на облачной машине; одни только образы занимают несколько гигабайт. | 2 | 2 GB |
| Полноценная библиотека документов, встроенный CPU-эмбеддер, несколько пользователейНаш. Индексация выполняется на этом процессоре; большая загрузка на двух ядрах занимает много времени. | 4 | 8 GB |
| Ollama рядом для полностью локального стекаНаш. Это вопрос размещения модели, а не AnythingLLM: подбирайте размер на странице Ollama. | 8 | 32 GB |
Подходящие тарифы
Машин: 5, цены актуальные
Сначала самая дешёвая подходящая машина. Цены актуальны на сегодня, в месяц, взяты из каталога. Какую бы вы ни купили, выполните проверку AVX2 в первую же минуту.
- GL2-4$11.90/мес.
2 vCPU · 4 GB · диск 40 GB · Unmetered
Самый дешёвый, отвечающий минимуму, трафик без учёта. 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 рядом. Место для модели 8B в Ollama на той же машине (медленно) и документов команды.
- 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 отличается от команды проекта одним флагом, который привязывает порт к loopback, и об этом там сказано.
Установка
Пять шагов по руководству Docker от проекта
Проверьте процессор, установите Docker, запустите контейнер на loopback, настройте через SSH, затем подключите домен.
- Сначала проверьте AVX2.
lscpu | grep -o avx2Команда должна вывести avx2. Документация прямо говорит, что это единственное аппаратное требование и что его нельзя эмулировать; на машине без AVX2 нужно до первого запуска указать вVECTOR_DBвнешнюю векторную базу данных. - Docker.
curl -fsSL https://get.docker.com | sh - Запустите на loopback.
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, чтобы чат не был доступен из интернета, пока вы не задали пароль. В каталоге хранилища находятся база данных, векторы и ваши документы; делайте его резервные копии. - Настройте через 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, прежде чем к нему сможет подключиться кто-то ещё. - Подключите домен. Направьте A-запись на сервер, установите Caddy, и один блок Caddyfile
reverse_proxy 127.0.0.1:3001для вашего домена получит сертификат и поставит HTTPS перед портом 3001. Откройте в файрволе порты 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, прежде чем загрузить хотя бы один файл.
Вопросы