切分文档构建RAG库过程中,langchain、llamaindex更期望处理latex、md类带有显式结构文档。

langchain、llamaindex切分word,有可能将段落中间截断,导致切分后的块语义不完整。

所以,需要先将word转化为md格式,然后再进行切分构建RAG知识库。

目前效果较好的word转md工具,要么是需要付费的商业版,要么借助于LLM转化,而LLM调用同样需要付费。

微软的word转md的开源工具markitdown,可以达到类似效果,适合文档分析和内容索引场景。

这里示例markitdown的下载和使用过程。

1 markitdown安装

1)python环境构建

conda create -n markitdown python=3.12
conda activate markitdown

2)markitdown安装

如果git clone失败,可以直接从如下链接下载,然后pip安装。

https://github.com/microsoft/markitdown/archive/refs/tags/v0.1.2.zip

git clone git@github.com:microsoft/markitdown.git
cd markitdown
pip install -e 'packages/markitdown[all]'

2 markidwon 示例

word文件转md文件

markitdown test.docx > document.md

pdf文件转md文件

markitdown test.pdf > pdf.md

整体看word转pdf后能较好的保持文档结构,pdf转md会丢失文档结构。

reference

---

markdidown

https://github.com/microsoft/markitdown

RAG向量化文档分块方式探索

https://blog.csdn.net/liliang199/article/details/149798215

借助于llm将pdf转化为md文本

https://blog.csdn.net/liliang199/article/details/149808465

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93048.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93048.shtml
英文地址,请注明出处:http://en.pswp.cn/web/93048.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MaxKB+合合信息TextIn:通过API实现PDF扫描件的文档审核

上海合合信息科技股份有限公司(以下简称为合合信息)是一家深耕人工智能、OCR(光学字符识别)及商业大数据技术领域的科技企业。该公司拥有领先的智能文字识别技术,其名片全能王(CamCard)、扫描全…

MyBatis 核心入门:从概念到实战,一篇掌握简单增删改查

目录 一、什么是 MyBatis?为什么要用它? 二、MyBatis 核心概念(通俗理解) 1.SqlSessionFactory 2.SqlSession 3.Mapper接口 4.映射文件(XML) 三、手把手搭建第一个 MyBatis 项目 1. 准备工作 2. 核心配置文…

数据结构初阶(12)排序算法—插入排序(插入、希尔)(动图演示)

2. 常见排序算法的实现2.0 十大排序算法2.1 插入排序 2.1.1 基本思想直接插入排序是一种简单的插入排序法:基本思想把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中。直到所有的记录插入完为止,得到一个新的有序序列 。 比 挪 (…

MySQL优化常用的几个方法

本实例是对慢sql从2万优化到5千优化方法的汇总。 首先贴上优化效果:1、更新数据时使用ID更新;2、"分页/轮询"查询时先获取符合数据要求主键的最大和最小ID,然后WHERE条件增加ID步增查询;3、检查SQL是否命中WHERE条件&am…

深入解析 AUTOSAR:汽车软件开发的革命性架构

引言在汽车智能化、网联化、电动化浪潮席卷全球的今天,汽车电子系统的复杂性与日俱增。传统“烟囱式”的 ECU 开发模式(各供应商独立开发软硬件)带来了巨大的兼容性、复用性和维护成本挑战。AUTOSAR(AUTomotive Open System ARchi…

计算机视觉(opencv)实战一——图像本质、数字矩阵、RGB + 图片基本操作(灰度、裁剪、替换等)

OpenCV 入门教程: OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛应用于图像处理、视频分析、机器学习等领域。 在 Python 中,cv2 是 OpenCV 的主要接口模块。本文将带你一步步掌握 cv2…

《探索C++ set与multiset容器:深入有序唯一性集合的实现与应用》

前引:在STL的关联式容器中,set以其严格的元素唯一性和自动排序特性成为处理有序数据的核心工具。其底层基于红黑树(Red-Black Tree)实现,保证了O(log n)的查找、插入与删除复杂度!本文将从底层原理切入&…

各测试平台功能对比分析(ITP,Postman,Apifox,MeterSphere)

对比ITP与Postman,Apifox,MeterSphere 功能特性ITPPostmanApifoxMeterSphere接口测试✅ 可视化接口调试,支持多种请求方式✅ 支持✅ 支持✅ 支持场景测试✅ 多接口串联测试,支持前后置脚本✅ Collections功能✅ 支持✅ 支持定时任务✅ 基于Celery的定时…

开源日志log4cplus—如何将 string类型转为tstring类型,又如何将char*类型转换为tstring类型?

文章目录🔧 一、理解 log4cplus::tstring 的本质⚙️ 二、std::string 转 tstring 的三种方法✅ 1. 使用内置宏 LOG4CPLUS_STRING_TO_TSTRING(推荐)✅ 2. 手动条件编译转换(精细控制)✅ 3. 多字节模式下的直接赋值⚙️…

深度学习之CNN网络简介

CNN网络简单介绍 1.概述 卷积神经网络(Convolutional Neural Network,CNN)是一种专门用于处理具有网格状结构数据的深度学习模型。 ​ CNN网络主要有三部分构成:卷积层、池化层和全连接层构成,其中卷积层负责提取图像中…

【微实验】基频提取的MATLAB实现(优化版)

前情提要: 【超详细】科普:别再只会用自相关!YIN 和 PYIN 如何破解音频隐藏密码?-CSDN博客 【微实验】妈妈我的MATLAB会识别声音的基频了!-CSDN博客 今天用MATLAB把算法封装成函数,然后调用对比结果。 …

开发 npm 包【详细教程】(含发布 npm 包,版本号升级,修改包后重新发布等)

1. 给 npm 包取个【唯一】的名字! npm 包命名规范 只能包含小写字母(a-z)、数字(0-9)、连字符(-) 和 下划线(_),不能包含空格、大写字母、标点符号&#xff…

Secure 第三天作业

实验需求:1.参考以上拓扑所示,完成以下需求:1) 配置各设备 IP 地址2) 配置 ZBFW,Inside-1 和 nside-2 属于内部 Zone,Outside-1 属于外部 Zonezone security insidezone security outsidezone-p…

