Recompose
Нативное OCR-приложение для macOS, которое восстанавливает документ, а не только распознаёт текст.
- 88 тестов
- 64 MoE-экспертов · Top-6
- текст · таблицы · диаграммы
- без Python runtime
Что это
Приложение для macOS, которое из скана или фотографии документа собирает документ, а не текстовый файл. Таблицы остаются таблицами, заголовки — заголовками, диаграммы и схемы переносятся вырезом в нужное место страницы. Результат выгружается в DOCX, в восстановленный PDF и в searchable PDF.
Почему появился
Обычный OCR решает задачу распознавания и на этом останавливается: на выходе поток строк. Дальше человек садится и вручную пересобирает то, что в исходнике уже было — колонки, таблицы, порядок блоков. На документах вида «спецификация с таблицами и схемой» эта работа занимает больше времени, чем чтение самого документа.
Recompose устраняет именно этот шаг. Модель распознаёт не только символы, но и структуру страницы, а приложение собирает из неё файл, который можно открыть и править.
Что сделал
Полный inference Unlimited-OCR на Swift и MLX, с нуля:
- SAM Vision Encoder — разбор изображения страницы;
- CLIP-подобный Vision Encoder — второй визуальный путь;
- Vision Fusion — объединение представлений;
- MoE-декодер — 64 эксперта, Top-6 routing.
Плюс всё вокруг модели: сборка документа из предсказаний, экспорт в три формата, две поверхности — CLI и GUI, и 88 тестов на пайплайн.
Что технически интересно
Модель работает внутри приложения на native Metal runtime. В поставке нет Python: ни интерпретатора, ни torch, ни отдельного локального сервера, к которому приложение обращается по сети. Это меняет характер продукта — пользователь скачивает приложение, а не разворачивает окружение.
MoE-декодер на 64 эксперта с Top-6 routing — самая тяжёлая часть портирования: маршрутизация токенов по экспертам должна совпадать с референсной реализацией, иначе расхождение накапливается по мере генерации и разрушает разметку документа, а не только отдельные символы.
Что получилось
Из изображения документа получается редактируемый файл: DOCX для правки, восстановленный PDF для печати, searchable PDF когда нужно сохранить исходный вид и добавить текстовый слой. Диаграммы, которые модель не может выразить текстом, вставляются вырезом изображения.
Приложение готовится к публикации.