RAG的有趣新尝试:将文本编码进MP4文件实现思路及Agentic-doc处理文档


RAG的有趣新尝试:将文本编码进MP4文件实现思路及Agentic-doc处理文档

仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接

今天是2025年6月5日,星期四,北京,晴
我们继续来看一些有趣的数据和新发现。
一个是将文本编码进MP4文件的有趣RAG尝试,思路很有趣,看看怎么做的。
另一个是Agentic-doc,用agent来做个文档处理。
都是很有趣的工作。
关于语义搜索进展,来一个很有趣的工作,Memvid,直接将文本数据编码成视频文件,通过将文本块压缩到单个MP4文件中,做语义搜索:https ://github. com/olow304/memvid

核心点是,在实现快速语义搜索(1M块少于2秒)目标时,不使用向量化数据库,而是基于MP4索引文件,所以整个数据流为:
一个是构建索引,怎么把chunk编码成视频做存储
chunk转二维码并记录索引,做embedding后送Faiss。
1、mp4文件的构成
之前的方案,需要额外有一个存储文档chunk的数据库,比如es,mongodb或者mysql,所以,为了解决这个问题,就用mp4来存储一个个chunk,那么怎么存储,就是编码为一个个二维码,然后记录出这个二维码位于整个视频中所在的帧索引,也就是timestamp,所以就会形成以下这个结构:
那么,问题来了,怎么把chunk变成一个二维码?那就是使用FFmpeg用于视频编码,使用libzbar0用于二维码解码。
2、索引文件
索引文件包括:memory_index. json+memory_index. faiss
在向量化方面,其实跟之前并没有区别,还是使用sentence_transformers进行chunk嵌入,然后存入faiss中。
这么一来,除了faiss之外,就没有额外的数据库了,给出了一个大致的量化结果:
一个是索引的使用,也就是执行检索
query做embedding后送faiss做检索,然后获取framenumber去获取对应的chunk,送大模型做生成。
这种思路很有趣,属于数据库中的一个新奇思路,但是其中会遇到二维码生成失败等问题,并且并不灵活,比如我们通常在rag索引的过程中,会添加很多元素,并且还有Graphrag等方案,这种就很难支持了,所以,从灵活性和效果优化上来说,并没有太大的实用意义。
上次有人问用agent来做文档解析,真有了,gentic-doc:高效提取复杂文档结构化数据的Python库,从表格、图片、图表等复杂文档中提取结构化数据并返回精确位置的层级JSON。支持超长文档,单次调用可处理1000+页PDF;自动重试与分页,智能处理并发、超时和速率限制;提供可视化工具,可生成标注提取区域的图像,方便调试与验证。
这个倒不奇怪,因为接入agent范式之后,串起来各类api,理论上来说,就能解决一批单模型无法做的事情。

说下测试结论,社区成员有做过测试,性能跟minerU在线版差不多。
1、https ://github. com/olow304/memvid
2、https ://github. com/landing-ai/agentic-doc
老刘,NLP开源爱好者与践行者,主页:https ://liuhuanyong. github.io。
对大模型&知识图谱&RAG&文档理解感兴趣,并对每日早报、老刘说NLP历史线上分享、心得交流等感兴趣的,欢迎加入社区,社区持续纳新。
加入社区方式:关注公众号,在后台菜单栏中点击会员社区加入。


文章作者: ZejunCao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZejunCao !
  目录