Linux应用层-5.计算机网络(菜鸟学习笔记)

计算机网络的核心是连接与通信,从底层的物理信号到上层的应用服务,各层协议协同工作---------------------------------------------------------------------------------------一.计算机网络分类(按范围)1•个人区域网&#xff…

[论文阅读] 人工智能 + 软件工程 | 大型语言模型对决传统方法:多语言漏洞修复能力大比拼

大型语言模型对决传统方法:多语言漏洞修复能力大比拼 论文阅读:On the Evaluation of Large Language Models in Multilingual Vulnerability RepairarXiv:2508.03470 On the Evaluation of Large Language Models in Multilingual Vulnerability Repair…

计算机网络2-3:传输方式

目录 串行传输和并行传输 同步传输和异步传输 单工、半双工以及全双工通信 总结 串行传输和并行传输 并行传输的优点是速度为串行传输的n倍,但也存在一个严重的缺点即成本高 同步传输和异步传输 单工、半双工以及全双工通信 总结

文档生成PPT软件哪个好?深度测评8款word转ppt生成工具

在日常办公与教学场景中,如何高效地将Word文档内容转化为专业PPT,一直是职场人士、教育工作者及内容创作者的共同痛点。随着AI技术的普及,一键式转换工具应运而生,它们不仅能精准识别Word中的标题与段落结构,还能自动套…

Azimutt:一款免费开源的多功能数据库工具

Azimutt 是一款支持数据库设计、表结构探索与分析、数据查询以及数据库文档生成功能的全栈工具。 Azimutt 是一个免费开源的项目,源代码托管在 GitHub: https://github.com/azimuttapp/azimutt 功能特性 多数据库支持:包括主流数据库 MySQ…

智算赋能:移动云助力“世界一流数据强港”建设之路

2024年5月,某创新产业园区智算中心正式揭牌成立。台下响起的掌声不仅是对一个项目的祝贺,更是客户对未来的期许—— 推动产业结构优化升级,领跑数字经济转型发展。5家500强企业、8家上市企业、17家独角兽企业……该创新产业园区在成为“世界一…

达梦自定义存储过程实现获取表完整的ddl语句

--导出表的ddl CREATE OR REPLACE PROCEDURE show_create_table( db IN varchar(255), tb IN varchar(255)) ASsql1 text;ret text : ;cmt text :;sql2 text :; BEGINFOR WSX IN (select TABLEDEF(db,tb) as ddl from dual) LOOPret: ret||WSX.DDL;END LOOP;ret : ret||chr(10…