Gestion des images dans le contexte de l'IA

Nous avons eu quelques questions internes sur la gestion des images dans les contextes d’IA, j’ai donc voulu aborder certaines des considérations dans un problème public.

Le problème

Les LLM prennent aujourd’hui en charge plusieurs modalités. Tous les principaux fournisseurs prennent désormais en charge les images en entrée, certains fournisseurs (notamment Google) prennent en charge les images en sortie.

Cela pose un problème à Discourse AI : comment présenter des « images » aux LLM.

Plus précisément, si nous avons cet exemple de publication :

Bonjour, voici une photo de moi :

![image|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)

Et voici une autre
![Sam standing next to a window|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)

La fin

Comment présenter cela au LLM :

Option 1 : Markdown conservé, images ajoutées à la fin

Approche : Garder tout le texte ensemble, ajouter les images à la fin.

[
  "Bonjour, voici une photo de moi : \n\n![image|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)\n\nEt voici une autre\n\n![Sam standing next to a window|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)\n\nLa fin",
  image1,
  image2
]

Option 2 : Markdown conservé, images intégrées en ligne

Approche : Entrelacer le texte et les images pour préserver le contexte et l’ordre.

[
  "Bonjour, voici une photo de moi : \n\n![image|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)",
  image1,
  "Et voici une autre\n\n![Sam standing next to a window|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)",
  image2,
  "La fin"
]

Option 3 : Markdown supprimé, images ajoutées à la fin

Approche : Supprimer complètement la syntaxe markdown des images, ajouter les images réelles à la fin.

[
  "Bonjour, voici une photo de moi : \n\nEt voici une autre\n\nLa fin",
  image1,
  image2
]

Option 4 : Descriptions conservées, Markdown simplifié

Approche : Supprimer le formatage spécifique à Discourse mais conserver les descriptions des images pour le contexte.

[
  "Bonjour, voici une photo de moi : \n\nEt voici une autre\nSam standing next to a window\n\nLa fin",
  image1,
  image2
]

Option 5 : Descriptions en ligne, images intégrées

Approche : Remplacer le markdown par des descriptions en ligne, puis intégrer les images correspondantes.

[
  "Bonjour, voici une photo de moi :",
  image1,
  "Et voici une autre\nSam standing next to a window",
  image2,
  "La fin"
]

Actuellement, notre implémentation est (1), une partie de la réponse expliquant pourquoi les anciens modèles « hérités » ne nous permettaient pas de positionner les images, l’autre raison est que les gens utilisent souvent Discourse pour reformater une publication ; si nous supprimons les marqueurs de téléchargement, le LLM pensera que nous avons dit autre chose et ne pourra pas reformater une publication avec des images.

De plus, les recommandations des fournisseurs de LLM comme Anthropic sont de toujours placer les images à la fin. Cela simplifie l’interprétation par le LLM.

Cette approche est cependant très problématique pour un LLM comme Nano Banana: Image editing in Google Gemini gets a major upgrade.

Lorsque j’ai tenté cela, le LLM a commencé à halluciner des marqueurs de téléchargement au lieu de rendre les images.

Cela semble logique rétrospectivement.

Si nous disons à un LLM qu’il vient de dire : upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png, ne soyez pas surpris s’il dit à nouveau quelque chose d’étrange comme ça.

Je suis partagé quant à passer à (2) et il semble que (3) soit la seule façon raisonnable de « répéter ce que le LLM vient de dire, pour éviter les hallucinations »… Notre solution à ce problème épineux est donc mitigée.

En travaillant sur ce sujet, j’ai exploré la possibilité de créer une solution encore meilleure où la sortie et l’entrée sont traitées de la même manière, mais je ne pense pas que ce soit pratique. (J’ai également essayé de conserver les descriptions de téléchargement lorsqu’elles sont suffisamment longues, etc.)

Pour l’instant cependant :

(1) pour les entrées dans le LLM
(3) pour les sorties du LLM

À long terme :

(2) pour les entrées mérite d’être exploré
et supprimer mais conserver la position contextuelle sur les sorties mérite également d’être exploré.


Il est dommage qu’aucun fournisseur de LLM ne permette désormais de fournir des métadonnées supplémentaires pour une image avec l’image.

3 « J'aime »