00:00:00Nous passons bien plus de temps à traiter des documents qu'à réellement construire nos applications d'IA.
00:00:05Nous connectons plusieurs bibliothèques, nous finissons par intégrer un PDF dans le pipeline, et le LLM donne toujours de mauvaises réponses.
00:00:11Non pas parce que le modèle est mauvais, mais parce que le Markdown l'est.
00:00:14Voici Markdown.
00:00:16Un outil de Microsoft qui a explosé avec plus de 110 000 étoiles sur GitHub,
00:00:21et qui corrige tout le pipeline en une seule ligne de code, en gros.
00:00:24Je vais vous montrer comment tout cela fonctionne en quelques minutes.
00:00:30[Musique]
00:00:33Ok, en gros, chaque projet d'IA commence de la même façon.
00:00:36Vous avez des fichiers partout : documents Word, présentations, feuilles de calcul, captures d'écran PDF, peut-être même des fichiers audio.
00:00:43Et puis vient la partie sympa, que nous, les développeurs, adorons.
00:00:46On peut commencer à empiler les outils.
00:00:49On va donc avoir un outil pour les PDF, un pour Excel, un pour Word, n'est-ce pas ?
00:00:54Toutes ces bibliothèques que nous lions ensemble pour nous aider à construire ce pipeline.
00:00:59Au début, ça semble aller, ça fonctionne, certes.
00:01:02Puis les choses commencent à casser.
00:01:04Les tableaux perdent leur structure, les titres disparaissent, et évidemment, l'utilisation des jetons explose.
00:01:10Et maintenant, le pipeline RAG ne récupère en gros que des déchets et l'agent nous donne de mauvaises réponses.
00:01:16Et on passe son temps à déboguer l'ingestion au lieu de réellement déployer.
00:01:19Et en réalité, que fait-on ?
00:01:21On perd juste du temps.
00:01:22Pas des minutes, mais des heures chaque semaine.
00:01:25Donc, au lieu de corriger votre modèle, vous devez en fait corriger votre entrée.
00:01:29Laissez-moi vous montrer à quoi cela ressemble vraiment.
00:01:31Si vous appréciez les outils qui accélèrent votre flux de travail, assurez-vous de vous abonner.
00:01:35Nous publions des vidéos tout le temps.
00:01:37Très bien, laissez-moi vous présenter ça rapidement.
00:01:39C'est tout en Python, donc c'est assez simple.
00:01:42D'abord, je l'installe avec pip dans mon environnement virtuel.
00:01:45J'ai un PDF ici, juste doc.pdf.
00:01:48Et je peux exécuter ça dans mon terminal.
00:01:50Je vais lancer markitdown sur doc.pdf, avec une sortie en .md.
00:01:55C'est tout.
00:01:56Cela me crée automatiquement un fichier.
00:01:58On peut ouvrir ce fichier et à l'intérieur, c'est plus ou moins ce à quoi on s'attendait.
00:02:03Les titres sont propres, les tableaux ressemblent vraiment à des tableaux, la structure est conservée.
00:02:08Et maintenant, quand on écrit du code Python pour ça, on peut faire encore plus.
00:02:13Avec mes imports et en utilisant OpenAI, je peux créer un client puis un objet Markdown.
00:02:20Je vais insérer ma clé API et le modèle que nous voulons exécuter.
00:02:25Quand je lance le code, le résultat est généré dans mon terminal, donc c'est super propre.
00:02:29Et mieux encore, ce qui est vraiment cool, c'est que je peux obtenir une image PNG.
00:02:33Pour ça, j'ai récupéré un graphique de NVIDIA.
00:02:35Voici mon image avec des données dessus.
00:02:39Maintenant, je peux convertir le graphique en Markdown.
00:02:42Je peux laisser markitdown faire son travail, simplement en utilisant la fonction de conversion à nouveau.
00:02:47Cette fois, nous lui donnons notre image, notre PNG.
00:02:50Et voilà, nous obtenons maintenant le résumé de ce qu'est ce graphique, ce que nous pouvons extraire et utiliser pour le RAG.
00:02:56C'est énorme, car cela nous permet d'extraire ce dont nous avons besoin plus rapidement directement ici dans notre code,
00:03:01pour que nous puissions continuer à travailler sans passer d'un onglet à l'autre.
00:03:05Alors, qu'est-ce que MarkItDown au juste ?
00:03:07C'est un outil Python open source de Microsoft Research.
00:03:11Il est sous licence MIT, conçu spécifiquement pour les flux de travail LLM.
00:03:16Son rôle est de prendre des fichiers désordonnés et de les transformer en un Markdown propre.
00:03:19Pour que les modèles puissent réellement les comprendre.
00:03:22Il supporte bien plus de formats qu'on ne pourrait l'imaginer.
00:03:25Word, PowerPoint, Excel, PDF, audio, images, et aussi des éléments comme les liens, vraiment tout, vous voyez le genre.
00:03:32Il dispose même d'un serveur MCP maintenant, vous pouvez donc le brancher directement dans des outils comme Claude Desktop ou même votre propre agent.
00:03:40En plus des plugins.
00:03:41Donc, au lieu de construire des pipelines d'ingestion, on se contente désormais d'appeler un seul outil.
00:03:47Les développeurs ne luttaient pas avec les modèles, ils luttaient avec les entrées.
00:03:51Et l'attente était : "Ok, utilisez juste de meilleurs modèles."
00:03:55Mais la réalité, c'est que de meilleures entrées équivalent à de meilleures sorties.
00:04:00Donc maintenant, au lieu d'écrire des scripts qui cassent, les gens utilisent un seul outil pour tout : MarkItDown.
00:04:06Pipelines RAG, agents, jeux de données de fine-tuning, bases de connaissances, analyse de documents, tout ce qu'on fait déjà.
00:04:13Et le détail clé que la plupart des gens manquent, c'est qu'il produit un Markdown structuré et économe en jetons.
00:04:20Il y a donc moins de bruit qui entre là-dedans, mais nous obtenons de meilleures réponses, une meilleure sortie.
00:04:24Mais cela ne veut pas dire qu'il est parfait.
00:04:26Comparons cela à ce que vous utilisez probablement déjà ou ce que vous avez vu ailleurs.
00:04:31Nous avons un outil appelé Pandoc, on s'attendrait donc à ce que Pandoc gagne ici, n'est-ce pas ?
00:04:36Mais il résout un problème différent de MarkItDown.
00:04:40Pandoc est destiné aux humains, donc pour la publication, le formatage, le LaTeX.
00:04:44MarkItDown est destiné aux machines, aux LLM, aux pipelines, à l'automatisation.
00:04:48C'est un peu la même idée, mais l'objectif est différent.
00:04:51Et puis nous avons des choses comme Unstructured ou Docling.
00:04:55Ils sont très bien, mais aussi très lourds.
00:04:58Ils utilisent des modèles ML, demandent plus de configuration, et sont meilleurs pour des documents vraiment complexes.
00:05:03MarkItDown adopte l'approche opposée à tout ça.
00:05:05Il y a moins de configuration, c'est super facile, les résultats sont plus rapides, et c'est suffisant pour la plupart des fichiers.
00:05:11Voici donc le vrai compromis.
00:05:12Voulez-vous une extraction parfaite, ou voulez-vous quelque chose qui fonctionne très rapidement et de manière fiable ?
00:05:18Pour la plupart d'entre nous, la vitesse l'emporte.
00:05:20Bien sûr, les inconvénients : les PDF complexes vont toujours le faire échouer, n'est-ce pas ?
00:05:24Surtout les tableaux denses ou les mises en page étranges.
00:05:27Si vous gérez des documents standards désordonnés tous les jours, des outils comme Docling ou Unstructured s'en sortiront bien mieux.
00:05:32Mais si vous voulez des descriptions d'images, vous devrez brancher un LLM.
00:05:36Donc ce n'est pas parfait, mais c'est un outil assez cool qui résout un vrai problème.
00:05:41Alors, est-ce que ça vaut le coup ?
00:05:43Oui, pour la plupart des gens, absolument.
00:05:45Si vous construisez des applications d'IA en ce moment, c'est probablement à ça que votre couche d'ingestion devrait ressembler.
00:05:50Vous devriez essayer d'utiliser MarkItDown.
00:05:52Essayez-le juste si vous voulez une entrée propre pour le RAG ou les agents.
00:05:56Vous gérez des types de fichiers mixtes.
00:05:58C'est vraiment bon pour ça.
00:05:59Et vous ne voulez pas maintenir une multitude de scripts fragiles qui pourraient casser, n'est-ce pas ?
00:06:03Évitez-le ou combinez-le si vous travaillez avec des PDF extrêmement complexes au quotidien.
00:06:08Il existe d'autres outils.
00:06:09Si vous appréciez les outils open source et les conseils de codage comme celui-ci, assurez-vous de vous abonner à la chaîne Better Stack.
00:06:15On se voit dans une prochaine vidéo.