31 points par GN⁺ 2024-12-14 | 2 commentaires | Partager sur WhatsApp
  • Outil utilitaire permettant de convertir divers fichiers en Markdown
  • Formats pris en charge :
    • PDF (.pdf), PowerPoint (.pptx), Word (.docx), Excel (.xlsx)
    • Images (métadonnées EXIF et OCR), audio (métadonnées EXIF et transcription vocale)
    • HTML (avec un traitement particulier notamment pour Wikipedia) et divers autres formats textuels (csv, json, xml, etc.)
  • L'utilisation de l'API est simple :
    from markitdown import MarkItDown  
    markitdown = MarkItDown()  
    result = markitdown.convert("test.xlsx")  
    print(result.text_content)  
    

2 commentaires

 
kandk 2024-12-16

Oh, on dirait qu’ils envisagent aussi de l’open sourcer en interne chez Microsoft ?

 
GN⁺ 2024-12-14
Avis Hacker News
  • Si uv est installé, on peut l’exécuter sur un fichier sans installation séparée avec la commande uvx markitdown path-to-file.pdf

    • Lors de la première exécution, les paquets nécessaires sont mis en cache, puis les exécutions suivantes réutilisent ces paquets en cache
    • Après l’avoir essayé sur du HTML et des PDF, les performances semblent plutôt bonnes
  • J’ai déjà développé en entreprise une fonctionnalité qui convertissait des fichiers en texte compatible avec les LLM

    • Après avoir lu le code source, cette implémentation paraît assez raisonnable
    • Mieux vaut ne pas l’utiliser pour les images ou les feuilles de calcul
    • Pour les images, on peut les transmettre directement au fournisseur de LLM, et les feuilles de calcul sont mal interprétées via les tableaux Markdown
  • Beaucoup de startups et de projets open source compliquent ce domaine, mais l’objectif final est un projet simple, facile à comprendre et à déployer

  • Pour le traitement des PDF, j’aimerais qu’il y ait une option pour régler « le niveau de traitement souhaité »

    • Pour l’extraction de texte des PDF, il faut soit utiliser des heuristiques sensibles à la manière dont le PDF a été exporté, soit recourir entièrement à l’OCR
    • C’est gênant qu’un projet soit figé sur une seule méthode
    • Je n’utiliserais pas la fonctionnalité voix-vers-texte, car ses caractéristiques de performance peuvent différer de celles du texte-vers-texte
  • Pour le traitement des PDF, il vaudrait peut-être mieux intégrer directement PDFMiner

  • On peut utiliser Pandoc pour convertir des fichiers .docx en Markdown et dans d’autres formats

    • En revanche, Pandoc ne peut pas convertir les fichiers PowerPoint ni Excel
  • J’indexe des livres de JdR sur table au format PDF, avec des mises en page visuelles complexes et beaucoup de tableaux

    • Si ce n’est qu’un wrapper autour de PDFMiner, je ne vois pas la valeur ajoutée de cet outil
    • Il ne reconnaît ni ne traite les tableaux, mais il y a au moins une reconnaissance minimale des cellules de tableau
    • Il gère bien les colonnes à largeur variable ou le texte renvoyé à la ligne de façon complexe
    • Il insère des espaces inutiles dans un texte pourtant parfaitement aligné, et ajoute des retours à la ligne superflus quand des colonnes coupent une phrase en plein milieu
    • Le plus gros problème, c’est qu’il manque complètement les titres
  • Je trouve surprenant, mais positif, qu’il n’y ait aucune mention des LLM dans le README

    • Le code est intéressant à lire
    • L’essentiel consiste en du glue code dans un unique fichier de 1101 lignes
  • Retour d’expérience après avoir rendu un devoir sur Slack dans un cours de langue en ligne

    • J’avais rendu le devoir sous forme de fichier .md, mais le professeur n’a pas compris ce format
    • Je ne pensais plus rencontrer quelqu’un qui préfère les documents Word
  • Je suis curieux de voir la comparaison avec docling

    • docling utilise des LLM
  • Je me demande s’il existe une bonne bibliothèque pour convertir du Markdown en PDF ou en .docx

    • Pandoc fonctionne dans la plupart des cas, mais a du mal avec certains éléments comme les tableaux
  • Pour Microsoft, on peut s’attendre à des résultats corrects à moitié avec le HTML d’Outlook et les fichiers .docx

    • J’ai aussi évalué la plupart des solutions payantes, mais je n’en ai trouvé aucune que je jugerais assez bonne pour tourner en production
    • Je vais essayer cet outil