Microsoft MarkItDown の詳細

Dec 26, 2024 pm 04:14 PM

マークイットダウンとは何ですか?

MarkItDown は Microsoft によって開発された Python パッケージで、さまざまなファイル形式を Markdown に変換するように設計されています。

デビュー以来、このライブラリの人気は急上昇し、わずか 2 週間で 25,000 を超える GitHub スターを獲得しました。 ?

Deep Dive into Microsoft MarkItDown

MarkItDown の人気の理由は何ですか?

MarkItDown は、次のような幅広いファイル タイプを強力にサポートします。

  • Office 形式: Word、PowerPoint、Excel
  • メディア ファイル: 画像 (EXIF データと説明付き)、オーディオ (文字起こしサポート付き)
  • Web およびデータ形式: HTML、JSON、XML、CSV
  • アーカイブ: ZIP ファイル

Word のような標準形式だけでなく、マルチモーダル データも処理できる機能が際立っています。たとえば、OCR と音声認識を使用して、画像や音声ファイルからコンテンツを抽出します。

MarkItDown は、あらゆるものを Markdown に変換できるため、LLM トレーニング用の強力なツールになります。ドメイン固有のドキュメントを処理することで、LLM を利用したアプリケーションでより正確で関連性の高い応答を生成するための豊富なコンテキストが提供されます。

MarkItDown の使用を開始する

MarkItDown の使用は非常に簡単です。必要なコードは 4 行のみです。

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)
ログイン後にコピー
ログイン後にコピー

MarkItDown の使用例をいくつか示します。

Word ドキュメントを変換すると、クリーンで正確な Markdown が生成されます。

Deep Dive into Microsoft MarkItDown

複数タブの Excel スプレッドシートも簡単に処理できます:

Deep Dive into Microsoft MarkItDown

ZIP アーカイブ?問題ない!ライブラリは、その中のすべてのファイルを再帰的に解析します:

Deep Dive into Microsoft MarkItDown

最初は、画像抽出で結果が得られない可能性があります:

Deep Dive into Microsoft MarkItDown

これは、MarkItDown が LLM に依存して画像の説明を生成するためです。 LLM クライアントを統合することで、この機能を有効にできます:

from openai import OpenAI

client = OpenAI(api_key="i-am-not-an-api-key")

md = MarkItDown(llm_client=client, llm_model="gpt-4o")
ログイン後にコピー
ログイン後にコピー

設定を適切に行うと、画像ファイルを正常に処理できます。

Deep Dive into Microsoft MarkItDown

注: LLM は画像ベースの PDF を処理しません。 PDF はコンテンツを抽出するために OCR 前処理が必要です。

Deep Dive into Microsoft MarkItDown

ただし、PDF は抽出時に書式設定が失われるため、見出しとプレーン テキストは区別されません。

Deep Dive into Microsoft MarkItDown

制限事項

MarkItDown には制限がないわけではありません:

  • OCR なしの PDF ファイルは処理できません。
  • PDF ファイルから抽出する場合、書式設定は使用できません。

それでも、オープンソース プロジェクトなので、高度にカスタマイズ可能です。開発者は、クリーンなコードベースのため、機能を簡単に拡張できます。

MarkItDown の仕組み

MarkItDown のアーキテクチャは簡単でモジュール式です。

これには、汎用の Convert() メソッドを定義する DocumentConverter クラスがあります。

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)
ログイン後にコピー
ログイン後にコピー

個々のコンバータはこの基本クラスを継承し、動的に登録されます。

from openai import OpenAI

client = OpenAI(api_key="i-am-not-an-api-key")

md = MarkItDown(llm_client=client, llm_model="gpt-4o")
ログイン後にコピー
ログイン後にコピー

このモジュール式アプローチにより、新しいファイル タイプのサポートを簡単に追加できます。

ファイル変換のワークフロー

オフィス文書

Office ファイルは、mammoth、pandas、pptx などのライブラリを使用して HTML に変換され、BeautifulSoup を使用して Markdown に変換されます。

Deep Dive into Microsoft MarkItDown

音声ファイル

音声は、Google の API を利用する speech_recognition ライブラリを使用して書き起こされます。

(Microsoft さん、なぜ Azure ではないのですか??)

Deep Dive into Microsoft MarkItDown

画像

画像処理には、LLM プロンプトを介したキャプションの生成が含まれます:
「この画像の詳しい説明を書いてください。」

Deep Dive into Microsoft MarkItDown

PDF

PDF は pdfminer ライブラリによって処理されますが、OCR が組み込まれていません。テキスト抽出のために PDF を前処理する必要があります。

Deep Dive into Microsoft MarkItDown

MarkItDown を API としてデプロイする

MarkItDown はローカルで実行できますが、API としてホストすると柔軟性がさらに高まり、Zapier や n8n などのワークフローに簡単に統合できます。

FastAPI を使用した MarkItDown API の簡単な例を次に示します。

class DocumentConverter:
    """Base class for all document converters."""

    def convert(
        self, local_path: str, **kwargs: Any
    ) -> Union[None, DocumentConverterResult]:
        raise NotImplementedError()
ログイン後にコピー

API を呼び出すには:

self.register_page_converter(PlainTextConverter())
self.register_page_converter(HtmlConverter())
self.register_page_converter(DocxConverter())
self.register_page_converter(XlsxConverter())
self.register_page_converter(Mp3Converter())
self.register_page_converter(ImageConverter())
# ...
ログイン後にコピー

API を無料でホストする

Python API のホスティングは難しい場合があります。 AWS EC2 や DigitalOcean などの従来のサービスではサーバー全体をレンタルする必要があり、常にコストがかかります。

しかし、今では Leapcell を使用できるようになりました。

これは、サーバーレスな方法で Python コードベースをホストできるプラットフォームです。料金は API 呼び出しごとにのみ発生し、無料枠の使用量が豊富です。

GitHub リポジトリに接続し、ビルドと開始コマンドを定義するだけで準備完了です。

Deep Dive into Microsoft MarkItDown

これで、クラウドでホストされ、ワー​​クフローに統合する準備ができた MarkItDown API が完成しました。そして最も重要なことは、実際に呼び出された場合にのみ課金されることです。


Leapcell で独自の MarkItDown API の構築を今すぐ始めましょう! ?

Deep Dive into Microsoft MarkItDown

以上がMicrosoft MarkItDown の詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python vs. C:曲線と使いやすさの学習 Python vs. C:曲線と使いやすさの学習 Apr 19, 2025 am 12:20 AM

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

Pythonの学習:2時間の毎日の研究で十分ですか? Pythonの学習:2時間の毎日の研究で十分ですか? Apr 18, 2025 am 12:22 AM

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Python vs. C:パフォーマンスと効率の探索 Python vs. C:パフォーマンスと効率の探索 Apr 18, 2025 am 12:20 AM

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。

Python vs. C:重要な違​​いを理解します Python vs. C:重要な違​​いを理解します Apr 21, 2025 am 12:18 AM

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか? Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか? Apr 27, 2025 am 12:03 AM

PythonListSarePartOfThestAndardarenot.liestareBuilting-in、versatile、forStoringCollectionsのpythonlistarepart。

Python:自動化、スクリプト、およびタスク管理 Python:自動化、スクリプト、およびタスク管理 Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

科学コンピューティングのためのPython:詳細な外観 科学コンピューティングのためのPython:詳細な外観 Apr 19, 2025 am 12:15 AM

科学コンピューティングにおけるPythonのアプリケーションには、データ分析、機械学習、数値シミュレーション、視覚化が含まれます。 1.numpyは、効率的な多次元配列と数学的関数を提供します。 2。ScipyはNumpy機能を拡張し、最適化と線形代数ツールを提供します。 3. Pandasは、データ処理と分析に使用されます。 4.matplotlibは、さまざまなグラフと視覚的な結果を生成するために使用されます。

Web開発用のPython:主要なアプリケーション Web開発用のPython:主要なアプリケーション Apr 18, 2025 am 12:20 AM

Web開発におけるPythonの主要なアプリケーションには、DjangoおよびFlaskフレームワークの使用、API開発、データ分析と視覚化、機械学習とAI、およびパフォーマンスの最適化が含まれます。 1。DjangoandFlask Framework:Djangoは、複雑な用途の迅速な発展に適しており、Flaskは小規模または高度にカスタマイズされたプロジェクトに適しています。 2。API開発:フラスコまたはdjangorestFrameworkを使用して、Restfulapiを構築します。 3。データ分析と視覚化:Pythonを使用してデータを処理し、Webインターフェイスを介して表示します。 4。機械学習とAI:Pythonは、インテリジェントWebアプリケーションを構築するために使用されます。 5。パフォーマンスの最適化:非同期プログラミング、キャッシュ、コードを通じて最適化

See all articles