文档转换服务工具office2md 2.0

office2md 2.0 是一款强大的文档转换服务,专注于将各类办公文档转换为 Markdown 格式。目标零成本实现高质量的数据抽取,为大模型RAG提供更准确的语料

主要特性

  • 支持多种文件格式转换:PowerPoint、Word、Excel、图像、音频和 HTML
  • 内置视觉理解和图片矫正模型
  • 零成本实现高质量数据提取
  • 支持并发处理,显著提升转换效率
  • 集成 UVDoc 图像矫正技术

快速开始

使用 Docker 部署服务,支持CPU:

docker run -p 8000:8000 registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/markitdown

性能优化

本次更新重构了处理逻辑,采用"切分-分批-解析-合并"的并行处理架构。性能测试显示,44页 PDF 的平均处理时间已优化至每页1秒以内。得益于并行处理架构,页数越多,性能优势越显著(考虑模型加载时间)

图像矫正能力

集成了基于神经网格的 UVDoc 图形矫正工具,该工具源自 ETH Zurich 的研究成果。UVDoc 提供了一个仅 30MB 的轻量级模型,支持应用内嵌运行,在 CPU 环境下也能实现秒级的图片矫正。如果追求更高性能,office2md 同时支持 GPU 加速。此外,用户也可以选择使用 Gitee AI 提供的 UVDoc 在线服务。

扩展:大模型结构化处理

office2md 支持通过大模型进行文档内容的结构化处理。以下是使用 Java 和 langchain4j SDK 的示例实现:

1. 定义 AI 助手接口

复制代码
@AiService
public interface ProductInfoExtractor {
    @UserMessage("从 {{it}} 中提取详细的产品信息")
    ProductInfo extractProductInfo(String json);

    @Data
    class ProductInfo {
        @Description("产品名称")
        private String name;
        @Description("产品型号或规格")
        private String model;
        @Description("医疗器械注册证编号")
        private String registrationNumber;
        @Description("产品技术要求编号")
        private String technicalRequirementsNumber;
        @Description("生产许可证编号")
        private String productionLicenseNumber;
    }
}
复制代码

2. 配置AI服务

复制代码
@Bean
public ChatLanguageModel chatLanguageModel() {
    return OpenAiChatModel.builder()
            .apiKey(System.getenv("GITEE_AI_KEY"))
            .modelName("Qwen2-VL-72B")
            .logRequests(true)
            .baseUrl("https://ai.gitee.com/v1")
            .build();
}

@Bean
public ProductInfoExtractor personExtractor(ChatLanguageModel chatLanguageModel) {
    return AiServices.create(ProductInfoExtractor.class, chatLanguageModel);
}
复制代码

通过以上配置,即可实现从自然语言文本到结构化 JSON 对象的转换。

office2md 项目地址:https://gitee.com/log4j/office2md

 

posted @   liucs  阅读(22)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示