Телеграм бот для быстрого распознавания текста на фото с помощью Mistral OCR
Иногда надо что-то быстро оцифровать — время работы магазина с его таблички, визитную карточку, квитанцию почтового отправления. Приходится делать фотографию, которая потом теряется в куче других фотографий, и не может быть найдена по контексту.
Идея — сделать фото, перевести в текст, сразу отформатировать/обработать/перевести как надо и сохранить уже куда хочешь — в Telegram избранное, Google Keep, Google Контакты, Obsidian и т.д. И чтоб всё было быстро и удобно.
Так появился Argus — телеграм бот, в котором можно сделать фото (или кинуть ему изображение), он распознает и выведет текст, который повторно можно пропустить через обычную chat completion LLM.
В принципе, бот вполне справляется и с обычным распознаванием страницы А4, но основное использование, всё-таки, подразумевается другое.
OCR
Mistral OCR — по заявлениям создателей, первая модель для профессионального распознавания pdf и изображений с »сохранением структуры документа».
Её особенностью является невозможность задания системного промпта — распознанный текст просто выдается в markdown формате. Принимает изображение ссылкой или в base64.
Модель вполне неплохо распознает, пытается иногда даже в markdown таблицы, но ей нужен именно хорошо читаемый текст — сильно мятую бумагу не понимает, в словах делает ошибки как настоящий OCR, а не AI. На самом деле, из документации Mistral неясно, есть ли вообще в их OCR процессоре какой-то AI.
Заявленный функционал
Извлекает текстовое содержимое, сохраняя структуру и иерархию документа
Сохраняет форматирование, например заголовки, абзацы, списки и таблицы
Возвращает результаты в формате markdown для упрощения разбора и рендеринга
Обрабатывает сложные макеты, включая многоколоночный текст и смешанное содержимое
Обрабатывает документы в масштабе с высокой точностью
Поддерживает различные форматы документов, включая PDF и изображения.
LLM
При вышеуказанном использовании выдаваемый Mistral OCR текст, конечно, прикольный, но в нем, обычно, слишком много шума. Поэтому его надо почистить обычной LLM. И markdown тут дает дополнительный уровень семантики.
Argus позволяет загадать ровно одно желание после распознавания.


Примеры использования:
Сфотографировать квитанцию СДЭК => Оставь только номер отправления
Сфотографировать визитку => Сделай json
Сфотографировать газетную статью => Сделай саммари
Сфотографировать непонятный текст => Переведи на русский
После этого результат можно перенаправить или «поделиться» с кем надо
Функционал бота вполне соответствует обычному чатботу, и вопросы ему можно задавать любые.

Бот бесплатный. Комментарии и пожелания приветствуются.