Можно ли добавить поддержку плагина Discourse AI для извлечения текста из изображений и вставки его в пост (OCR)? Можно ли для этого добавить поддержку Google Lens API (Cloud Vision)?
В нашем плане — использование мультимодальной LLM для создания описаний изображений, что также должно обеспечить определенный уровень распознавания текста (OCR). Однако для чистого OCR, возможно, стоит попробовать тот плагин?
Я использовал этот плагин в более старых версиях Discourse, и он работал. Но, к сожалению, он больше не работает в новой версии Discourse.
Смотрите AI Image Captioning Feature in Discourse AI Plugin, эта функция уже готова и включена здесь, на meta.
Я считаю, что нам стоит оставить этот вопрос открытым: функция субтитрирования связана с OCR, но не является самой OCR.
Например, OCR позволила бы сделать фото ваших заметок, загрузить их и распечатать в точности как есть. ИИ-субтитрирование гораздо более продвинутое, но при этом не обеспечивает такой же точности при печати целой страницы текста.
Не уверен, когда у нас найдется время на разработку OCR, но это кажется несколько иной задачей.
Теперь, когда Anthropic Claude 3 поддерживает работу с изображениями, он неплохо справляется с задачами OCR, например:
Плачу на немецком
![]()
![]()
Если говорить серьёзно, мне интересно, как он справится с таким изображением:
Tesseract выдает следующее:
MINGW64 ~/Source/Repos/Sut. Driver. Firmware
$ git push
Обнаружена поддержка блокировок на удалённом репозитории «origin». Рекомендуется включить её с помощью:
$ git config lfs.locksverify true
LFS: Доступ запрещён. Проверьте свой уровень доступа.
ошибка: не удалось отправить некоторые ссылки в
MINGW64 ~/Source/Repos/Sut. Driver. Firmware
$ git push
Обнаружена поддержка блокировок на удалённом репозитории «origin». Рекомендуется включить её с помощью:
$ git config lfs.locksverify true
Загрузка объектов LFS: 100% (1/1), 584 КБ | 0 Б/с, завершено.
Перечисление объектов: 9, завершено.
Подсчёт объектов: 100% (9/9), завершено.
Сжатие дельт с использованием до 8 потоков
Сжатие объектов: 100% (3/3), завершено.
Запись объектов: 100% (5/5), 478 байт | 478,00 КБ/с, завершено.
Всего 5 (дельта 1), переиспользовано 0 (дельта 0), pack-reused 0 »
remote:
remote: Чтобы создать запрос на слияние, перейдите по адресу:
remote: 1
remote:
К
2c50e5b..ba25f3e
L MINGN64 ~/Source/Repos /Sut. Driver. Firmware
(Хм, меня удивляет, насколько разумным оказался этот результат. Tesseract часто меняет порядок строк и искажает буквы в подобных примерах.)
Сэм, не мог бы ты загрузить это изображение в Claude и опубликовать результат?
Не стесняйтесь попробовать здесь: у креативного персонажа Claude здесь есть поддержка зрения, я только что её включил.
https://meta.discourse.org/t/parsing-complex-json-data-in-tris20-code/301329
Это либо моя некомпетентность, либо у Клода возникли небольшие трудности ![]()
Проблема с навыком
Я использовал Forum Helper вместо личности Creative.
Claude Creative выдает нам следующее:
MINGW64 ~/Source/Repos/Sut.Driver.Firmware (kingfisher)
$ git push
Обнаружена поддержка блокировок на удаленном репозитории «origin». Рекомендуется включить её командой:
$ git config lfs.http://tfs.locksverify true
LFS: Доступ запрещен. Проверьте свой уровень доступа.
error: не удалось отправить некоторые ссылки в ‘http://tfs.lockeed/tfs/HnC/TEC/SUT/Driver%20Firmware/_git/Sut.Driver.Firmware’MINGW64 ~/Source/Repos/Sut.Driver.Firmware (kingfisher)
$ git push
Обнаружена поддержка блокировок на удаленном репозитории «origin». Рекомендуется включить её командой:
$ git config lfs.http://tfs.locked/tfs.locksverify true
Загрузка объектов LFS: 100% (1/1), 584 КБ | 0 Б/с, завершено.
Подсчет объектов: 9, завершено.
Подсчет объектов: 100% (9/9), завершено.
Компрессия дельт с использованием до 8 потоков
Сжатие объектов: 100% (3/3), завершено.
Запись объектов: 100% (5/5), 478 байт | 478,00 КБ/с, завершено.
Всего 5 (изменено 1), повторно использовано 0 (изменено 0), пакет повторно не использован
remote: Чтобы создать запрос на слияние для kingfisher, перейдите по адресу:
remote: http://tfs.locked/tfs/HRC/TEC/SUT/_git/Sut.Driver.Firmware/pullrequest/new?sourceRef=kingfisher&targetRef=develop
remote:
в http://tfs.locked/tfs/HRC/TEC/SUT/_git/Sut.Driver.Firmware
2c50e5b…ba25f3e kingfisher - kingfisherMINGW64 ~/Source/Repos/Sut.Driver.Firmware (kingfisher)
$
Интересный результат. Мне кажется, что в этом примере оба модели примерно равны, но с разными недостатками. Claude выдумал URL здесь, сделав контекстное предположение, что мы делаем pull request на основе проблемы git.
Tesseract не выдумывает и в данном случае кажется более точным. Единственное, что бросается в глаза, — это 1fs на строке 4 и \fs на строке 10 вместо lfs.
Claude также допускает похожую ошибку на протяжении всего текста, используя tfs вместо lfs. Это удивительно, потому что экстраполяция URL на основе контекста показывает, что он понял контекст, но вместо lfs, который явно присутствует в этой предметной области, он создал что-то совершенно новое: tfs
То, что меня здесь просто ошеломило, — это наличие OCR-движка, с которым можно взаимодействовать.
Не нравится галлюцинация от Kingfisher… ладно… просто попросите его не делать этого.
Действительно поражает воображение то, что можно сделать с этой технологией:
(извините за сломанное изображение в первом посте, мы его исправляем, изображение находится здесь)


