内容索引之word转md工具 - markitdown
切分文档构建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