工具介绍
MarkItDown
> [!WICHTIG]
> MarkItDown führt I/O mit den Privilegien des aktuellen Prozesses durch. Wie open() oder requests.get() greift es auf Ressourcen zu, auf die der Prozess selbst zugreifen kann. Sanieren Sie Ihre Eingaben in nicht vertrauenswürdigen Umgebungen und rufen Sie die schmalste `convert *`-Funktion auf, die für Ihren Anwendungsfall benötigt wird (z. B. `convert stream()` oder `convert local()`). Siehe den Abschnitt Sicherheitsüberlegungen der Dokumentation für weitere Informationen.
MarkItDown ist ein leichtes Python-Dienstprogramm zum Konvertieren verschiedener Dateien in Markdown für die Verwendung mit LLMs und verwandten Textanalyse-Pipelines. Zu diesem Zweck ist es am ehesten mit textract vergleichbar, aber mit dem Fokus auf die Erhaltung wichtiger Dokumentenstruktur und -inhalte wie Markdown (einschließlich: Überschriften, Listen, Tabellen, Links usw.). Während die Ausgabe oft einigermaßen präsentierbar und menschenfreundlich ist, soll sie von Textanalyse-Tools konsumiert werden - und ist möglicherweise nicht die beste Option für Dokumentenkonvertierungen mit hoher Genauigkeit für den menschlichen Verbrauch.
MarkItDown unterstützt derzeit die Konvertierung von:
- PDF
- PowerPoint
- Wort
- Excel
- Bilder (EXIF Metadaten und OCR)
Audio (EXIF Metadaten und Sprachtranskription)
- HTML
- Textbasierte Formate (CSV, JSON, XML)
- ZIP-Dateien (itetiert über Inhalte)
- YouTube URLs
- EPubs
- ... und mehr!
Warum Markdown?
Markdown ist extrem nah am Klartext, mit minimalem Markup oder Formatierung, aber immer noch
bietet eine Möglichkeit, wichtige Dokumentstruktur darzustellen. Mainstream LLMs, wie
OpenAI's GPT-4o, nativ " speak " Markdown und integrieren oft Markdown in ihre
Antworten unaufgefordert. Dies deutet darauf hin, dass sie in großen Mengen von
Markdown-formatierten Text, und verstehen Sie es gut. Als Nebennutzen Markdown-Konventionen
Sie sind auch sehr token-effizient.
Voraussetzungen
MarkItDown erfordert Python 3.10 oder höher. Es wird empfohlen, eine virtuelle Umgebung zu verwenden, um Abhängigkeitskonflikte zu vermeiden.
Mit der Standard-Python-Installation können Sie eine virtuelle Umgebung mit den folgenden Befehlen erstellen und aktivieren:
Wenn Sie `uv` verwenden, können Sie eine virtuelle Umgebung erstellen mit:
Wenn Sie Anaconda verwenden, können Sie eine virtuelle Umgebung erstellen mit:
Installation
Um MarkItDown zu installieren, verwenden Sie pip: `pip install 'markitdown[all]'`. Alternativ können Sie es von der Quelle installieren:
Nutzung
Kommandolinie
Oder verwenden Sie `-o`, um die Ausgabedatei anzugeben:
Sie können auch pipe content:
Optionale Abhängigkeiten
MarkItDown verfügt über optionale Abhängigkeiten zum Aktivieren verschiedener Dateiformate. Früher in diesem Dokument haben wir alle optionalen Abhängigkeiten mit der Option `[all]` installiert. Sie können sie jedoch auch einzeln installieren, um mehr Kontrolle zu erhalten. Zum Beispiel:
installiert nur die Abhängigkeiten für PDF-, DOCX- und PPTX-Dateien.
Derzeit sind folgende optionale Abhängigkeiten verfügbar:
* `[alle]` Installiert alle optionalen Abhängigkeiten
`[pptx]` Installiert Abhängigkeiten für PowerPoint-Dateien
* `[docx]` Installiert Abhängigkeiten für Word-Dateien
* `[xlsx]` Installiert Abhängigkeiten für Excel-Dateien
* `[xls]` Installiert Abhängigkeiten für ältere Excel-Dateien
"[pdf]" Installiert Abhängigkeiten für PDF-Dateien
* `[Ausblick]` Installiert Abhängigkeiten für Outlook-Nachrichten
"[az-doc-intel]" Installiert Abhängigkeiten für Azure Document Intelligence
"[az-content-understanding]" Installiert Abhängigkeiten für Azure Content Understanding
* `[Audiotranskription]` Installiert Abhängigkeiten für die Audio-Transkription von WAV- und mp3-Dateien
* `[youtube-Transkription]` Installiert Abhängigkeiten zum Abrufen der YouTube-Videotranskription
Plugins
MarkItDown unterstützt auch Drittanbieter-Plugins. Plugins sind standardmäßig deaktiviert. Um installierte Plugins aufzulisten:
Um Plugins verwenden zu können:
Um verfügbare Plugins zu finden, suche GitHub nach dem Hashtag #Markitdown-Plugin. Um ein Plugin zu entwickeln, siehe `packages/markitdown-sample-plugin`.
Markitdown-OCR Plugin
Das `Markitdown-ocr`-Plugin fügt den PDF-, DOCX-, PPTX- und XLSX-Konvertern OCR-Unterstützung hinzu und extrahiert Text aus eingebetteten Bildern mit LLM Vision - dem gleichen `llm client` / `llm model`-Muster, das MarkItDown bereits für Bildbeschreibungen verwendet. Keine neuen ML-Bibliotheken oder binären Abhängigkeiten erforderlich.
**Installation:**
**Verwendung:**
Geben Sie dasselbe `llm client` und `llm model` weiter, das Sie für Bildbeschreibungen verwenden würden:
Wenn kein "llm client" bereitgestellt wird, wird das Plugin weiterhin geladen, aber OCR wird stillschweigend übersprungen und stattdessen der standardmäßig eingebaute Konverter verwendet.
Siehe `packages/markitdown-ocr/README.md` für detaillierte Dokumentation.
Azure Content Verständnis
Azure Content Understanding bietet eine qualitativ hochwertigere Konvertierung mit strukturierter Feldextraktion (YAML-Frontmaterie)