知识库Dify和cherry无法解析影印pdf word解决方案
近期收到大量读者反馈:上传pdf/图文PDF到Dify、Cherry Studio等知识库时,普遍存在格式错乱、图片丢失、表格失效三大痛点。
在试用的几款知识库中除了ragflow
具备图片解析的能力外,其他的都只能解析文本。
如果想要解析扫描件,或者带图片的pdf或word,怎么办?
通过工具将文档转成markdown
私密性的文件,建议本地部署,本地模型,非私密性的文件,可以使用一些在线服务。
marker
https://github.com/VikParuchuri/marker
在github上21.6k星
总结下用途
- 多格式转换:支持 PDF、图像、PPTX/DOCX/XLSX/HTML/EPUB → Markdown/JSON/HTML
- 复杂内容提取:表格、公式、代码块、链接,支持图像保留与 OCR 修复,适配论文、金融文档等场景。
- 可扩展优化:通过
--use_llm
调用 Gemini/Ollama 等模型提升准确率,支持自定义处理规则。
优点
- 速度与精度:单页平均处理仅 0.18 秒(H100 GPU),基准测试优于 Llamaparse/Mathpix;
- 灵活性强:兼容 GPU/CPU/MPS,支持批量并发(122 页/秒多 GPU 模式);
- 开源易扩展:模块化设计,可自定义 Processor/Renderer。
缺点
- 文档复杂度限制:复杂嵌套表格需依赖 LLM 辅助;
- 商业化壁垒:模型权重非商用,企业使用需营收<$5M;
- 硬件高需求:GPU 加速依赖显存(单进程峰值 5GB)。
所需硬件资源
- 基础配置:CPU/MPS(Mac 芯片)可轻量运行,但速度下降;
- 推荐配置:多 CUDA GPU(如 H100/A100)提升吞吐,显存≥16GB 优化并行;
- LLM 附加:启用
--use_llm
需联网调用云服务(Gemini/Claude/Ollama)。
markitdown
https://github.com/microsoft/markitdown
在github上39.4k星
用途
将多种文件类型(PDF、Office文档、图像、音频、HTML、ZIP、YouTube等)转换为Markdown格式,支持文本分析、索引生成等场景,并提供插件扩展能力。
优点
- 格式丰富:支持超过20种文件格式(含音视频、图像OCR、YouTube字幕)。
- 灵活安装:按需选择依赖(如[pdf]/[docx]),减少冗余资源占用。
- 扩展性强:支持第三方插件(GitHub搜索
#markitdown-plugin
),适配定制需求。 - 集成AI能力:结合Azure文档智能、OpenAI模型(如GPT-4o)增强OCR、音频转录与图像描述功能。
- 多场景适配:提供CLI、Python API、Docker镜像,适合本地开发与云环境。
缺点
- 依赖管理复杂:需手动选择安装依赖项(默认不全覆盖),可能引发兼容性问题。
- 外部服务依赖:Azure/OpenAI功能需API密钥和网络支持,增加配置门槛。
- 版本变更风险:v0.0.1至v0.0.2存在破坏性更新,旧项目迁移需调整。
所需硬件资源
- 基础配置:适用于常规文件处理(CPU/RAM需求低)。
- 复杂任务:大文件处理、AI模型调用(如OCR/语音转录)建议高配置CPU/内存。
- 云服务依赖:Azure或OpenAI功能需稳定网络环境及对应API资源。
MinerU
https://github.com/opendatalab/MinerU
在github上27.1k星
用途
- 文档结构化转换:PDF转Markdown/JSON,保留文本、表格、公式、图像结构。
- 学术/技术处理:精准提取论文公式(LaTeX)、表格(HTML)。
- 多语言OCR:支持84种语言的扫描文档识别。
优点
- 高效精准:多模型加速(10倍+速度),跨页拼接优化。
- 多模态支持:图文表公式一体化提取。
- 跨平台加速:兼容CPU/GPU/NPU/MPS,灵活部署。
缺点
- 场景局限:复杂布局(杂志/艺术册)、垂直文本支持不足。
- 硬件门槛:GPU需8GB+显存,NPU需华为Ascend生态。
- 小语种误差:变音符号或罕见字符OCR可能偏差。
所需硬件资源
- 最低配置:8GB内存+SSD(CPU模式)。
- 推荐配置:
- GPU:RTX 3060+(8GB显存);
- NPU:华为Ascend 910B;
- Apple:M2芯片+16GB内存(禁用公式识别优化性能)。
官方硬件推荐
本想在线体验下,打开报
docling
https://github.com/DS4SD/docling
在github上23.2k星,让deepseek联网搜索,竟然没有找到这个的产
用途
Docling 是文档处理工具,支持多格式解析(PDF、DOCX、HTML、图片等),重点增强 PDF 的布局、表格、代码、公式理解及 OCR 功能,提供统一文档结构表达,并与 LangChain、LlamaIndex 等 AI 框架集成,助力生成式 AI 应用开发。
优点
- 多格式支持:覆盖 PDF、DOCX、HTML 等常见格式。
- 高级 PDF 解析:精准识别布局、表格、公式、图像分类。
- 本地化执行:支持敏感数据和断网环境。
- 生态系统集成:无缝对接 LangChain 等 AI 工具链。
- OCR 能力:有效处理扫描件与图片文本提取。
缺点
- 复杂结构支持待完善:图表、分子结构等理解功能标注为“即将推出”。
- 外部模型依赖:需遵守第三方模型许可协议,可能存在版权风险。
- 实验性功能:部分功能(如 VLM 管道)可能稳定性不足。
所需硬件资源
- 跨平台支持:macOS/Linux/Windows(x86_64 及 arm64)。
- 推荐配置:未明确具体需求,但 OCR 与视觉模型可能需中等以上 CPU/GPU 资源,本地执行时需预留存储空间(依赖 HuggingFace 模型缓存)。
- 轻量场景:基础文档解析可在普通配置运行,复杂任务建议配备 GPU 加速。
然后我deepseek综合对比了下这款产品,各有优缺点,联网竟然没有查到Docling
工具 | 适用场景 | 优点 | 缺点 | 硬件资源需求 |
---|---|---|---|---|
Marker | 复杂PDF解析(财报、学术文献),支持段落、表格、图片提取,适用于RAG场景。 | - 段落解析准确 - 表格转Markdown格式 - 开源(GitHub Star 14.5k) | - 表格标题行易识别错误 - 目录误判为表格 - 复杂表格解析混乱 | 需较高计算资源(可能依赖GPU加速) |
MinerU | PDF解析(技术文档、报告),强调结构化输出(版面分析、表格定位) | - 版面分析精准 - 表格定位能力强 - 目录和标题识别优于Marker | - 表格未优化处理(保存为图片) - 图片识别偶尔错误 | 需较强CPU性能(对GPU依赖较低) |
MarkitDown | 多格式转换(Office文件、PDF、图片→Markdown),适合内容创作、开发者及AI分析场景 | - 支持多格式转换(含OCR) - 可结合AI模型生成智能描述 - MIT开源协议,灵活扩展 | - 依赖外部AI模型(成本高) - 复杂PDF解析能力有限 | 轻量级设计,但大文件(多页PPT/高清图片)需较高内存 |
Docling | 无信息 | 无信息 | 无信息 | 无信息 |
这些产品都得自己折腾。 |
在线服务TextIn
一个群友强烈安利我这款产品Textln
,有在线体验,注册可以免费解析100页,(我不会告诉你,我加了他们的小助手后,给我增加了1000页)。我拿着群友发的影印件体验了下。大家可以扫描体验。
- 点击位置
1
上传文件,上传文件以后先不要执行 - 点击位置
2
参数配置 - 调整完参数点击
3
特别注意:它家的速度贼快,第一次没注意配置,上传一个99页的演示稿,直接点击识别,几秒就用了99页的免费额度。
- 这里
1
可以设置从哪页开始解析 - 同时可以设置解析的页数
2
- 如果pdf有密码,可以输入pdf的密码
- 最重要的是要设置下
4
全文识别
- 可以通过
1
查看识别出来的表格、公式等是否正确,特别是公式 - 通过
2
可以看到整个的识别还是蛮准确的 - 通过
3
可以复制出结果 - 通过
4
可以导出结果,我们一般用这个 - 通过
5
可以对文档进行编辑,目前的识别准确率还是很不错的。
导出结果如下。
在dify中建立知识库,导入文档。
- 注意分段标识符,
1
位置使用正则^###(?!#)\s
。 2
设置把分段长度往长了设置,如果文档不大全文作为整体3
子分段以句号为分隔符
按照官方的说法,是可以按照https://regexr.com/ 进行正则解析的,但是我在实际使用的时候,官方是可以的,到dify中并没有生效。
然后我又看了下表格解析。
好家伙,影印件中那么模糊的文本,都能扫描出来,我特意用自己高度近视的眼睛(堪比24K钛合金探测器)逐字比对,结果发现字符识别零误差,实在是太强大,速度又快,准确率又高。
Textln
不仅有文档解析,还有很多的其他的服务。
这么好用的东西,我以前竟然没有发现,而且这个公司我以前怎么没听过,然后看了一下公司业务。
噢,原来是,扫描全能王,以前经常用的app。
在cherry studio和dify中无法上传影印件的同学,可以去试试,注意,别上传隐私信息。另外他家也有本地化部署服务。
相关资料
清华DeepSeek相关资料
https://pan.quark.cn/s/5c1e8f268e02
https://pan.baidu.com/s/13zOEcm1lRk-ZZXukrDgvDw?pwd=22ce
北京大学DeepSeek相关资料
https://pan.quark.cn/s/918266bd423a
https://pan.baidu.com/s/1IjddCW5gsKLAVRtcXEkVIQ?pwd=ech7
零基础使用DeepSeek
https://pan.quark.cn/s/17e07b1d7fd0
https://pan.baidu.com/s/1KitxQy9VdAGfwYI28TrX8A?pwd=vg6g
ollama的docker镜像
https://pan.baidu.com/s/13JhJAwaZlvssCXgPaV_n_A?pwd=gpfq
deepseek的模型(ollama上pull下来的)
https://pan.quark.cn/s/dd3d2d5aefb2
https://pan.baidu.com/s/1FacMQSh9p1wIcKUDBEfjlw?pwd=ks7c
dify相关镜像
https://pan.baidu.com/s/1oa27LL-1B9d1qMnBl8_edg?pwd=1ish
ragflow相关资料和模型
- https://pan.baidu.com/s/1bA9ZyQG75ZnBkCCenSEzcA?pwd=u5ei
公众号案例
- https://pan.quark.cn/s/18fdf0b1ef2e
- https://pan.baidu.com/s/1aCSwXYpUhVdV2mfgZfdOvA?pwd=6xc2
总入口(有时候会被屏蔽):
https://pan.quark.cn/s/05f22bd57f47 提取码:HiyL
https://pan.baidu.com/s/1GK0_euyn2LtGVmcGfwQuFg?pwd=nkq7
系列文档:
DeepSeek本地部署相关
ollama+deepseek本地部署
局域网或断网环境下安装DeepSeek
DeepSeek相关资料
清华出品!《DeepSeek从入门到精通》免费下载,AI时代进阶必看!
清华出品!《DeepSeek赋能职场应用》轻松搞定PPT、海报、文案
DeepSeek个人应用
不要浪费deepseek的算力了,DeepSeek提示词库指南
服务器繁忙,电脑配置太低,别急deepseek满血版来了’
DeepSeek+本地知识库:真的太香了(修订版)
DeepSeek+本地知识库:真是太香了(企业方案)
deepseek一键生成小红书爆款内容,排版下载全自动!睡后收入不是梦
最轻量级的deepseek应用,支持联网和知识库
当我把公众号作为知识库塞进了智能体后
个人神级知识库DeepSeek+ima 个人学习神器
dify相关
DeepSeek+dify 本地知识库:真的太香了
Deepseek+Dify本地知识库相关问题汇总
dify的sandbox机制,安全隔离限制
DeepSeek+dify 本地知识库:高级应用Agent+工作流
DeepSeek+dify知识库,查询数据库的两种方式(api+直连)
DeepSeek+dify 工作流应用,自然语言查询数据库信息并展示
聊聊dify权限验证的三种方案及实现
dify1.0.0版本升级及新功能预览
ragflow相关
DeepSeek+ragflow构建企业知识库:突然觉的dify不香了(1)
# DeepSeek+ragflow构建企业知识库之工作流,突然觉的dify又香了
关于我
资深全栈技术专家 | 互联网领域十年架构沉淀
技术纵深:高并发架构 | 应用调优 | 分布式系统
技术版图:Java/Vue/Go/Python
管理沉淀:8年技术团队管理 | 百万级DAU经验
专注输出:
✓ 架构思维 × 技术管理 × 全栈实战
✓ 新技术应用 × 行业趋势前瞻
📢【三连好运 福利拉满】📢🌟 若本日推送有收获:
👍 点赞 → 小手一抖,bug没有
📌 在看 → 一点扩散,知识璀璨
📥 收藏 → 代码永驻,防止迷路
📤 分享 → 传递战友,功德+999
🔔 关注 → 关注5ycode,追更不迷路,干货永同步💬 若有槽点想输出:
👉 评论区已铺好红毯,等你来战!
相关文章:

