基于Dify实现PDF图片内容识别
Dify(本地版本为1.6.0)原生文档提取节点中针对PDF文档是不能够直接读取PDF的图片内容,这对本地文档处理及后续的LLM文本分析造成比较大的阻碍。【AI大模型教程】
本地已经部署了多模态模型Qwen2.5-VL-72b,这个模型有比较强的图像内容识别能力,那么基于这个模型能不能实现PDF中的图片内容提取呢,答案是可以。
在之前的想法里面,还是设计将PDF中的文本、图片分离出来,然后将其中的图片部分丢给VL模型进行识别,再将识别结果拼接到一起。方法很传统,而且中间的文本/图片提取需要额外的代码开发工作量,所以这块工作迟迟没有开展。
这里先介绍一个Dify的PDF处理插件,其中有一个功能是“PDF转PNG”,支持将PDF按页转化为多张PNG图片。
因此我们就可以将整个PDF文件直接转成多张PNG图片,然后对每一张PNG图片丢给VL模型进行内容识别,最后再将结果进行合并输出。这样,不管是PDF中的文本也好,还是图片也好,统一进行内容识别,效果刚刚的。整体工作流如下:
其中:对迭代开启并行模式,提升工作流处理效率:
LLM模型节点配置如下,需打开视觉开关,并指定输入变量:
最后再使用一个MarkDown转Docx工具,将提取的文档再转成Docx文档输出。
从实际使用效果来看,因为PDF内容本身也都是比较规整的文字,所以内容基本上都解析出来了, 这也算是给自己上了一课,有些时候自己的考虑还是太局限,不够灵活。