接入开源项目 Marker 让 FastGPT 读 PDF 能力暴增10倍

PDF 是一种结构复杂的文件格式。FastGPT 内置的 PDF 解析器使用 pdfjs 库进行解析,这种基于逻辑的解析方式在处理简单文本时表现良好,但在遇到图片、表格、公式等复杂内容时,往往无法达到理想的解析效果。

为了更好地处理这些复杂内容,我们可以选择其他解析方案。例如 Marker[1] 项目,它采用 Surya 模型进行基于视觉的解析,能够有效提取 PDF 中的图片、表格、公式等复杂内容。为了让用户能够方便地在 FastGPT 中使用 Marker,我们开发了一个自定义解析的扩展 Demo。

d4467f5488cc7d03ae81818d7ebd92a6.png

从 FastGPT 4.8.15 版本开始,你可以通过配置环境变量来替换系统默认的解析器,实现自定义的文档解析服务。需要注意的是,该功能目前处于 Demo 阶段,后续的配置方式和交互规则可能会有所调整。

使用教程

安装 Marker

为了使用 Marker 进行 PDF 解析,我们首先需要安装 Marker 模型。你可以参考 Marker 安装教程[2] 进行完整安装。我们已经将 API 封装并适配了 FastGPT 的自定义解析服务,使其能够无缝集成。

下面介绍一个最简单的安装方法 - 使用 Docker 快速部署:

docker pull crpi-h3snc261q1dosroc.cn-hangzhou.personal.cr.aliyuncs.com/marker11/marker_images:latest
docker run --gpus all -itd -p 7231:7231 --name model_pdf_v1 crpi-h3snc261q1dosroc.cn-hangzhou.personal.cr.aliyuncs.com/marker11/marker_images:latest

配置 FastGPT 环境变量

要启用自定义解析服务,需要在 FastGPT 中配置以下环境变量:

CUSTOM_READ_FILE_URL=http://xxxx.com/v1/parse/file
CUSTOM_READ_FILE_EXTENSION=pdf
  • • CUSTOM_READ_FILE_URL - 自定义解析服务的访问地址,需要将 host 修改为你部署的解析服务地址,path 路径保持不变

  • • CUSTOM_READ_FILE_EXTENSION - 指定支持解析的文件类型后缀,多个文件类型之间用逗号分隔

验证解析效果

完成配置后,你可以通过以下步骤验证解析效果:

  1. 1. 在知识库中上传一个 PDF 文件并确认上传

  2. 2. 查看系统日志(需要将 LOG_LEVEL 设置为 info 或 debug 级别)

    [Info] 2024-12-05 15:04:42 Parsing files from an external    service 
    [Info] 2024-12-05 15:07:08 Custom file parsing is    complete, time: 1316ms
  3. 3. 你会发现通过 Marker 解析的 PDF 文件中包含了完整的图片链接,这表明解析成功

d9fa133b0cadc395235a997e32c75f0c.png

效果展示

为了直观展示 Marker 的解析能力,我们以清华大学发表的论文 ChatDev: Communicative Agents for Software Development[3] 为例进行测试。下面是解析结果的对比展示:




86f7bbd725a5ddd28b76309a7d9c1a12.png
59c0febe26fa7e31ef3eddb33976141e.png
ee59e4d7c275116d406a3de2b9039672.png
203e68e7ab26936aa4c257517f004512.png
96f8452322d85fca5a8803323aca0020.png
321fbb8cbd4269459f8542358f9d7141.png

通过对比可以发现,Marker 不仅能够准确提取文本内容,还能很好地识别和保留文档中的图片、公式和表格等复杂元素,解析效果相当出色。

需要特别说明的是,Marker[4] 采用 GPL-3.0 开源协议,在使用时请务必遵守相关协议规定。

引用链接

[1] Marker: https://github.com/VikParuchuri/marker
[2] Marker 安装教程: https://github.com/labring/FastGPT/tree/main/python/pdf-marker
[3] ChatDev: Communicative Agents for Software Development: https://arxiv.org/abs/2307.07924
[4] Marker: https://github.com/VikParuchuri/marker

dad4e9dc0f51abff25ae20d7208d20f5.png

加入 FastGPT 开源社区

让 AI 更懂你的知识

🏠官网链接

https://fastgpt.cn

🐙GitHub 地址

https://github.com/labring/FastGPT

📑访问 Sealos 文档

https://doc.fastgpt.cn/

🏘️逛逛论坛

https://forum.laf.run/

往期推荐

70 个群都来问我的 AI 日报,是这么做的。

2024-11-14

b807a51afc3ff685943f6cc37d3d6c9b.jpeg

扔掉 Google 翻译!这个超强 AI 翻译工作流才是你的最佳选择

2024-10-30

4da66c77d039cae8d511b3d43969fc3c.jpeg

AI 居然说我是牛马,还画出了我牛马的一生,我绷不住了...

2024-10-25

eb9c78c11b39097df04e13bc37378836.jpeg

别再手动处理数据了!FastGPT 这个新功能让你提前下班

2024-11-05

49001bd8b25579de613964623e1328a2.jpeg

不用写一行代码,使用 FastGPT 搭建 GitHub Issues 自动总结机器人

2024-10-21

b3befd6a504e0b37650d88215ee9422d.jpeg

关于 FastGPT

FastGPT 是一款基于 LLM 大模型的开源 AI 知识库构建平台。提供了开箱即用的数据处理、模型调用、RAG 检索、可视化 AI 工作流编排等能力,帮助您轻松构建复杂的 AI 应用。

98514dc008bad8b58163b6ec7620401b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值