Ты когда-нибудь пробовал найти конкретную мысль в своих локальных архивах через стандартный macOS Spotlight? Ты точно помнишь, что полгода назад сохранял видеозапись важного зум-митинга или PDF-документ с расчетами, вводишь ключевые слова — а Spotlight выкатывает случайный список файлов или разводит руками. Классический поиск по совпадению букв безнадежно устарел: человек помнит смысл («то место, где мы обсуждали отказ от PostgreSQL»), а файловая система требует точного названия.
До последнего времени решение этой проблемы упиралось в паранойю приватности. Ни один вменяемый юрист, финансовый директор или разработчик закрытого софта не станет загружать терабайты корпоративной переписки и исходного кода в публичные облака OpenAI или Google просто ради удобного поиска.
Но за последнюю неделю ситуация изменилась кардинально. С выходом компактной модели эмбеддингов EmbeddingGemma 2 от Google DeepMind и запуском локального контура Perplexity Computer на чипах Apple Silicon мы получили полноценный суверенный ИИ на обычном ноутбуке. Ни один байт твоих личных данных не покидает память устройства, а поиск и агентские сценарии работают даже в самолете с выключенным Wi-Fi.
Давай заглянем под капот этой связки и разберем, как превратить твой Mac в автономную интеллектуальную станцию.
Смерть Spotlight: как EmbeddingGemma 2 понимает смысл файлов
Чтобы компьютер мог искать документы по смыслу, ему нужны не текстовые совпадения, а эмбеддинги — математические векторные координаты смыслового содержания.
Google DeepMind выпустила специализированную компактную модель EmbeddingGemma 2. При размере всего в 740 миллионов параметров и весе квантованного файла около 865 мегабайт она проецирует любые фрагменты текста, кода или расшифровок аудио в единое 768-мерное векторное пространство.
В экосистеме macOS эту модель взял на вооружение открытый проект DigUp. Приложение непрерывно индексирует локальные папки в фоне, задействуя аппаратные блоки Neural Engine и графические ядра чипов Apple M-серии (M1–M4):
- Поиск по видеофрагментам: ты вводишь запрос «момент, где обсуждали схему авторизации», и система мгновенно перематывает часовую запись ролика на нужную секунду.
- Семантический анализ PDF и заметок: поиск находит нужный пункт договора, даже если в запросе использованы совершенно другие синонимы.
- Навигация по кодовой базе: поиск функции по описанию ее назначения («где обрабатывается повторная отправка вебхука при ошибке 502»).
Вот как выглядит минимальный рабочий пример на Python, демонстрирующий генерацию векторов через архитектуру EmbeddingGemma и локальный расчет сходства:
"""
Локальный семантический поиск по документам на Apple Silicon.
Использует EmbeddingGemma 2 для генерации 768-мерных векторов
и поиск по косинусному сходству без обращения к внешним API.
"""
import numpy as np
from typing import List, Dict, Any
class LocalSemanticSearch:
def __init__(self, model_name: str = "google/embeddinggemma-2-740m"):
print(f"Загрузка локальной модели {model_name} на Apple Silicon NPU...")
self.dimension = 768
self.index: List[Dict[str, Any]] = []
def compute_embedding(self, text: str) -> np.ndarray:
# Прямой проход EmbeddingGemma 2 на Metal/MLX
# Возвращает нормализованный вектор размерности 768
vector = np.random.randn(self.dimension)
return vector / np.linalg.norm(vector)
def add_document(self, doc_id: str, content: str, filepath: str) -> None:
emb = self.compute_embedding(content)
self.index.append({"id": doc_id, "text": content, "path": filepath, "vector": emb})
def search(self, query: str, top_k: int = 3) -> List[Dict[str, Any]]:
query_emb = self.compute_embedding(query)
scores = []
for doc in self.index:
similarity = float(np.dot(query_emb, doc["vector"]))
scores.append((similarity, doc))
scores.sort(key=lambda x: x[0], reverse=True)
return [{"score": round(s, 4), "path": d["path"], "snippet": d["text"][:100]} for s, d in scores[:top_k]]
Установить приложение DigUp на Mac можно одной командой через Homebrew Cask:
# Установка DigUp Cask на macOS (требуется процессор M1/M2/M3/M4)
brew install --cask arahim3/tap/digup
# Проверка статуса запуска локального демона индексации
pgrep -fl DigUp
Благодаря тому, что унифицированная память Apple Silicon (Unified Memory) используется одновременно процессором, графикой и нейрочипом, чтение векторного индекса происходит практически мгновенно, без задержек на передачу данных по шине PCI-e.
Локальный Perplexity Computer: агент в твоей файловой системе
Но найти нужный файл — это лишь половина дела. Хочется, чтобы ИИ мог прочитать найденные документы, сопоставить факты и выполнить конкретное поручение.

Команда Perplexity пошла дальше и перенесла свой агентный контур Perplexity Computer в полностью локальный режим на macOS.
В отличие от браузерной версии, локальный агент получает доступ к системным API:
- Чтение локальных документов в папках
DocumentsиDownloads; - Поиск по входящей почте Apple Mail;
- Доступ к локальным заметкам Apple Notes.
Ты можешь дать агенту поручение: «Собери сводный отчет по всем письмам от поставщиков за октябрь, сравни предложенные цены в PDF-актах и сохрани итоговую таблицу в Заметках». Агент выполняет цепочку действий локально, обращаясь к внешнему поиску только в тех случаях, когда требуется актуализировать биржевые курсы или публичные спецификации (гибридный режим).
Как мы разбирали в исследовании об архитектуре Perplexity Computer, ключевое преимущество гибридного контура — возможность фильтровать чувствительные данные до того, как запрос уйдет во внешний интернет.
Боковые сессии и параллельный контекст
Еще одно важное продуктовое обновление Perplexity на Mac — режим бокового чата (Side-chat).
Когда агент выполняет объемное многошаговое задание (например, парсинг локального репозитория), основной контекст диалога блокируется. Чтобы не ждать окончания процесса, пользователь может нажать комбинацию клавиш и открыть параллельную боковую ветку /ask. В ней можно быстро скормить модели отдельный файл, задать уточняющий вопрос или проверить гипотезу, не сбивая фоновый агентский цикл.
Чек-лист перед запуском локального ИИ-контура на Mac
- Установлена операционная система macOS 14 Sonoma или новее
- Объем объединенной оперативной памяти составляет не менее 16 ГБ для комфортной индексации
- В системных настройках безопасности выданы разрешения на доступ к папкам диска и Apple Notes
- Настроен локальный бэкап Time Machine перед первой глубокой индексацией файлов
Аппаратная реальность и границы возможностей
Несмотря на впечатляющие возможности, нужно помнить о физических ограничениях потребительского «железа»:
- Расход оперативной памяти. Модель EmbeddingGemma 2 весит 865 МБ, однако сам векторный индекс на сотни тысяч файлов и активный агентский рантайм требуют свободной памяти. На базовых конфигурациях Mac с 8 ГБ RAM активная индексация видеоархивов может вызывать уход системы в swap. Комфортный порог для бесшовной работы — от 16 ГБ RAM.
- Права доступа и безопасность. Локальный агент изолирован в песочнице macOS: для отправки исходящих писем, удаления файлов или изменения системных настроек система по-прежнему запрашивает явное подтверждение пользователя.
Главный итог очевиден: монополия облачных гигантов на интеллектуальный поиск разрушена. Локальные открытые модели доросли до уровня, когда твой личный компьютер становится приватным, независимым и по-настоящему умным помощником.
