change de nom...
Le 10 juin dernier, lors de la conférence AFUP à Montpellier, nous avons eu l’occasion de partager un retour d’expérience sur la mise en place d’une solution d’Intelligence Artificielle capable d’extraire et de structurer des données complexes à partir de documents PDF. Cette présentation a permis de revenir sur les défis techniques rencontrés, les choix d’architecture que nous avons faits, ainsi que les enseignements clés pour toute équipe souhaitant déployer un projet d’IA en production.
Tout a commencé avec la volonté de moderniser un outil d’inventaire de produits chimiques. Jusqu’ici, la saisie des informations contenues dans les Fiches de Données de Sécurité (FDS) se faisait manuellement, un travail fastidieux (environ 20 minutes par document) et source d’erreurs fréquentes.
Notre objectif : automatiser l’extraction des informations essentielles (substances, pictogrammes, précautions), directement depuis ces PDF.
Les solutions classiques, comme les expressions régulières (fiables à 40 %) ou les outils basiques de parsing comme Tabula (à peine 10 % de réussite), se sont vite révélées insuffisantes face à la diversité et la complexité des documents. L’intelligence artificielle, avec sa capacité à comprendre le langage naturel, s’est imposée comme la meilleure option pour relever ce défi.
À noter que cette analyse a été réalisée début 2023. Pour rappel, ChatGPT-3 n’était disponible que depuis novembre 2022, et l’usage de l’intelligence artificielle dans ce type de contexte n’était alors ni courant ni évident. Le choix de miser sur l’IA relevait donc davantage du pari que d’une solution éprouvée. |
Voici comment nous avons construit notre solution, en combinant plusieurs technologies robustes pour garantir fiabilité et montée en charge :
La qualité des résultats dépend largement de la manière dont on « parle » au modèle. Nous structurons donc nos instructions en trois rôles essentiels :
Pour garantir une sortie propre et exploitable, nous utilisons le framework KOR qui impose un format JSON précis, ce qui réduit fortement la nécessité de retouches après extraction.
Mettre en production une IA dans ce contexte n’a pas été sans difficultés. Voici quelques-uns des principaux défis que nous avons dû relever :
Les PDF que nous traitons sont très hétérogènes : scans, formats non standards, tableaux, graphiques… Les parsers OCR classiques peinent à restituer le contexte et la structure sémantique.
Pour y remédier, nous recommandons l’intégration des outils spécialisés comme LlamaParse, MistralOCR ou Docling. Ces solutions de machine learning transforment les PDF en Markdown structuré, ce qui permet au LLM de mieux comprendre la hiérarchie et les relations entre les données.
Les modèles de langage peuvent occasionnellement produire des informations erronées, notamment en l'absence de contexte. Pour y remédier, nous recommandons de combiner ces deux approches complémentaires :
Avec environ 30 000 FDS à traiter, nous devions aussi maîtriser le RateLimite des requêtes des API et optimiser les coûts.
En plus d’une optimisation des prompts, nous explorons l’API Batch d’OpenAI pour traiter les requêtes en parallèle de manière asynchrone, garantissant ainsi scalabilité et maîtrise des dépenses.
Six mois après le lancement, les résultats sont très encourageants : le temps de traitement est divisé par dix, les erreurs quasiment éliminées, et les équipes peuvent se concentrer sur des tâches à plus forte valeur ajoutée.
Ce projet démontre qu’en combinant intelligemment l’IA à des technologies éprouvées comme Symfony, API Platform, LangChain et OpenAI GPT, il est possible de déployer des solutions à la fois concrètes, fiables et industrialisables.
Pour aller plus loin, retrouvez les slides de notre conférence ci-dessous :