Пришло время добавить в телеграм-бота для распознавания текста на фото Argus распознавание рукописного текста. Бот бесплатный, значит и LLM должна быть бесплатной. Из требований доступности были выбраны представленные на OpenRouter модели, всего image -> text нашлось 18 штук.
Ниже эксперименты со всеми.
Вот список претендентов:
allenai/molmo-7b-d:free,
bytedance-research/ui-tars-72b:free,
qwen/qwen2.5-vl-3b-instruct:free,
google/gemini-2.5-pro-exp-03-25:free,
qwen/qwen2.5-vl-32b-instruct:free,
mistralai/mistral-small-3.1-24b-instruct:free,
google/gemma-3-1b-it:free,
google/gemma-3-4b-it:free,
google/gemma-3-12b-it:free,
google/gemma-3-27b-it:free,
qwen/qwen2.5-vl-72b-instruct:free,
google/gemini-2.0-flash-thinking-exp:free,
google/gemini-2.0-flash-thinking-exp-1219:free,
google/gemini-2.0-flash-exp:free,
google/learnlm-1.5-pro-experimental:free,
meta-llama/llama-3.2-11b-vision-instruct:free,
qwen/qwen-2.5-vl-7b-instruct:free,
google/gemini-flash-1.5-8b-exp
Первый этап, несложный текст из статьи из интернета 2.5 летней давности, в которой исследовались 9 специализированных приложений для распознавания, и на котором практически все засыпались:

Сама картинка:

С незначительными помарками на "отлично" справились все, кроме нижеследующих:
Meta Llamu понесло
Здравствуйте! Это изображение рукописного текста в русском наизусть и скажу, что текст перечисляет дивную информацию о ненужных вещах. Здесь перечислены пять лет рекламы. Рекламные психологи приказали мне создать этот суфоллую реквизиту. Я решил, что многофункциональный средний имениاسی пути до Джексона. Имя - это наименование, которое дает матерью. Метки - это в точки в Земле. Позднее я рассказал коллектив в казахстанские, она строит смешной сканер в ри и только соприлизую, помогать. "Держать функции" этому всю актуем Шпельберг были магазины. Ичинь обучал трешле Ангел него глоыш Глосб, Бомше комбековtablename может модно Волись берлядой статика импери то вода пенде ли аккорд вайсе транзииту единдом короткое. Я-хап Херами не денно. ......
google_gemma-3-4b-it:free
- на 7 из 10, надо чиститьgoogle_gemma-3-1b-it:free
- пустоallenai_molmo-7b-d:free
- тоже погнал
Они выбывают из соревнования. Но видно, как сильно за 2 года вперёд шагнул прогресс.
Следующий этап - ай да Пушкин.

Нас покидает Qwen
ниже 72B, хотя 7B (6 из 10) справился значительно лучше, чем 32B. С нимgoogle/learnlm
, к сожалению, mistral
("Я вас люблю так нежно, так трепетно, Как дарю вам лишь страсть моего когтя."), а также bytedance-research
, google_gemini-flash-1.5-8b-exp
, google_gemma-3-27b-it:free
и google_learnlm-1.5-pro-experimental:free
Кто-то из них совсем ничего не выдал, кто-то частично правильный текст.
google_gemma-3-27b-it:free решила похвастать знанием русской литературы
Конечно, я распознаю текст на картинке. Вот что там написано: Я вас люблю: любя ещё, быть может В душе моей угасла не совсем; Но пусть она вас больше не тревожит; Я не хочу печалить вас ничем. Я всё люблю: безмолвно, безнадежно, Любовью той, что грезная мечта; Я всё люблю, столь нежно, столь нежно, Как дан вам Бог любимою быть тогда. Это отрывок из стихотворения Фёдора Тютчева "Я вас люблю: любя ещё...".
Модели google/gemini-2.0-flash-xxx
все справились на "отлично", с google/gemini-2.5-pro-exp-03-25:free
я наткнулся на лимиты Google, поэтому она тоже выбывает по своей индивидуальной причине.
Лимиты Google

RPM - requests per minute
TPM - tokens per minute
RPD - requests per day
Пока "любя" в нашей душе еще не до конца угасла, продолжаем эксперимент. Остались Qwen
и три Gemini
qwen/qwen2.5-vl-72b-instruct:free,
google/gemini-2.0-flash-thinking-exp:free,
google/gemini-2.0-flash-thinking-exp-1219:free,
google/gemini-2.0-flash-exp:free,
Этап третий.

Gemini
- неплохо, Qwen
много напридумывал. Вот лучший вариант.
google_gemini-2.0-flash-exp:free
Это вообще работает. Помогло поверить обилие подписчиков, отзывы людей на сайте и в VK, все-таки уйти. Не разочаруемся. Конечно ожидания были про состояние нирваны и рая на земле, приходилось скорректировать ожидания до реальности. Удалось проработать много ситуац.
Ну и на посошок, пока неплохо читаемый рецепт обычного российского врача всем четверым. Потому как основная задача у нас - распознавание медицинских документов для Lissa Health.

Сделал несколько прогонов. Никто, естественно, не родил что-то полностью удобоваримое. Больше всего понравилась google/gemini-2.0-flash-thinking-exp:free
(это последняя в серии). Она давала чаще всех правильное название препарата, возраст и какие-то другие вещи. За ней google/gemini-2.0-flash-thinking-exp-1219:free
. Остальные две довольно сильно позади.
Для интереса дал ту же картинку бесплатным веб версиям Grock и ChatGPT - они ответили явно хуже.
Итог - Gemini Flash
Лучше, наверно, с thinking
режимом (хотя "думает" дольше).
P.S. Код не приводится, так как элементарный. Системный промпт всегда был один и тот же: На картинке рукописный текст на русском языке. Распознай, что там написано.