Перейти к содержимому

Решения · Чат с несколькими моделями

VPS для LibreChat

LibreChat: чат-интерфейс с открытым исходным кодом для множества моделей сразу: OpenAI, Anthropic, Google, а также локальные модели через OpenAI-совместимый endpoint, с агентами, поиском по файлам и учётными записями для всей команды. В документации не указаны требования к RAM или ЦП, а официальный файл Docker Compose запускает шесть контейнеров, поэтому мы подбираем размер исходя из этого. BD-8 за $12.90 в месяц: самая дешёвая машина с реальным запасом; C2-4-80 за $37.90: конфигурация поменьше для одного пользователя или небольшой группы.

Что нужно

Программы по документации, размеры с указанием источника

Программы и настройки безопасности взяты из официальной документации проекта. Если проект не публикует требований к оборудованию, у размеров указано, чьи это рекомендации.

По документации LibreChat и его файлу compose

  • Git и Docker на Linux. Руководство по Docker на librechat.ai больше ничего не перечисляет и не указывает требований к RAM, ЦП или диску.
  • Установка: клонируйте репозиторий, затем cp .env.example .env && docker compose up -d. Приложение отвечает на порту 3080; второй контейнер, панель администратора, отвечает на порту 3000.
  • Официальный файл compose запускает шесть контейнеров: приложение LibreChat, его панель администратора, MongoDB для разговоров и учётных записей, Meilisearch для поиска по разговорам, базу данных pgvector и RAG API для поиска по файлам.
  • Модели: это ключи, а не оборудование. Ключи OpenAI, Anthropic и Google указываются в .env, либо каждый пользователь вводит свой в интерфейсе. Локальная модель: это отдельный endpoint Ollama или другой OpenAI-совместимый endpoint, который вы добавляете в librechat.yaml, поэтому этой машине GPU не нужен.

Размеры (наши, исходя из шести контейнеров, которые запускает файл compose)

Подбор размера по задаче
НагрузкаvCPURAM
Один пользователь или небольшая группа, несколько чатов, без интенсивного поиска по файламНаши. Шесть контейнеров даже в простое занимают собственную память; это минимум, на котором мы бы их запускали.24 GB
Команда, поиск по файлам включён, поисковый индекс растётНаши. MongoDB, Meilisearch и векторной базе данных нужен запас, а создание эмбеддингов для загрузок нагружает ЦП.48 GB
Много пользователей, большие наборы документов, разговоры хранятся годамиНаши. Хранилище разговоров, поисковый индекс и векторы растут по мере использования.816 GB

Подходящие тарифы

Машин: 5, цены актуальные

Сначала самая дешёвая подходящая машина. Цены текущие, за месяц, из каталога.

  • BD-8$12.90/мес.

    4 vCPU · 8 GB · диск 100 GB · 32 TB

    Самый дешёвый с запасом для всего стека. Комфортно для команды: шесть контейнеров, загрузки и поисковый индекс, с запасом памяти.

  • BD-12$17.90/мес.

    6 vCPU · 12 GB · диск 200 GB · 32 TB

    Больше диска для загрузок и векторов. Для настоящей библиотеки документов для поиска по файлам и многолетней истории сохранённых разговоров.

  • BD-24$31.90/мес.

    8 vCPU · 24 GB · диск 300 GB · 32 TB

    Большая команда или несколько активных пользователей. Много памяти, чтобы MongoDB, Meilisearch и векторной базе данных было куда расти.

  • C2-4-80$37.90/мес.

    2 vCPU · 4 GB · диск 80 GB · 3 TB

    Меньшая конфигурация, для одного или нескольких пользователей. Тянет стек; не запускайте на нём ещё и локальную модель или сборки. Выбирайте его ради города, а не размера.

  • C4-8-160$75.90/мес.

    4 vCPU · 8 GB · диск 160 GB · 3 TB

    Комфортный размер, если города самой дешёвой строки вам не подходят. Та же конфигурация, что и в самой дешёвой строке, для команды, которой нужен другой город.

Готового пресета для LibreChat пока нет: установка состоит из шагов ниже, которые вы вводите сами. Это команды из документации LibreChat, а также секреты, которые запрашивает его compose-файл.

Установка

Четыре шага из документации LibreChat

