O suporte pode ser adicionado ao plugin Discourse ai para adicionar o texto em imagens às postagens (ocr)? O suporte para a API do Google Lens (Cloud Vision) pode ser adicionado para isso?
Está em nosso roteiro aproveitar um LLM multimodal para criar descrições de imagens, o que também deve fornecer algum nível de OCR. Mas para OCR puro, talvez experimentar esse plugin?
Eu usei este plugin em versões mais antigas do Discourse e ele funcionava. Mas, infelizmente, ele não funciona mais na nova versão do Discourse.
Veja AI Image Captioning Feature in Discourse AI Plugin, isso está pronto e habilitado aqui no meta.
Acho que ainda deveríamos manter isso aberto, o recurso de legendagem é adjacente ao OCR, mas não é exatamente OCR.
O OCR, por exemplo, permitiria que você tirasse uma foto de suas anotações e depois as carregasse e imprimisse exatamente. A legendagem de IA é muito mais sofisticada, mas também não oferece essa fidelidade de imprimir uma página inteira de texto.
Não tenho certeza de quando teremos tempo para trabalhar em um OCR, mas parece um pouco diferente.
Agora que o Anthropic Claude 3 tem suporte a visão, ele faz um bom trabalho com tarefas de OCR, por exemplo
Chora em alemão
![]()
![]()
Falando sério, tenho curiosidade sobre como ele se sairia em uma imagem como esta:
O Tesseract obtém o seguinte:
MINGW64 ~/Source/Repos/Sut. Driver. Firmware
git push Locking support detected on remote “origin”. Consider enabling it with: git config Ifs ‘1fs.locksverify true
LFS: Access forbidden. Check your access level.
error: failed to push some refs to
MINGW64 ~/Source/Repos/Sut. Driver. Firmware
git push Locking support detected on remote “origin”. Consider enabling it with: git config Ifs. /\fs.locksverify true
Uploading LFS objects: 100% (1/1), 584 KB | 0 B/s, done.
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 478 bytes | 478.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0), pack-reused 0 »
remote:
remote: To create a merge request for visit:
remote: 1
remote:
To
2c50e5b. . ba25f3e
L MINGN64 ~/Source/Repos /Sut. Driver. Firmware
(Ok, estou surpreso com o quão razoável é este resultado. O Tesseract costuma alterar a ordem das linhas e falhar em letras com esses tipos de exemplos.)
Sam, seria possível você jogar essa imagem no Claude e postar o resultado?
Sinta-se à vontade para tentar aqui, a persona criativa do Claude tem suporte a visão, acabamos de ativá-lo
https://meta.discourse.org/t/parsing-complex-json-data-in-tris20-code/301329
Ou isso é um problema de habilidade da minha parte, ou o Claude está tendo um pouco de dificuldade ![]()
Problema de habilidade
Eu estava usando o Forum Helper em vez da personalidade Criativa.
Claude Criativo nos dá isto:
MINGW64 ~/Source/Repos/Sut.Driver.Firmware (kingfisher)
git push Locking support detected on remote “origin”. Consider enabling it with: git config lfs.http://tfs.locksverify true
LFS: Access forbidden. Check your access level.
error: failed to push some refs to ‘http://tfs.lockeed/tfs/HnC/TEC/SUT/Driver%20Firmware/_git/Sut.Driver.Firmware’MINGW64 ~/Source/Repos/Sut.Driver.Firmware (kingfisher)
git push Locking support detected on remote “origin”. Consider enabling it with: git config lfs.http://tfs.locked/tfs.locksverify true
Uploading LFS objects: 100% (1/1), 584 KB | 0 B/s, done.
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 478 bytes | 478.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0), pack-reused 0
remote: To create a merge request for kingfisher, visit:
remote: http://tfs.locked/tfs/HRC/TEC/SUT/_git/Sut.Driver.Firmware/pullrequest/new?sourceRef=kingfisher&targetRef=develop
remote:
To http://tfs.locked/tfs/HRC/TEC/SUT/_git/Sut.Driver.Firmware
2c50e5b…ba25f3e kingfisher - kingfisherMINGW64 ~/Source/Repos/Sut.Driver.Firmware (kingfisher)
$
Resultado interessante. Sinto que os dois estão mais ou menos no mesmo nível neste exemplo, mas com falhas diferentes. Claude alucinou o URL aqui, fazendo uma suposição contextual de que estamos fazendo um pull request com base no problema do git.
O Tesseract não alucina e, neste caso, parece estar mais correto. A única coisa que se destaca é 1fs na linha 4 e \\fs na linha 10 em vez de lfs.
Claude também comete um erro semelhante em todo o texto, usando tfs em vez de lfs. É surpreendente porque a extrapolação do URL com base no contexto mostra que ele entendeu o contexto, mas em vez de lfs, que é proeminente neste domínio de problemas, ele criou algo completamente novo: tfs.
O que eu achei absolutamente impressionante aqui é que você tem um motor de OCR com o qual pode interagir.
Não gosta da alucinação do martim-pescador… tudo bem… apenas peça para ele não fazer isso.
Realmente alucinante o que você pode fazer com essa tecnologia:
(desculpas pela imagem quebrada no OP, estamos consertando, a imagem é)


