Телеграм бот для быстрого распознавания текста на фото с помощью 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 позволяет загадать ровно одно желание после распознавания.

c67b01aee49938b58797d3eea7448b1b.png9ef54999ff79483a395b6ad9748692ab.png

Примеры использования:

  1. Сфотографировать квитанцию СДЭК => Оставь только номер отправления

  2. Сфотографировать визитку => Сделай json

  3. Сфотографировать газетную статью => Сделай саммари

  4. Сфотографировать непонятный текст => Переведи на русский

После этого результат можно перенаправить или «поделиться» с кем надо

Функционал бота вполне соответствует обычному чатботу, и вопросы ему можно задавать любые.

Пример
dc26d2a297bb5bb8eae07a59b281299d.png

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

© Habrahabr.ru