知识库Dify和cherry无法解析影印pdf word解决方案
近期收到大量读者反馈:上传pdf/图文PDF到Dify、Cherry Studio等知识库时,普遍存在格式错乱、图片丢失、表格失效三大痛点。 在试用的几款知识库中除了ragflow具备图片解析的能力外,其他的都只能解析文本。 如果想要解析扫描件,…...

【记录一下学习】Embedding 与向量数据库
一、向量数据库 向量数据库(Vector Database),也叫矢量数据库,主要用来存储和处理向量数据。 在数学中,向量是有大小和方向的量,可以使用带箭头的线段表示,箭头指向即为向量的方向,…...

【第21节】C++设计模式(行为模式)-Chain of Responsibility(责任链)模式
一、问题背景 在 VC/MFC 开发中,消息处理机制是核心部分之一。VC 是基于消息和事件驱动的框架,消息的处理流程通常是通过链式传递的方式进行的。例如,一个 WM_COMMAND 消息的处理流程可能如下: (1)MDI 主窗…...
createrepo centos通过nginx搭建本地源
yum update 先安装一个nginx。 安装Nginx yum install gcc gcc-c pcre pcre-devel openssl openssl-devel libtool zlib zlib-devel -y cd /usr/local/src wget http://nginx.org/download/nginx-1.22.0.tar.gz tar -zxvf nginx-1.22.0.tar.gz cd nginx-1.22.0 ./configu…...
在 Docker 中搭建GBase 8s主备集群环境
本文介绍了如何在同一台机器上使用 Docker 容器搭建GBase 8s主备集群环境。 拉取镜像 拉取GBase 8s的最新镜像 docker pull liaosnet/gbase8s或者docker pull liaosnet/gbase8s:v8.8_3513x25_csdk_x64注:在tag为v8.8_3513x25_csdk_x64及之后的版本中,…...

