xberg-io/xberg

A polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 98+ formats. Available for Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, R, C, TypeScript (Node/Bun/Wasm/Deno)- or use via CLI, REST API, or MCP server.

解決する課題

現代のデータパイプラインは、PDFやスプレッドシートから音声ファイルや複雑なソースコードに至るまで、多様なファイル形式の解析の複雑さに直面することがよくあります。Xbergは、開発者が断片的なライブラリを組み合わせたり、複雑なOCRパイプラインを手動で構築したりすることなく、クリーンで構造化されたテキストとメタデータを抽出するための統合エンジンを提供します。

仕組み

Xbergは、単一のコアエンジンを使用して、98種類のフォーマットにわたるインテリジェントなMIME検出と抽出を実行します。以下の様々な処理モードをサポートしています:

  • 抽出 (Extraction): ドキュメント、画像、音声、コードをMarkdownやJSONなどの構造化された形式に変換します。
  • OCR & 文字起こし (Transcription): 視覚的および音声コンテンツに対して、Tesseract、PaddleOCR、またはWhisper (via ONNX) などのバックエンドを使用します。
  • コードインテリジェンス (Code Intelligence): tree-sitterを採用し、306のプログラミング言語に対して構文を認識したチャンキングとシンボル抽出を実行します。
  • エンリッチメント (Enrichment): NER、要約、翻訳、およびテーブル抽出を提供します。
  • デプロイメント (Deployment): ライブラリ(15の言語バインディング付き)、CLI、REST API、またはMCPサーバーとして動作します。

対象ユーザー

  • AI/LLM 開発者: 構文を認識したコードチャンキングや構造化されたドキュメントの取り込みを必要とするRAGパイプラインを構築している方。
  • データエンジニア: 大規模なドキュメントアーカイブからデータをクロール、バッチ処理、抽出するための自動化パイプラインを構築している方。
  • ソフトウェアエンジニア: 高性能な言語バインディングを介して、既存のアプリケーションに高度なドキュメント解析およびOCR機能を集約したい方。

ハイライト

  • 膨大なフォーマットサポート: Officeドキュメント、画像、音声、ビデオ、アーカイブを含む98のフォーマットを処理します。
  • マルチ言語バインディング: Rust, Python, Node.js, Go, Java, C#, Ruby, PHP, Elixir, Dart, Swift, Zig, および WASM をネイティブサポートしています。
  • RAG対応: 構文を認識したコードチャンキングと、組み込みのembedding/rerankingサポートを備えています。
  • 柔軟なデプロイメント: ローカルライブラリ、Dockerコンテナ、REST API、またはClaudeやCursorのようなAIアシスタント向けのMCPサーバーとして実行可能です。