Давно собираюсь сделать себе нормальный локальный RAG: чтобы можно было задавать вопросы своим материалам и получать ответы с опорой на них. И вот отличный подгон от Google для этой задачи.

6 октября Google выпустила EmbeddingGemma 2 — маленькую модель для поиска по смыслу. Она работает с текстом, кодом, изображениями, видео и аудио.

Главное — она рассчитана на локальный запуск даже на смартфонах. Например, готовая сжатая сборка для LiteRT занимает на диске около 485 МБ.

В замерах Google на Pixel 11 Pro сжатый вариант использует около 191 МБ активной оперативной памяти для текстовых весов и около 567 МБ для полной мультимодальной модели. К этому добавится память для приложения, поискового индекса и модели, которая будет составлять ответы.

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

В RAG она отвечает за поиск: находит подходящие части архива. Затем генеративная модель составляет ответ с опорой на найденное. Google предлагает использовать для этого Gemma 4. Если индекс и обе модели работают локально, документы можно обрабатывать без отправки в облако.

Веса уже доступны на Hugging Face, лицензия — Apache 2.0. Можно начать с текстовой части модели, а обработку изображений и звука подключить позже.

Google заодно представила AI Edge Foresight — экспериментальное приложение для Mac на EmbeddingGemma 2 и Gemma 4. Оно помогает вести заметки на встречах и искать по личным файлам, заметкам и расшифровкам, обрабатывая данные локально.

Для моего будущего RAG это очень кстати: поиск по собственному архиву можно строить на компактной модели, которая помещается даже в телефон.

Следующий шаг

Для генерации ответов в локальном RAG понадобится языковая модель. Вот руководство по запуску Gemma 4 E2B.

Локальную базу знаний полезно начинать с конкретных вопросов, ответы на которые вы хотите находить в своём архиве.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov