汎用LLM・AI開発⭐ リポ 617品質スコア 92/100
markitdown
ファイルやOfficeドキュメントをクリーンなMarkdown形式に変換できます。LLMに適した、トークン効率の良いテキストが必要な場合に活用できます。要約、検索、RAG取り込み、データセット準備などに対応しています。
description の原文を見る
Convert files and Office documents into clean Markdown when you need LLM-friendly, token-efficient text (e.g., for summarization, search, RAG ingestion, or dataset preparation).
SKILL.md 本文
使用場面
- 研究論文やレポート(PDF/DOCX/EPUB/HTML)をMarkdownに変換し、LLMの要約、Q&A、またはRAGインデックス作成に利用する
- スプレッドシート(XLSX/CSV)からテーブルと構造化コンテンツをMarkdownに抽出し、分析またはドキュメント作成に使用する
- スライドデッキ(PPTX)をMarkdownノートに変換する(スピーカーノートと、オプションでAI生成の画像説明を含む)
- OCRを使用して画像またはスキャン文書を処理し、検索可能で編集可能なMarkdownテキストを取得する
- オーディオ(WAV/MP3)またはYouTubeトランスクリプトをMarkdownに変換し、会議メモ、コンテンツ分析、またはナレッジベースに使用する
主な機能
- 多数のフォーマットを構造化されたMarkdownに変換(PDF、DOCX、PPTX、XLSX、画像、オーディオ、HTML、CSV、JSON、XML、ZIP、EPUB、YouTube URLなど)
- LLMパイプライン(要約、チャンキング、エンベディング)に適したトークン効率的な出力を生成
- OCRサポート(OCR依存関係がインストールされている場合)
- オーディオトランスクリプション機能(トランスクリプション依存関係がインストールされている場合)
- OpenAI互換クライアント(例:OpenRouter)による、オプショナルなAI強化画像/スライド説明機能
- フォーマットサポートとカスタム動作を拡張するためのプラグインシステム
- 大規模ファイル向けのストリームベースの変換API
依存関係
- Python:
>=3.9(推奨) - パッケージ:
markitdown[all](すべてのオプションフォーマットハンドラーをインストール)
オプショナルなシステム依存関係(機能に応じて):
- Tesseract OCR:
tesseract-ocr(画像/スキャンテキストのOCR用)
オプショナルな外部サービス(機能に応じて):
- Azure Document Intelligenceエンドポイント(PDF抽出の向上用)
- OpenAI互換LLMエンドポイント(例:OpenRouter)(AI画像説明用)
使用例
インストール
pip install 'markitdown[all]'
CLI: PDFをMarkdownに変換
markitdown document.pdf -o output.md
Python: 複数フォーマット(PDF/XLSX/PPTX/DOCX)を変換して出力を保存
from pathlib import Path
from markitdown import MarkItDown
md = MarkItDown()
files = [
"document.pdf",
"spreadsheet.xlsx",
"presentation.pptx",
"notes.docx",
]
for path in files:
result = md.convert(path)
out = Path(path).with_suffix(".md")
out.write_text(result.text_content, encoding="utf-8")
print(f"Converted {path} -> {out}")
Python: ストリーム変換(大規模ファイルに有用)
from markitdown import MarkItDown
md = MarkItDown()
with open("large_file.pdf", "rb") as f:
result = md.convert_stream(f, file_extension=".pdf")
with open("large_file.md", "w", encoding="utf-8") as out:
out.write(result.text_content)
Python: AI強化画像/スライド説明(OpenAI互換、例:OpenRouter)
from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI(
api_key="YOUR_OPENROUTER_API_KEY",
base_url="https://openrouter.ai/api/v1",
)
md = MarkItDown(
llm_client=client,
llm_model="anthropic/claude-opus-4.5",
llm_prompt="Describe this image in detail for scientific documentation.",
)
result = md.convert("presentation.pptx")
print(result.text_content)
実装の詳細
-
変換エントリーポイント
MarkItDown().convert(path)はパス/URLからファイルを変換し、主なペイロードがresult.text_content(Markdown)であるオブジェクトを返しますMarkItDown().convert_stream(stream, file_extension=".pdf")はバイナリストリームから変換します。大規模ファイルまたはデータがディスク上にない場合に使用してください
-
フォーマットハンドリング
- フォーマットサポートはオプショナルな追加機能(例:
pdf、docx、pptx、xlsx、audio-transcription、youtube-transcription)またはallによって提供されます - ZIP入力は、通常は含まれるファイルを反復処理し、サポートされている各エントリーを変換することで処理されます
- フォーマットサポートはオプショナルな追加機能(例:
-
OCR
- 画像/スキャン文書の場合、OCRツールが利用可能な場合(一般的にはTesseract)にOCRが有効になります。OSレベルのOCRバイナリがインストールされ、
PATH内でアクセス可能であることを確認してください
- 画像/スキャン文書の場合、OCRツールが利用可能な場合(一般的にはTesseract)にOCRが有効になります。OSレベルのOCRバイナリがインストールされ、
-
AI画像説明
llm_client、llm_model、llm_promptが指定された場合、MarkItDownは画像(スライド画像を含む)のモデル生成説明をリクエストし、その説明をMarkdown出力に挿入できますbase_urlとapi_keyを設定することで、任意のOpenAI互換クライアント(例:OpenRouter)を使用できます
-
PDF抽出の向上(Azure Document Intelligence)
- Document Intelligenceエンドポイントで設定された場合、複雑なレイアウト(テーブル、マルチカラムテキスト、スキャンPDF)のPDF抽出が改善され、より忠実なMarkdown構造が生成されます
-
プラグイン
- プラグインはCLIからリストアップおよび有効化でき(例:
--list-plugins、--use-plugins)、変換動作を拡張または新しいフォーマットハンドラーを追加できます
- プラグインはCLIからリストアップおよび有効化でき(例:
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aipoch
- ライセンス
- MIT
- 最終更新
- 2026/5/11
Source: https://github.com/aipoch/medical-research-skills / ライセンス: MIT