00:00:00Wir verbringen viel mehr Zeit mit der Dokumentenverarbeitung, als tatsächlich unsere KI-Apps zu bauen.
00:00:05Wir verbinden mehrere Bibliotheken, bekommen schließlich ein PDF in die Pipeline, und das LLM liefert immer noch schlechte Antworten.
00:00:11Nicht, weil das Modell schlecht ist, sondern weil das Markdown es ist.
00:00:14Das ist Markdown.
00:00:16Ein Tool von Microsoft, das mit über 110.000 Sternen auf GitHub durchgestartet ist,
00:00:21und es repariert die gesamte Pipeline mit praktisch einer einzigen Zeile Code.
00:00:24Ich zeige Ihnen in nur wenigen Minuten, wie das alles funktioniert.
00:00:30[Musik]
00:00:33Okay, nun, im Grunde startet jedes KI-Projekt gleich.
00:00:36Überall liegen Dateien herum: Word-Dokumente, Präsentationen, Tabellenkalkulationen, PDF-Screenshots, vielleicht sogar Audio-Dateien.
00:00:43Und dann kommt der coole Teil, den wir Entwickler lieben.
00:00:46Wir können anfangen, Tools tatsächlich zu stapeln.
00:00:49Wir haben also ein Tool für PDFs, eines für Excel, eines für Word, richtig?
00:00:54All diese Bibliotheken, die wir miteinander verknüpfen, um diese Pipeline aufzubauen.
00:00:59Anfangs fühlt es sich gut an, es funktioniert, sicher.
00:01:02Dann fangen die Dinge an zu brechen.
00:01:04Tabellen verlieren ihre Struktur, Überschriften verschwinden, und der Token-Verbrauch explodiert natürlich.
00:01:10Und jetzt zieht die RAG-Pipeline im Grunde nur noch Müll und der Agent gibt uns schlechte Antworten.
00:01:16Und wir debuggen die Datenaufnahme, anstatt tatsächlich auszuliefern.
00:01:19Und was bringt das eigentlich?
00:01:21Es ist reine Zeitverschwendung.
00:01:22Nicht nur Minuten, sondern Stunden jede Woche.
00:01:25Anstatt also dein Modell zu reparieren, musst du eigentlich deinen Input reparieren.
00:01:29Lass mich dir zeigen, wie das tatsächlich aussieht.
00:01:31Wenn dir Tools gefallen, die deinen Workflow beschleunigen, abonniere unbedingt den Kanal.
00:01:35Wir veröffentlichen ständig neue Videos.
00:01:37Alles klar, lass mich das kurz durchgehen.
00:01:39Es ist alles Python, also ziemlich einfach.
00:01:42Zuerst installiere ich alles per pip in meiner virtuellen Umgebung.
00:01:45Ich habe hier ein PDF, einfach nur ein doc.pdf.
00:01:48Und ich kann das in meinem Terminal ausführen.
00:01:50Ich werde "markitdown doc.pdf output.md" ausführen.
00:01:55Das ist alles.
00:01:56Es erstellt automatisch eine Datei für mich.
00:01:58Wir können diese Datei öffnen, und darin ist in etwa das, was wir uns erhofft haben.
00:02:03Überschriften sind sauber, Tabellen sehen tatsächlich aus wie Tabellen, die Struktur ist erhalten.
00:02:08Und jetzt, wenn wir etwas Python-Code dafür schreiben, können wir sogar noch mehr damit machen.
00:02:13Also, mit meinen Imports und der Nutzung von OpenAI kann ich einen Client und dann ein Markdown-Objekt erstellen.
00:02:20Ich übergebe meinen API-Schlüssel und das Modell, das wir verwenden wollen.
00:02:25Wenn ich den Code ausführe, wird der Output in meinem Terminal generiert, also ist es super sauber.
00:02:29Und noch besser: Was wirklich cool ist, ich kann ein PNG-Bild nehmen.
00:02:33Dafür habe ich ein Diagramm von NVIDIA genommen.
00:02:35Hier ist mein Bild mit einigen Daten darauf.
00:02:39Jetzt kann ich das Diagramm in Markdown konvertieren.
00:02:42Ich kann also MarkItDown seine Arbeit machen lassen, einfach indem ich die "convert"-Funktion erneut verwende.
00:02:47Diesmal geben wir unser Bild, unser PNG, hinein.
00:02:50Und jetzt erhalten wir die Zusammenfassung dessen, was dieses Diagramm darstellt und was wir extrahieren und für RAG nutzen können.
00:02:56Das ist riesig, da es uns ermöglicht, das, was wir brauchen, schneller direkt hier in unserem Code zu extrahieren,
00:03:01sodass wir weiterarbeiten können, ohne zwischen einer Menge verschiedener Tabs hin- und herzuspringen.
00:03:05Also, was ist MarkItDown eigentlich?
00:03:07Es ist ein Open-Source-Python-Tool von Microsoft Research.
00:03:11Es ist MIT-lizenziert und speziell für LLM-Workflows gebaut.
00:03:16Seine Aufgabe ist es, unsaubere Dateien zu nehmen und sie in sauberes Markdown zu verwandeln.
00:03:19Damit Modelle sie tatsächlich verstehen können.
00:03:22Es unterstützt viel mehr, als man erwarten würde.
00:03:25Word, PowerPoint, Excel, PDF, Audio, Bilder und auch Dinge wie Links, wirklich alles, was du nennen kannst.
00:03:32Es hat jetzt sogar einen MCP-Server, sodass du es direkt in Tools wie Claude Desktop oder sogar deine eigenen Agenten einbinden kannst.
00:03:40Plus die Plugins.
00:03:41Anstatt also Ingestions-Pipelines zu bauen, rufen wir jetzt im Grunde nur noch ein Tool auf.
00:03:47Die Entwickler hatten nicht mit den Modellen zu kämpfen, sie hatten mit den Inputs zu kämpfen.
00:03:51Und die Erwartung war: Okay, verwende einfach bessere Modelle.
00:03:55Aber die ganze Realität hierbei ist: bessere Inputs sind gleich bessere Outputs.
00:04:00Anstatt also Skripte zu schreiben, die ständig kaputtgehen, verwenden die Leute jetzt ein Tool für alles: MarkItDown.
00:04:06RAG-Pipelines, Agenten, Datensätze zum Finetuning, Wissensdatenbanken, Dokumentenanalyse, all das, was wir ohnehin schon tun.
00:04:13Und das entscheidende Detail, das die meisten übersehen, ist: Es erzeugt strukturiertes, Token-effizientes Markdown.
00:04:20Es gibt also weniger Rauschen, das hineingeht, aber wir erhalten bessere Antworten, diesen besseren Output.
00:04:24Aber das bedeutet nicht, dass es perfekt ist.
00:04:26Lass uns das jetzt mit dem vergleichen, was du wahrscheinlich schon verwendest oder bereits gesehen hast.
00:04:31Nun, wir haben ein Tool namens Pandoc, also würde man erwarten, dass Pandoc hier gewinnt, oder?
00:04:36Aber es löst ein anderes Problem als MarkItDown.
00:04:40Pandoc ist für Menschen gedacht, also für Veröffentlichungen, Formatierung, LaTeX.
00:04:44MarkItDown ist für Maschinen, LLMs, Pipelines, Automatisierung.
00:04:48Es ist in etwa die gleiche Idee, aber das Ziel ist ein anderes.
00:04:51Und dann haben wir Dinge wie "unstructured" oder "docling".
00:04:55Die sind großartig, aber sie sind auch wirklich schwergewichtig.
00:04:58Sie verwenden ML-Modelle, erfordern mehr Einrichtung und sind besser für sehr komplexe Dokumente geeignet.
00:05:03MarkItDown verfolgt den entgegengesetzten Ansatz zu all dem.
00:05:05Es gibt weniger Einrichtung, es ist super einfach, liefert schnellere Ergebnisse und es ist gut genug für die meisten Dateien.
00:05:11Hier ist also der eigentliche Kompromiss.
00:05:12Willst du eine perfekte Extraktion, oder willst du etwas, das wirklich schnell und zuverlässig funktioniert?
00:05:18Für die meisten von uns gewinnt die Geschwindigkeit.
00:05:20Natürlich gibt es auch Nachteile: Komplexe PDFs werden es immer noch zum Scheitern bringen, richtig?
00:05:24Besonders dichte Tabellen oder seltsame Layouts.
00:05:27Wenn du täglich mit chaotischen Standarddokumenten zu tun hast, werden Tools wie "docling" oder "unstructured" deutlich besser abschneiden.
00:05:32Aber wenn du Bildbeschreibungen willst, musst du ein LLM einbinden.
00:05:36Es ist also nicht perfekt, aber es ist ein ziemlich cooles Tool, das ein echtes Problem löst.
00:05:41Lohnt es sich also, es zu benutzen?
00:05:43Ja, für die meisten Menschen absolut.
00:05:45Wenn du gerade KI-Apps baust, ist das wahrscheinlich das, wie dein Ingestions-Layer tatsächlich aussehen sollte.
00:05:50Du solltest versuchen, MarkItDown zu verwenden.
00:05:52Probiere es einfach aus, wenn du sauberen Input für RAG oder Agenten willst.
00:05:56Du hast es mit gemischten Dateitypen zu tun.
00:05:58Dafür ist es wirklich gut.
00:05:59Und du willst nicht eine Menge fragiler Skripte pflegen, die kaputtgehen könnten, oder?
00:06:03Lass es weg oder kombiniere es, wenn du jeden Tag mit extrem komplexen PDFs arbeitest.
00:06:08Es gibt da draußen noch andere Tools.
00:06:09Wenn dir Open-Source-Tools und Programmiertipps wie diese gefallen, abonniere unbedingt den Better Stack Kanal.
00:06:15Wir sehen uns im nächsten Video.