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 快速部署:
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. 在知识库中上传一个 PDF 文件并确认上传
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. 你会发现通过 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
加入 FastGPT 开源社区
让 AI 更懂你的知识
🏠官网链接
https://fastgpt.cn
🐙GitHub 地址
https://github.com/labring/FastGPT
📑访问 Sealos 文档
https://doc.fastgpt.cn/
🏘️逛逛论坛
https://forum.laf.run/
往期推荐

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

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


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

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