kreuzberg
高效能文件智慧程式庫,可從 91 種以上檔案格式中提取文字、表格、程式碼與後設資料,並支援 OCR 與 LLM 格式輸出。
簡介
Kreuzberg 是一個以 Rust 為核心的高效能多語言文件智慧程式庫,專為處理超過 91 種檔案格式(包括 PDF、Office 文件、壓縮檔、圖片、HTML 與電子郵件)的大規模資料提取而設計。它非常適合軟體工程師、資料科學家與自動化專家,讓您能將文件解析功能直接整合至應用程式中。無論是建構 RAG 管線、自動化文件輸入,還是對舊式學術文件進行結構化分析,Kreuzberg 都能提供穩定且高保真的資料提取能力,且無需昂貴的 GPU 等硬體。
本程式庫擅長處理複雜的文件結構,利用 tree-sitter 對 248 種程式語言進行程式碼智慧化分析,並提供包括 Python、Node.js、Rust、Java、C#、Go、Ruby、Elixir、R 與 C 等主要程式語言的原生繫結。透過高效能的 Rust 後端,它能確保在不同環境中產生一致的解析結果。它還具備先進的 LLM 整合能力,可輸出結構化 JSON,並支援如 TOON 等高效率 Token 序列化格式,能大幅降低 RAG 與 LLM 工作流程中的 Context Window 使用量。
-
支援多種 OCR 引擎,包括 Tesseract、PaddleOCR、EasyOCR,以及與 146 種視覺模型供應商整合的 VLM 字元辨識。
-
利用 tree-sitter 進行程式碼結構提取,支援 248 種程式語言的函數、類別與符號解析。
-
記憶體高效的串流解析架構,具備處理 GB 等級大型文件的效能。
-
全面的文件智慧功能,涵蓋表格提取、後設資料解析與語意分段。
-
多樣化的部署方式,包括原生套件、企業級 CLI 工具、REST API 伺服器以及 MCP (Model Context Protocol) 伺服器。
-
提供符合 GFM 規格的輸出轉換,支援 Markdown、HTML、Djot 與純文字,並具備正確的格式對齊。
-
可使用 CLI 進行本機文件批次處理,或透過語言專屬 SDK 進行即時提取。
-
透過 TOML 檔案或動態設定物件進行複雜任務設定,包括密碼保護的 PDF 支援、自定義 OCR 後端與後處理外掛。
-
支援 91 種以上的本機檔案或二進位串流輸入;輸出包括提取出的文字、結構化 JSON/TOON 資料或 LLM 友善的 Markdown 字串。
-
若使用 PaddleOCR 功能,請確保系統已安裝 ONNX Runtime;在 Rust 中可利用 feature flag(如 tokio-runtime、pdf)來優化二進位大小與執行環境依賴。
倉庫統計
- Star 數
- 8,205
- Fork 數
- 473
- Open Issue 數
- 23
- 主要語言
- Rust
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年5月3日 下午04:32