Unstructured-IO/unstructured
PDF、HTML、Word、メールなどをLLMパイプライン向けの構造化要素に分割する、オープンソースのPythonライブラリ。
- スター
- 15,687
- フォーク
- 1,383
- 未解決の Issue
- 340
- 最終コミット
- 一昨日
これは何?
Unstructuredは、PDF、HTMLページ、Wordファイル、メールなどの画像・テキスト文書を取り込み、前処理するオープンソースのPythonライブラリです。partition関数はファイル形式を判別し、コンテンツを型付き要素(タイトル、段落、表など)のリストに変換します。これにより、生のテキストよりも言語モデルや検索システムに渡しやすくなります。
ライブラリには、各ファイルを形式ごとの関数に振り分ける汎用のpartition()エントリポイントがあり、特定の文書形式に必要なextrasだけをインストールできます。一部の形式では、OCR用のtesseract、PDF用のpoppler、MS Officeファイル用のlibreofficeといった任意のシステム依存関係が必要です。テレメトリーはデフォルトで送信されますが、DO_NOT_TRACKまたはSCARF_NO_ANALYTICS環境変数で無効にできます。
このプロジェクトは、より高品質な出力を得られるホステッド版のTransform v2 APIも提供していますが、オープンソースライブラリは無料のコンポーネントとして保守されています。
主な機能
- 01PDF、HTML、Word、メールなどを型付きの文書要素に分割します。
- 02ファイル形式を自動判別し、形式ごとの分割関数に振り分けます。
- 03tesseractを使って画像やスキャンしたPDFのOCRに対応します。
- 04文書形式ごとに任意のextrasをインストールでき、依存関係を最小限に抑えられます。
- 05マルチプラットフォームイメージを使い、Dockerコンテナで実行できます。
ユースケース
- 企業文書を、検索拡張生成で使える整ったテキストチャンクに加工する。
- PDFから表やタイトルを抽出し、後続のデータ分析に利用する。
- メールやOfficeファイルを構造化されたJSONに変換し、取り込みパイプラインに渡す。
クイックスタート
- 1
Dockerイメージをプルする
docker pull downloads.unstructured.io/unstructured-io/unstructured:latest - 2
イメージからコンテナを起動する
docker run -dt --name unstructured downloads.unstructured.io/unstructured-io/unstructured:latest - 3
すべてのドキュメント形式に対応したPython SDKをインストールする
pip install "unstructured[all-docs]" - 4
Pythonでサンプルのメールファイルを分割する
使う前に知っておきたいこと
- ドキュメント形式によっては、tesseract-ocr、poppler-utils、libreofficeなどのシステムパッケージが必要です。
- より高品質な出力は、有料のTransform v2 APIでのみ利用できます。
収録されている特集
トピック
よくある質問
- unstructured とは?
- PDF、HTML、Word、メールなどをLLMパイプライン向けの構造化要素に分割する、オープンソースのPythonライブラリ。 Unstructuredは、PDF、HTMLページ、Wordファイル、メールなどの画像・テキスト文書を取り込み、前処理するオープンソースのPythonライブラリです。partition関数はファイル形式を判別し、コンテンツを型付き要素(タイトル、段落、表など)のリストに変換します。これにより、生のテキストよりも言語モデルや検索システムに渡しやすくなります。
- unstructured は無料で使えますか?ライセンスは?
- unstructured は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- unstructured は今もメンテナンスされていますか?
- 活発にメンテナンス中。unstructured の最終コミットは 2026年11月6日 です。
- unstructured は何に使えますか?
- 企業文書を、検索拡張生成で使える整ったテキストチャンクに加工する。 PDFから表やタイトルを抽出し、後続のデータ分析に利用する。 メールやOfficeファイルを構造化されたJSONに変換し、取り込みパイプラインに渡す。
- unstructured のインストール方法は?
- Dockerイメージをプルする: docker pull downloads.unstructured.io/unstructured-io/unstructured:latest イメージからコンテナを起動する: docker run -dt --name unstructured downloads.unstructured.io/unstructured-io/unstructured:latest すべてのドキュメント形式に対応したPython SDKをインストールする: pip install "unstructured[all-docs]" Pythonでサンプルのメールファイルを分割する
- unstructured はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Unstructured-IO/unstructured
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
PDF、Officeファイル、画像をLLMやエージェントのワークフロー向けにMarkdownまたはJSONへ変換するオープンソースの文書パーサー。
PDF、Office文書、HTMLなどを構造化データに変換し、生成AIのパイプラインで活用できるオープンソースのドキュメントパーサー。
PDF、Word、PowerPoint、Excel、CSVを、内容の保持を目指しながらLLM向けテキストに変換するドキュメントパーサー。
PDF、Officeファイル、画像をレイアウト解析とOCRでLLM向けのチャンクに変換する、セルフホスト型の文書インテリジェンスAPI。
Baiduのオープンソース視覚言語OCRモデル。長い複数ページの文書やPDFを一度の処理で構造化テキストに変換します。