【MySQL-数据类型】数据类型分类+数值类型+文本、二进制类型+String类型
一、数据类型分类 二、数值类型 1.bit类型 测试环境ubuntu 基本语法: bit[(M)]:位字段类型,M表示每个值的位数,范围从1~64;如果M被忽略,默认为1举例: create table testBit(id i…...

小谈java内存马
基础知识 (代码功底不好,就找ai优化了一下) Java内存马是一种利用Java虚拟机(JVM)动态特性(如类加载机制、反射技术等)在内存中注入恶意代码的攻击手段。它不需要在磁盘上写入文件,…...

简单的二元语言模型bigram实现
内容总结归纳自视频:【珍藏】从头开始用代码构建GPT - 大神Andrej Karpathy 的“神经网络从Zero到Hero 系列”之七_哔哩哔哩_bilibili 项目:https://github.com/karpathy/ng-video-lecture Bigram模型是基于当前Token预测下一个Token的模型。例如&#x…...

【清华大学】实用DeepSeek赋能家庭教育 56页PDF文档完整版
清华大学-56页:实用DeepSeek赋能家庭教育.pdf https://pan.baidu.com/s/1BUweVDeG2M8-t0QaIs3LHQ?pwd1234 提取码: 1234 或 https://pan.quark.cn/s/8a9473493bb0 《实用DeepSeek赋能家庭教育》基于清华大学研究成果,系统阐述了DeepSeek人工智能技…...

黑洞如何阻止光子逃逸
虽然涉及广义相对论,但广义相对论说的是大质量物体对周围空间的影响,而不是说周围空间和空间中的光子之间的关系。也就是说,若讨论光子逃逸问题,则不必限定于大质量的前提,也就是说,若质量周围被扭曲的空间…...

1.4 单元测试与热部署
本次实战实现Spring Boot的单元测试与热部署功能。单元测试方面,通过JUnit和Mockito等工具,结合SpringBootTest注解,可以模拟真实环境对应用组件进行独立测试,验证逻辑正确性,提升代码质量。具体演示了HelloWorld01和H…...
window系统中的start命令详解
start 是 Windows 系统中用于启动新进程或打开新窗口来运行指定程序或命令的命令。以下是对 start 命令参数的详细解释: 基本语法 start ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENO…...

AI编程工具节选
1、文心快码 百度基于文心大模型推出的一款智能编码助手, 官网地址:文心快码(Baidu Comate)更懂你的智能代码助手 2、通义灵码 阿里云出品的一款基于通义大模型的智能编码辅助工具, 官网地址:通义灵码_你的智能编码助手-阿里云 …...

正则表达式,idea,插件anyrule
package lx;import java.util.regex.Pattern;public class lxx {public static void main(String[] args) {//正则表达式//写一个电话号码的正则表达式String regex "1[3-9]\\d{9}";//第一个数字是1,第二个数字是3-9,后面跟着9个数字…...

原生iOS集成react-native (react-native 0.65+)
由于官方文档比较老,很多配置都不能用,集成的时候遇到很多坑,简单的整理一下 时间节点:2021年9月1日 本文主要提供一些配置信息以及错误信息解决方案,具体步骤可以参照官方文档 原版文档:https://reactnative.dev/docs…...

java错题总结
本篇文章用来记录学习javaSE以来的错题 解答:重载要求俩个方法的名字相同,但参数的类型或者个数不同,但是不要求返回类型相同,所以A正确。 重写还需要要求返回类型相同(呈现父子类关系也可以,但是属于特例&…...
【商城实战(10)】解锁商品信息录入与展示的技术密码
【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配…...

2025年主流原型工具测评:墨刀、Axure、Figma、Sketch
2025年主流原型工具测评:墨刀、Axure、Figma、Sketch 要说2025年国内产品经理使用的主流原型设计工具,当然是墨刀、Axure、Figma和Sketch了,但是很多刚入行的产品经理不了解自己适合哪些工具,本文将从核心优势、局限短板、协作能…...
MDM 如何彻底改变医疗设备的远程管理
在现代医疗行业迅速发展的格局中,医院和诊所越来越依赖诸如医疗平板和移动工作站等移动设备。这些设备在提高工作效率和提供卓越的患者护理方面发挥着关键作用。然而,随着它们的广泛使用,也带来了一系列挑战,例如在不同地点确保数…...

OpenCV计算摄影学(18)平滑图像中的纹理区域同时保留边缘信息函数textureFlattening()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::textureFlattening 是 OpenCV 中用于图像处理的一个函数,旨在平滑图像中的纹理区域,同时保留边缘信息。该技术特别适…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...