Каждый туториал по RAG крутится на ноутбуке с парой сотен документов, и кажется, что всё легко. Потом вы направляете его на реальный корпус — доки компании, годы тикетов, базу знаний — и вдруг вся беседа только про память.
RAG масштабируется не по CPU. Он масштабируется по RAM.
Почему индекс хочет память
Поиск работает так: каждый кусок текста превращается в эмбеддинг — вектор из сотен-тысяч чисел. Поиск — это сравнение вашего вектора-запроса со всеми, быстро. «Быстро» — ключевое: для низкой латентности индекс должен жить в RAM. На диске работает, но каждый запрос платит штраф, а быстрый поиск и был смыслом self-host.
Так что счёт за память растёт от двух вещей: сколько у вас кусков и насколько широк каждый вектор.
Реальные числа, грубо
Мерьте своё — размерность и тип индекса сильно двигают это, — но как стартовое ощущение:
- Пара сотен тысяч эмбеддингов — комфортно в 2–4 ГБ. Личная база знаний, доки одного продукта.
- Пара миллионов — с приложением, клиентом модели и ОС вокруг закладывайте 16–32 ГБ. Это серьёзная корпоративная база знаний или мульти-источниковый RAG.
- Десятки миллионов или векторы большой размерности — вот вам 48–80 ГБ, а дальше — несколько машин. Большие массивы документов, мульти-тенантный поиск или несколько индексов держатся горячими сразу.
Мульти-агентная система, которая ещё и держит крупный индекс, складывает оба счёта на одну машину — вот так 32-гиговый тариф тихо превращается в 64-гиговый.
Выбор движка, кратко
Если уже крутите Postgres, pgvector — вариант наименьшего усилия: расширение, а не новый сервис на присмотр. Когда векторов миллионы и нужен быстрый фильтрованный поиск, отдельный движок вроде Qdrant или Weaviate оправдывает отдельный процесс. Не переусложняйте в первый день; гоняйте что уже эксплуатируете и выделяйте, когда поиск реально затормозит.
Зачем вообще self-host
Две причины, по которым это реально делают, и ни одна не «сэкономить пару долларов»:
Приватность. Эмбеддинги не абстрактны — они кодируют текст, из которого сделаны. Ваши доки, контент клиентов, внутренние заметки, превращённые в векторы и отправленные на серверы третьей стороны. Self-host держит это на машине под вашим контролем. Если данные достаточно чувствительны, чтобы вы ещё и платили криптой без KYC, managed векторное облако рушит весь смысл.
Фиксированная цена. Managed векторные сервисы считают по хранимым векторам и запросам. VPS — одно месячное число, и его можно долбить сколько угодно. На масштабе предсказуемое бьёт счётчик.
Что это значит для sizing
Начните с замера корпуса, а не с догадки. Возьмите число эмбеддингов и размерность, загрузите выборку, посмотрите резидентную память, экстраполируйте. Потом берите тариф с запасом под индекс плюс всё вокруг — приложение, клиент модели, место на рост.
Для чего угодно за парой миллионов векторов, хранимых приватно, линейка Pro даёт 32–80 ГБ с выделенным IP и ночными бэкапами — что важно, когда индекс и есть продукт и потерять его больно.
Комментарии
Пока нет комментариев. Будьте первым.