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 工作流中的上下文窗口占用。
-
支持多种 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 中利用功能标志(如 tokio-runtime、pdf)可优化二进制大小和运行时依赖。
仓库统计
- Star 数
- 8,205
- Fork 数
- 473
- Open Issue 数
- 23
- 主要语言
- Rust
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年5月3日 16:32