Docker, стек compose, первая учётная запись, затем ваши модели. Зарегистрируйте свою учётную запись сразу после запуска стека: первая созданная учётная запись становится администратором.

  1. Docker. curl -fsSL https://get.docker.com | sh Затем убедитесь, что docker compose version отвечает.
  2. Клонируйте и настройте. git clone https://github.com/LibreChat-AI/LibreChat.git cd LibreChat && cp .env.example .env В .env задайте MEILI_MASTER_KEY (не менее 16 символов) и ADMIN_PANEL_SESSION_SECRET, без которого панель администратора не запустится. Если контейнеры сообщают об ошибках прав доступа, укажите в UID и GID пользователя, от имени которого запускается compose.
  3. Запустите и зарегистрируйтесь первым. docker compose up -d docker compose ps должен показать, что все шесть контейнеров запущены. Откройте http://your-ip:3080 и нажмите «Регистрация»: пользователя по умолчанию нет. Пока перед приложением нет HTTPS, держите порты 3080 и 3000 закрытыми брандмауэром и подключайтесь к приложению через SSH: ssh -N -L 3080:127.0.0.1:3080 root@your-server
  4. Добавьте модели, затем домен. Укажите OPENAI_API_KEY, ANTHROPIC_API_KEY и GOOGLE_KEY в .env или оставьте значение user_provided, чтобы каждый пользователь вводил собственный ключ. Для локальной модели добавьте эндпоинт Ollama в librechat.yaml; изнутри контейнера адрес будет host.docker.internal, а не localhost. Для HTTPS направьте A-запись на сервер, поставьте перед ним обратный прокси и укажите в .env публичный адрес в DOMAIN_CLIENT и DOMAIN_SERVER. Когда ваши сотрудники зарегистрируются, установите ALLOW_REGISTRATION в false.

Откровенно

Что купили бы мы сами

LibreChat не указывает минимума, а запускает шесть контейнеров. Берите машину с 8 GB.

Для LibreChat и команды

BD-8 · $12.90/мес.

4 vCPU, 8 GB и 100 GB за $12.90: весь официальный стек, с запасом памяти для роста MongoDB, Meilisearch и векторной базы данных, с диском для загрузок и ЦП для создания эмбеддингов документов без подвисания чата. Модели находятся в другом месте, за API-ключом, поэтому этой машине GPU никогда не нужен. Если вам нужен город, которого нет в самой дешёвой строке, C4-8-160 за $75.90: такая же конфигурация в других местах.

Вопросы

Что спрашивают перед покупкой.

Каковы системные требования LibreChat?
Документация их не публикует. Руководство по Docker называет Git и Docker как предварительные требования и ничего не говорит о RAM, ЦП или диске. Мы можем опереться на официальный файл compose, который запускает шесть контейнеров: приложение LibreChat, панель администратора, MongoDB, Meilisearch, базу данных pgvector и RAG API. Размеры на этой странице наши, выведенные из этого стека, и таблица это указывает. На машине с 8 GB команде перестаёт быть тесно.
Нужен ли LibreChat GPU?
Нет. LibreChat: это интерфейс: он обращается к той модели, которую вы настроите, через API-ключ OpenAI, Anthropic, Google и других, либо через собственный endpoint, например Ollama. Если вы хотите также размещать модель самостоятельно, это отдельная машина и отдельный вопрос: на странице Ollama подобран размер для инференса на ЦП в зависимости от модели, а интерактивную скорость даёт линейка GPU.
Какие порты он использует?
Файл compose публикует приложение на порту PORT из .env, по умолчанию 3080, а панель администратора на 3000. MongoDB, Meilisearch, векторная база данных и RAG API не публикуются и остаются в сети compose. Приложение работает по обычному HTTP, поэтому держите порты 3080 и 3000 закрытыми брандмауэром, пока обратный прокси не обеспечит HTTPS, и сначала зарегистрируйте свою учётную запись: первая созданная становится администратором.
Какие ключи API мне нужны?
Для запуска стека не нужно ни одного, и по одному на каждого поставщика, которым вы хотите пользоваться. OPENAI_API_KEY, ANTHROPIC_API_KEY и GOOGLE_KEY в .env.example по умолчанию имеют значение user_provided: каждый пользователь вводит свой ключ в интерфейсе; чтобы использовать один ключ для всех, укажите там настоящий ключ. Поиск по файлам настраивается отдельно: RAG API по умолчанию использует эмбеддинги OpenAI, и для него RAG_OPENAI_API_KEY переопределяет OPENAI_API_KEY, поэтому поиску по файлам нужен ключ для эмбеддингов, если вы не смените поставщика.
Как использовать с ним локальные модели?
Добавьте пользовательский эндпоинт в librechat.yaml, указывающий на OpenAI-совместимый сервер, например Ollama, по его адресу /v1/ на порту 11434. Собственное руководство LibreChat советует использовать host.docker.internal вместо localhost, когда LibreChat работает в контейнере, и отмечает, что Ollama игнорирует ключ API, но поле не может быть пустым. Если модель не совсем маленькая, запускайте её на отдельной машине; машины на этой странице подобраны для интерфейса.
LibreChat, Open WebUI или Dify?
LibreChat и Open WebUI: оба это чат-интерфейсы для множества моделей, причём LibreChat делает упор на многопользовательские учётные записи, агентов и инструменты MCP у разных хостинговых провайдеров. Dify: платформа для LLM-приложений, то есть промпты, рабочие процессы и RAG-приложения, которые вы создаёте и публикуете, а не чат-интерфейс для команды. Все они работают на одних и тех же машинах, и для каждого у нас есть своя страница.
Как его обновить?
Из документации: docker compose down, удалите старые образы, git pull, docker compose pull, затем docker compose up. Сначала сделайте резервную копию каталога data-node (MongoDB), каталога данных Meilisearch и вашего .env: это разговоры, поисковый индекс и ключи.