Support IA pour plugin OCR

La prise en charge de l’ajout de texte des images aux publications (OCR) peut-elle être ajoutée au plugin Discourse AI ? La prise en charge de l’API Google Lens (Cloud Vision) peut-elle être ajoutée à cette fin ?

Exemple : GitHub - communiteq/discourse-ocr-uploads

4 « J'aime »

Il est dans notre feuille de route d’exploiter un LLM multimodal pour créer des descriptions d’images, ce qui devrait également fournir un certain niveau d’OCR. Mais pour de l’OCR pur, peut-être essayer ce plugin ?

4 « J'aime »

J’ai utilisé ce plugin dans les anciennes versions de Discourse et il fonctionnait. Mais malheureusement, il ne fonctionne plus dans la nouvelle version de Discourse.

1 « J'aime »

Voir AI Image Captioning Feature in Discourse AI Plugin, ceci est maintenant prêt et activé ici sur meta.

3 « J'aime »

Merci pour cette fonctionnalité, je vais l’essayer @Falco @pmusaraj

2 « J'aime »

Je pense que nous devrions quand même garder cela ouvert, la fonctionnalité de sous-titrage est adjacente à l’OCR mais pas exactement l’OCR.

L’OCR, par exemple, vous permettrait de prendre une photo de vos notes, puis de les télécharger et de les imprimer exactement. Le sous-titrage par IA est beaucoup plus sophistiqué, mais ne vous donne pas non plus cette fidélité d’impression d’une page entière de texte.

Je ne sais pas quand nous aurons le temps de travailler sur une OCR, mais cela semble un peu différent.

6 « J'aime »

Maintenant qu’Anthropic Claude 3 prend en charge la vision, il fait un travail décent pour les tâches d’OCR, par exemple

2 « J'aime »

Pleure en allemand

:de: :beer: :leftwards_hand::sob: :rightwards_hand: :pretzel: :hotdog:


Plus sérieusement, je suis curieux de savoir comment il se comporterait sur une image comme celle-ci :

Tesseract donne ceci :

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, je suis surpris de voir à quel point ce résultat est raisonnable. Tesseract change souvent l’ordre des lignes et fait des fautes de frappe avec ce type d’exemples.)

Sam, serait-il possible pour toi de mettre cette image dans Claude et de poster le résultat ?

N’hésitez pas à essayer ici, la personnalité créative de Claude prend en charge la vision, je viens de l’activer.

https://meta.discourse.org/t/parsing-complex-json-data-in-tris20-code/301329

C’est soit un problème de compétence de mon côté, soit Claude a un peu de mal :sweat_smile:

Problème de compétence :sweat_smile: J’utilisais le Forum Helper plutôt que la personnalité Créative.

Claude Créatif nous donne ceci :

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 - kingfisher

MINGW64 ~/Source/Repos/Sut.Driver.Firmware (kingfisher)
$

Résultat intéressant. Je pense que les deux sont à peu près sur un pied d’égalité dans cet exemple, mais avec des défauts différents. Claude a halluciné l’URL ici, faisant une supposition contextuelle que nous faisons une demande de tirage basée sur le problème git.

Tesseract n’hallucine pas, et dans ce cas semble être plus correct. La seule chose qui ressort est 1fs à la ligne 4, et \\fs à la ligne 10 au lieu de lfs.

Claude fait également une erreur similaire tout au long, utilisant tfs au lieu de lfs. C’est surprenant car l’extrapolation de l’URL basée sur le contexte montre qu’il a compris le contexte, mais au lieu de lfs qui est prédominant dans ce domaine problématique, il a créé quelque chose de complètement nouveau : tfs.

1 « J'aime »

Ce que j’ai trouvé absolument époustouflant ici, c’est que vous avez un moteur OCR avec lequel vous pouvez interagir.

Vous n’aimez pas l’hallucination du martin-pêcheur… pas de problème… demandez-lui simplement de ne pas faire cette chose.

Ce que vous pouvez faire avec cette technologie est vraiment époustouflant :

(excuses pour l’image cassée dans le message d’origine, nous la réparons, l’image est)

1 « J'aime »