Kreuzberg:支持91种格式的多语言文档智能提取框架

Kreuzberg是一个用Rust编写的多语言文档智能框架,支持从PDF、Office文档、图片等91种以上格式中提取文本、元数据、图片和结构化信息。项目提供了Rust、Python、Ruby、Java、Go、PHP、Elixir、C#、R、C、TypeScript等多种语言绑定,还支持CLI、REST API和MCP服务器调用方式。

项目亮点

超多格式支持:支持PDF、Word、Excel、PowerPoint、RTF、EPUB、图片(PNG、JPG、TIFF等)等91种以上文档格式,一个库解决所有文档处理需求。

多语言绑定:核心用Rust实现,性能卓越,同时提供Python、JavaScript/TypeScript、Go、Java、Rust等十余种语言的FFI绑定,满足不同技术栈的开发需求。

多接口方式:支持库调用、命令行工具、REST API服务器、MCP服务器四种使用方式,灵活适应各种应用场景。

结构化信息提取:不仅提取原始文本,还能识别文档中的表格结构、标题层级、关键元数据等。

图片提取能力:可以从PDF和Office文档中批量提取嵌入的图片。

安装步骤

Rust项目(使用crates.io):

cargo add kreuzberg

Python项目(使用PyPI):

pip install kreuzberg

JavaScript/TypeScript项目:

npm install kreuzberg
# 或
yarn add kreuzberg

Go项目:

go get github.com/kreuzberg-dev/kreuzberg

Docker快速体验:

docker run -p 8080:8080 kreuzberg-dev/kreuzberg-api
# API服务启动在 http://localhost:8080

基本使用示例

Python使用示例:

import kreuzberg

# 从PDF提取所有内容
result = kreuzberg.extract(“document.pdf”)
print(result.text)
print(result.metadata)

# 从Word文档提取
result = kreuzberg.extract(“report.docx”)
for page in result.pages:
print(page.text)

# 获取图片
result = kreuzberg.extract(“slides.pptx”)
for img in result.images:
with open(img.filename, “wb”) as f:
f.write(img.data)

Rust使用示例:

use kreuzberg::{Document, Extractor};

let doc = Document::from_path(“report.pdf”)?;
let result = Extractor::extract(&doc)?;

println!(“{}”, result.text);
println!(“{:?}”, result.metadata);

命令行使用:

# 安装CLI工具
cargo install kreuzberg-cli

# 提取PDF内容
kreuzberg extract document.pdf

# 输出为JSON格式
kreuzberg extract document.pdf –format json

REST API使用:

curl -X POST http://localhost:8080/extract \
-F “file=@document.pdf” \
-F “options={“extract_images”:true}”

适用场景

企业文档数字化:将大量历史纸质文档PDF、扫描件进行结构化提取。

知识库构建:从各类文档中自动提取内容构建RAG知识库。

数据迁移服务:将旧系统中的Office文档迁移到新系统。

智能归档系统:自动识别和分类归档各类电子文档。

AI训练数据准备:从文档中提取语料用于模型训练。

开源协议

采用专有开源协议(Other),具体条款请参考项目GitHub仓库的LICENSE文件。

总结

Kreuzberg是一个功能全面、性能出色的文档智能提取框架,其Rust核心加上丰富的语言绑定使其可以灵活集成到各种技术栈中。91种格式的支持覆盖面极广,PDF、Office文档、图片等常见格式都能处理,再配合CLI、API等多种接口方式,无论是简单的文档转换任务还是复杂的企业级文档处理流程,Kreuzberg都能提供可靠的技术支撑。


服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容