Как приручить свои данные и создать цифрового двойника с помощью Anagnorisis
Знакомая ситуация: у вас на жестком диске или в облаке скопились терабайты музыки, фотографий и документов, но найти там что-то действительно стоящее — задача на целый вечер. Алгоритмы Spotify или YouTube знают о ваших вкусах больше, чем ваши собственные папки. Но есть нюанс: отдавать личные архивы корпоративным нейросетям для обучения не хочется, а бесконечный поток «умных» рекомендаций в интернете всё чаще напоминает цифровой шум.
Недавно я наткнулся на проект Anagnorisis. Это локальная рекомендательная система, которая работает прямо на вашем железе. Она учится на ваших данных, понимает ваши предпочтения и при этом никуда ничего не отправляет.
Что умеет эта штука
Идея Anagnorisis проста: вы скармливаете ей свои файлы, ставите им оценки, а система обучается предсказывать, что вам понравится в следующий раз. Это не просто поиск по тегам, а попытка создать вашу персональную модель интересов.
Внутри проекта несколько модулей:
- Музыка: плеер с умной сортировкой.
- Изображения: поиск по смыслу и визуальным предпочтениям.
- Текст: работа с документами и заметками.
- Видео: каталогизация роликов.
Самое интересное происходит на этапе обучения. Вы оцениваете контент по шкале от 0 до 10. Набрав критическую массу оценок, вы запускаете fine-tuning модели. После этого система начинает ранжировать новые файлы так, как это сделали бы вы сами. Если алгоритм ошибся — поправляете оценку, и в следующий раз он станет точнее.
Техническая начинка и «омни-подход»
Разработчик проекта (volotat) выбрал классический стек: Flask на бэкенде, Bulma для интерфейса, PyTorch и Transformers для магии ML. Но дьявол кроется в деталях реализации поиска.
Раньше проект использовал разные модели для разных типов данных: CLAP для звука, SigLIP для картинок, Jina для текста. Сейчас архитектура меняется в сторону «омни-дескриптора». Система использует MiniCPM-o-4_5, чтобы превратить любой контент — будь то песня или картинка — в текстовое описание. А уже потом работает с текстовыми эмбеддингами.
Такой подход кажется тяжеловесным (нужна видеокарта с 8 ГБ VRAM или много оперативной памяти для CPU-режима), но он дает унификацию. В перспективе это позволит создать единую модель ваших предпочтений, которая понимает «вайб» контента независимо от формата файла.
Как это запустить у себя
Проще всего использовать Docker. Автор предупреждает, что контейнер весит прилично — около 45 ГБ после сборки, так как тянет в себя CUDA-драйверы и тяжелые модели.
Для старта нужно склонировать репозиторий и настроить пути к вашим папкам в docker-compose.override.yaml:
volumes:
- /home/user/Anagnorisis-config:/mnt/project_config
- /home/user/Photos:/mnt/media/images/Photos
- /home/user/Music:/mnt/media/music/Music
После запуска по адресу localhost:5001 откроется интерфейс. Будьте готовы подождать при первом запуске: приложению нужно выкачать гигабайты весов моделей с Hugging Face. Если процесс прервется, модели могут побиться, так что лучше поглядывать в логи в папке logs/.
Зачем это нужно разработчику
Помимо очевидного наведения порядка в архивах, Anagnorisis — это отличная песочница для изучения того, как работают современные рекомендательные системы «под капотом».
Здесь можно:
- Посмотреть, как реализована модульная архитектура на Python, где новые модули подхватываются на лету.
- Изучить интеграцию векторного поиска и работу с эмбеддингами.
- Поэкспериментировать с дообучением моделей на малых выборках данных.
Кстати, у проекта есть внешние модули для YouTube и веб-поиска. Они позволяют использовать Anagnorisis как фильтр для внешнего мира: система будет просеивать выдачу видеохостинга или результаты поиска, оставляя только то, что соответствует вашему «цифровому профилю».
Кому стоит попробовать
Проект явно не для тех, кто ищет легкое решение в один клик. Это инструмент для «дата-хордеров» и тех, кто ценит приватность. Если у вас есть коллекция музыки в lossless или архив фотографий за 10 лет, и вы хотите научить компьютер понимать, почему вам нравится одна картинка и не нравится другая — Anagnorisis стоит потраченного времени.
Главный минус сейчас — высокие требования к железу и некоторая сырость «омни-подхода», о чем автор честно пишет в README. Но сама концепция локального цифрового двойника, который защищает вас от информационного мусора, выглядит как минимум здраво.
Посмотреть код и инструкции можно в репозитории Anagnorisis.