Xberg v1 发布

Reddit r/LocalLLaMA 工具

摘要

Xberg v1 作为 Kreuzberg 的继任者发布,是一个高性能内容智能框架,支持 101 种文档格式、367 种代码/数据类型、音视频转录和 URL 抓取,拥有纯 Rust 的 PDF 和 OCR 后端、多种语言绑定以及移动端/WASM 支持。

大家好,我很高兴地宣布 Xberg v1 发布。Xberg 是 Kreuzberg 的继任者,相当于 Kreuzberg v5。它是一个内容智能框架,处理非常广泛的输入:文档(目前 101 种格式)、代码和数据格式(目前 367 种类型)、音视频转录,以及 URL(包括静态和 JS 渲染内容)。它提取并准备这些内容以供下游处理。它是一个极其高效、高性能的引擎(请参阅下面的 PDF 基准测试)。具体到 PDF 和图像,我们以非常高的性能和准确性处理原生 PDF,并提供了多个 OCR 引擎,其质量可与最好的 Python 库(例如 docling、PaddleOCR、RapidOCR)相媲美,同时性能和稳定性显著更优。Kreuzberg v4 和 Xberg v1 之间的变化很大,邀请您阅读完整的变更日志以了解全貌。以下亮点让您了解新功能:纯 Rust PDF 后端(pdf_oxide)取代了 pdfium,不再依赖原生 pdfium。布局感知流水线:通过 ONNX 布局检测(PP-DocLayoutV3 / RT-DETR)和 Docling 风格的前驱图重排序重建阅读顺序。逐页扫描页检测与选择性 OCR,外加 AcroForm/XFA 表单字段和基于大纲的标题。全面优化 OCR 和 PDF 提取(内存纪律、模型会话池化、流式转换)。原生 PaddleOCR 后端(PP-OCRv6,提供 medium / small / tiny 三档)与 Tesseract 并列。纯 Rust Candle OCR/VLM 技术栈(TrOCR、GLM-OCR、GOT-OCR、DeepSeek-OCR 和 PaddleOCR-VL),无需 ONNX Runtime 或原生 Tesseract 即可运行。通过 tract 提供了第二条无 ONNX Runtime 的推理路径,这正是浏览器内(WASM)和移动端推理成为可能的原因。原生 Rust 命名实体识别(GLiNER2),可扩展到所有绑定,包括无需服务器往返的浏览器内 WASM 模型。结构化 LLM 提取(extract_structured / split_and_extract),支持栅格化、分块、引用、缓存,以及可配置的调用/合并/VLM 回退策略。通过 Whisper ONNX 引擎进行音视频转录(.mp3、.wav、.m4a、.mp4、.webm)。检索构建块:稀疏嵌入(SPLADE)、ColBERT 后期交互检索,以及交叉编码器重排序,与密集嵌入并列。文本智能:可逆脱敏、摘要、翻译、VLM 图像标题生成、二维码检测、文档差异比对,以及页面/块分类。URL 与网页抓取:站点地图发现(map_url)和批量多 URL 爬取。新文档格式:WordPerfect(.wpd/.wp/.wp5)、HEIC/HEIF/AVIF、OpenDocument 演示文稿(.odp)、Quarto / R Markdown,以及可配置的 Jupyter 单元格渲染。四个新的语言绑定(Dart/Flutter、Swift、Kotlin/Android 和 Zig)使同一引擎上的语言绑定总数达到 15 个,并支持 Android/iOS 交叉编译。完整移动端支持(Flutter、Android、iOS)。与 ONNX 并行的 Candle 后端,再加上通过 tract 提供的 ONNX,使 ONNX 能够在 WASM 和 Android 上运行。更广泛的代码智能:tree-sitter 覆盖范围大幅增长(从 248 种语言到 367+ 种语言)。在 1.0 周期内修复了超过 150 个 bug,并进行了安全加固(有界 RTF/PDF 分配、脱敏泄漏修复、Excel DDE 警告)。API 表面也进行了简化和重构,使其更加一致。我们的文档中提供了迁移指南,说明如何从 Kreuzberg 迁移到 Xberg。Kreuzberg 本身处于 LTS 模式,直到今年年底,并将继续接收错误修复和安全更新。邀请您查看仓库并加入我们的 Discord 服务器。 基准测试 下面的基准测试仅针对 PDF 和图像。我们的网站上有大量按格式细分的基准测试,您可以在此处查看。这些数字是通过可复现的基准测试工具在 CI 中测得的,具体来自 harness 1.0.8、源码 cf7fa0533d 的运行。数据公开在 GitHub Releases 中,您也可以自行运行基准测试工具。 综合质量(markdown 流水线,越高越好): 框架 原生 PDF 扫描 PDF(OCR) Xberg (layout) 0.958 0.836 Xberg (baseline) 0.955 0.687 docling 0.779 0.762 mineru 0.408 0.792 liteparse 0.837 0.665 markitdown 0.689 n/a pymupdf4llm 0.448 n/a 结构与布局保真度(SF1:表格与阅读顺序,越高越好): 框架 原生 PDF 扫描 PDF Xberg 0.949 0.531 docling 0.612 0.366 liteparse 0.515 0.142 mineru 0.077 0.429 在原生 PDF 上,Xberg 在质量上领先(0.958,而次优框架为 0.837),并且在表格和阅读顺序保真度上大幅领先(SF1:0.949,而 docling 为 0.612)。在扫描 PDF 上,它在质量和原始文本保真度方面均排名第一。我们尚未获胜的领域:在纯图像 OCR 上,我们目前在综合得分上排名第二,落后于 mineru(尽管在原始文本准确率上仍排名第一)。我们目前正在改进图像 OCR,v1.1 应该能让我们全面获胜。
查看原文

相似文章

Xberg:面向智能体的本地“读取任意文档”工具

Reddit r/AI_Agents

Xberg 是一个本地内容智能框架(Rust 核心,MIT 许可),通过 MCP 服务器或 CLI 从 101 种文档格式中提取文本,重建阅读顺序和表格,并为上下文窗口分块——所有操作均在设备端完成,服务于 AI 智能体。