このプロジェクトについて

XbergはRustコアを中心に構築された多言語対応の文書インテリジェンスエンジンです。PDF、スキャン画像、スプレッドシート、音声ファイル、URL、アーカイブ、ソースツリーを指定すると、クリーンなテキスト、表、メタデータ、構造化データを返します。形式検出、読み取り、OCR、抽出は、個別のライブラリを組み合わせるのではなく、単一のエンジンで処理されます。 カバレッジと機能 - 形式: READMEによると、141のファイル拡張子と56のMIMEエイリアスにわたる107形式をサポートし、Office文書(Word、Excel、PowerPoint、OpenDocument、Apple iWork、Hangul HWP/HWPX)、PDF、電子書籍(EPUB、FB2)、データベース(DBF、SQLite、GeoPackage)、ラスターおよび高度な画像(PNG、JPEG、TIFF、JPEG2000、JBIG2、HEIC/AVIF、SVG)、オーディオおよびビデオトラック(MP3、M4A、WAV、WebM、MP4/MPEGオーディオトラック)、Webおよび構造化データ(HTML、XML、JSON、YAML、TOML、CSV)、テキストおよびMarkdownバリアント(AsciiDoc、CommonMark、MyST、Quarto、Djot、MDX、DocTags、reStructuredText、Org)、電子メール(EML、MSG、PST)、アーカイブ(ZIP、TAR、GZ、7z)、学術形式(BibTeX、RIS、EndNote、LaTeX、Typst、JATS、Jupyterノートブック、DocBook、OPML)を網羅しています。 - コードインテリジェンス: tree-sitterを介して371のプログラミング言語から構造、インポート、シンボル、docstringを抽出し、RAGパイプライン向けの構文認識チャンキングを提供します。 - OCR: Tesseract、PaddleOCR、Candle、またはVLMバックエンドをサポートし、フォールバックチェーン、信頼スコア、言語自動検出を備えています。 - レイアウトと表: MLレイアウトモデル(PP-DocLayout-V3、RT-DETR)と表構造モデル(TATR、SLANet)が読み取り順序とセルグリッドを再構築します。 - エンリッチメント: NER、キーワード抽出(YAKE/RAKE)、要約、翻訳、PII編集、ページ分類、QR検出、言語検出、TOONトークン削減形式を提供します。 - 埋め込みと検索: ローカルONNX埋め込みまたはプロバイダーホスト型埋め込み、スパースおよびレイトインタラクション検索、クロスエンコーダー再ランキングをサポートします。 - 構造化抽出: ローカルエンジン(Ollama、LM Studio、vLLM)またはホスト型LLMプロバイダーを使用して、文書からスキーマ駆動のJSONを生成します。 - 出力: プレーンテキスト、Markdown、Djot、HTML、JSONツリー、またはDocling DocTagsに加え、カスタムレンダラーを提供します。 インターフェースとデプロイメント 15のバインディングがリストされています: Rust、Python、Node.js、WebAssembly、Java、Go、C#、PHP、Ruby、Elixir、Dart、Kotlin(Android)、Swift、Zig、C FFI。デプロイメントオプションには、ライブラリAPI、14のコマンドを持つCLI(extract、batch、detect、formats、version、cache、tree-sitter、doctor、serve、mcp、api、embed、chunk、completions)、`xberg serve`によるREST APIサーバー、Claude Desktop、Cursorなどのクライアント向けに9つのツール、3つのプロンプト、4つのリソースを持つMCPサーバー、さらにDockerおよびHelmパッケージングが含まれます。READMEでは、デフォルトでCPUのみの動作、コンテンツハッシュキャッシュ、並列バッチ処理、ファイルごとのタイムアウトが記載されています。 注記 一部の機能はCargoフィーチャーフラグ(url-ingestion、transcription、reranker、layout/ORT)の背後にゲートされており、プリビルドパッケージとDockerイメージには一般的なセットがバンドルされています。このプロジェクトはKreuzbergの後継として説明され、MITライセンスです。READMEのパフォーマンスとベンチマークの主張はプロジェクト自身のものであり、ここでは独立に検証されていません。