前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >接入开源项目 Marker 让 FastGPT 读 PDF 能力暴增10倍

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

作者头像
米开朗基杨
发布2024-12-24 13:29:00
发布2024-12-24 13:29:00
29600
代码可运行
举报
文章被收录于专栏:云原生实验室云原生实验室
运行总次数:0
代码可运行

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

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

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

使用教程

安装 Marker

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

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

代码语言:javascript
代码运行次数:0
复制
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 中配置以下环境变量:

代码语言:javascript
代码运行次数:0
复制
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. 在知识库中上传一个 PDF 文件并确认上传

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

代码语言:javascript
代码运行次数:0
复制
[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. 你会发现通过 Marker 解析的 PDF 文件中包含了完整的图片链接,这表明解析成功

效果展示

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

通过对比可以发现,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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用教程
    • 安装 Marker
    • 配置 FastGPT 环境变量
    • 验证解析效果
  • 效果展示
    • 引用链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档