工程开发
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 工作流中的上下文窗口占用。

  • 支持多种 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
在 GitHub 查看