firecrawl/anydoc

Convert Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF to clean Markdown. Built in Rust, with Node.js and Python bindings.

何を解決するか

anydoc は、幅広いオフィス文書(Word、PowerPoint、Excel、PDF など)をクリーンで LLM 向けの GitHub フォーマット Markdown に変換する高パフォーマンスなライブラリです。異なるファイル形式間での一貫性の欠如や遅い解析の問題を解決し、LLM 向けデータ準備に最適な一貫した出力形式を提供します。

動作方法

このライブラリは純粋な Rust で書かれており、速度を重視し、ML モデルや外部サービスに依存していません。以下のマルチステッププロセスを使用しています:

  1. フォーマット検出:ファイル拡張子に頼らず、コンテンツマーカー(バイト)に基づいてファイルタイプを識別します。
  2. フォーマットパーサー:サポートされている各フォーマットには独自のパーサーがあり、ドキュメントを共有される内部ドキュメントモデル(ブロック、インライン、テーブル、アセットを含む)に変換します。
  3. GFM シリアライザー:この共有モデルは、単一のシリアライザーによって Markdown にレンダリングされ、すべての入力フォーマットでテーブルやフッノートなどの要素の挙動が同一になります。
  4. PDF 処理:テキストベースの PDF は pdf-inspector を使用して直接 Markdown に変換されます。

対象ユーザー

  • AI 開発者:RAG パイプラインや LLM アプリケーションを構築し、さまざまなオフィス文書をインプットする必要がある方。
  • エージェントワークフロー:ローカルファイルを読み取り、処理できる AI エージェントを開発する開発者。提供される「エージェントスキル」統合を利用可能。
  • ソフトウェアエンジニア:Node.js、Python、Rust 用のバインディングを備えた高速でローカル、一貫性のあるドキュメントから Markdown への変換が必要な方。WebAssembly を通じてブラウザ上で実行することも可能。

特徴

  • 広範なフォーマット対応:Word、PowerPoint、Excel、OpenDocument、PDF を含む 14 形式をサポート。
  • 極めて高速:ドキュメントあたりの中央値変換時間は 5ms 未満。
  • 一貫した出力:共有ドキュメントモデルにより、数式の LaTeX 表記など、すべてのフォーマットでフォーマットが均一になります。
  • ローカル処理:コア変換には外部 API 呼び出しや ML モデルを必要とせず、WebAssembly バージョンでブラウザ上でローカル処理が可能。
  • エージェント対応:エージェントスキルとしての統合により、AI エージェントがドキュメント読み取り機能を簡単に採用できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト