EQVPS

Self-hosted RAG на масштабе: сколько RAM реально ест векторный индекс

Aug 9, 2026 · 2 min read · EQVPS Team

Каждый туториал по RAG крутится на ноутбуке с парой сотен документов, и кажется, что всё легко. Потом вы направляете его на реальный корпус — доки компании, годы тикетов, базу знаний — и вдруг вся беседа только про память.

RAG масштабируется не по CPU. Он масштабируется по RAM.

Почему индекс хочет память

Поиск работает так: каждый кусок текста превращается в эмбеддинг — вектор из сотен-тысяч чисел. Поиск — это сравнение вашего вектора-запроса со всеми, быстро. «Быстро» — ключевое: для низкой латентности индекс должен жить в RAM. На диске работает, но каждый запрос платит штраф, а быстрый поиск и был смыслом self-host.

Так что счёт за память растёт от двух вещей: сколько у вас кусков и насколько широк каждый вектор.

Реальные числа, грубо

Мерьте своё — размерность и тип индекса сильно двигают это, — но как стартовое ощущение:

Мульти-агентная система, которая ещё и держит крупный индекс, складывает оба счёта на одну машину — вот так 32-гиговый тариф тихо превращается в 64-гиговый.

Выбор движка, кратко

Если уже крутите Postgres, pgvector — вариант наименьшего усилия: расширение, а не новый сервис на присмотр. Когда векторов миллионы и нужен быстрый фильтрованный поиск, отдельный движок вроде Qdrant или Weaviate оправдывает отдельный процесс. Не переусложняйте в первый день; гоняйте что уже эксплуатируете и выделяйте, когда поиск реально затормозит.

Зачем вообще self-host

Две причины, по которым это реально делают, и ни одна не «сэкономить пару долларов»:

Приватность. Эмбеддинги не абстрактны — они кодируют текст, из которого сделаны. Ваши доки, контент клиентов, внутренние заметки, превращённые в векторы и отправленные на серверы третьей стороны. Self-host держит это на машине под вашим контролем. Если данные достаточно чувствительны, чтобы вы ещё и платили криптой без KYC, managed векторное облако рушит весь смысл.

Фиксированная цена. Managed векторные сервисы считают по хранимым векторам и запросам. VPS — одно месячное число, и его можно долбить сколько угодно. На масштабе предсказуемое бьёт счётчик.

Что это значит для sizing

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

Для чего угодно за парой миллионов векторов, хранимых приватно, линейка Pro даёт 32–80 ГБ с выделенным IP и ночными бэкапами — что важно, когда индекс и есть продукт и потерять его больно.

FAQ

Почему RAG нужно столько RAM?

Быстрому векторному поиску нужен индекс в памяти. Каждый кусок текста становится эмбеддингом — вектором из сотен-тысяч чисел — и на миллионах кусков это набегает. Держите индекс на диске — латентность поиска подскакивает; сохранить весь смысл self-host (скорость + контроль) значит держать его в RAM.

Сколько RAM под конкретный корпус?

Грубо: пара сотен тысяч эмбеддингов влезает в 2–4 ГБ. Пара миллионов, с приложением и ОС вокруг, — 16–32 ГБ. Десятки миллионов или векторы большой размерности — территория 48–80 ГБ, а дальше — по нескольким машинам. Размерность и тип индекса сильно качают это, так что мерьте своё.

pgvector или отдельный движок вроде Qdrant?

Если уже крутите Postgres, pgvector — путь наименьшего усилия: одно расширение, одна база. Для миллионов векторов с тяжёлой фильтрацией специализированный движок оправдывает отдельный сервис. Начните с того, что уже эксплуатируете; переезжайте, когда поиск затормозит.

Зачем self-host вместо managed векторного сервиса?

Две реальные причины: эмбеддинги часто кодируют приватные данные (доки, заметки, контент клиентов), и self-host держит это на машине под вашим контролем. И это фиксированная цена — managed считает по векторам и запросам, VPS это одно месячное число без счётчика за запрос.

← Back to blogSee plans & pricing →

Комментарии

Пока нет комментариев. Будьте первым.

Оставить комментарий

Комментарии проходят модерацию перед публикацией.