工程開發
kreuzberg avatar

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
在 GitHub 查看