当前位置: 首页 > news >正文

【RAG+读代码】学术文档解析工具Nougat

一、项目基本介绍

Nougat是由Meta AI Research开发的学术文档解析工具,基于Neural Optical Understanding技术,专门用于将包含复杂数学公式和表格的学术论文PDF转换为结构化Markdown格式。项目地址:https://github.com/facebookresearch/nougat

核心能力:

  • 准确解析LaTeX数学表达式和复杂表格
  • 支持跨页公式的连续识别
  • 输出兼容Mathpix Markdown规范
  • 单页处理耗时约3-5秒(GPU环境)

技术指标:

  • 基础模型参数量:1.3B
  • 最大输入分辨率:4096 tokens
  • 支持页面范围选择
  • 平均准确率:89.7%(arXiv论文测试集)

二、快速上手指南

安装与基础使用

pip install nougat-ocr
nougat path/to/paper.pdf -o output_dir --model 0.1.0-base

API服务调用

import requestsurl = "http://localhost:8503/predict/"
files = {"file": open("paper.pdf", "rb")}
response = requests.post(url, files=files)
print(response.text)  # 获取Markdown内容

处理效果示例

输入PDF片段:

| Model       | Accuracy | F1 Score |
|-------------|----------|----------|
| Baseline    | 82.3%    | 0.794    |
| Nougat-base | 89.7%    | 0.883    |

输出Markdown:

| Model       | Accuracy | F1 Score |
|-------------|----------|----------|
| Baseline    | 82.3%    | 0.794    |
| Nougat-base | 89.7%    | 0.883    |

三、核心架构设计

模型架构

采用Encoder-Decoder双塔结构:

# model.py核心类定义
class NougatModel(PreTrainedModel):def __init__(self, config):self.encoder = SwinEncoder(...)  # 视觉编码器self.decoder = BARTDecoder(...)   # 文本解码器

视觉编码器(SwinEncoder)

关键技术:

  • 动态图像预处理(自动旋转/裁剪/填充)
  • 窗口注意力机制(窗口大小7x7)
  • 四阶段特征提取:
    encoder_layer = [2, 2, 14, 2]  # 各阶段层数
    num_heads = [4, 8, 16, 32]     # 多头注意力配置
    

文本解码器(BARTDecoder)

核心特性:

  • 最大序列长度4096 tokens
  • 动态位置编码扩展:
    def resize_bart_abs_pos_emb(weight, max_length):# 线性插值扩展位置编码return F.interpolate(
http://www.xdnf.cn/news/1023445.html

相关文章:

  • DeepSeek 引领前端开发变革:AI 助力学习与工作新路径
  • 基于STM32手势识别智能家居系统
  • 抖音AI数字人对口型软件LatentSync最新版整合包,音频驱动口型讲话
  • echarts图封装 自动切换 大屏 swiper 切换里面放echarts图,注意不要开循环 否则出不来
  • 图像处理算法的学习笔记
  • SpringBoot的Web应用开发——Web缓存利器Redis的应用!
  • 【UEFI系列】PEI阶段讲解
  • 生产环境LVM存储降级方案
  • Python训练营---DAY53
  • Git 前后端 Java Vue 项目的 .gitignore 配置分享
  • Linux环境下安装和使用RAPIDS平台的cudf和cuml - pip 安装方法
  • java集合(八) ---- Vector 类
  • 电磁铁性能检测所需工具
  • DataGrip 安装和连接Mysql
  • Eslint、Prettier、.vscode 配置
  • 阳台光伏新风口!安科瑞ADL200N-CT/D16-WF防逆流电表精准护航分布式发电
  • NLP学习路线图(四十三):零样本学习
  • 分布式爬虫系统设计与实现:跨节点MySQL存储方案
  • 导出支付宝账单步骤
  • 3款工具打造递进图:快速入门与个性化定制的实用指南
  • 帆软报表超级链接将查询控件的参数传递到子页面查询控件上
  • 谷歌具身智能VLA大模型 —— Gemini Robotics : 将人工智能带入到物理世界
  • 停产料PC28F128J3F75A存储芯片Micron镁光NOR Flash存储器工业级 电子元器件解析
  • AI LLM大模型逆向环境搭建radare2 + r2mcp + r2ghidra
  • AD左边工程面板消失重新打开
  • ansible常用内置模块
  • 13.18 Ollama+LLaMA3企业级部署实战:6步打造私有化大模型高效引擎
  • 【JVM】- 类加载与字节码结构1
  • AXI4-Stream Clock Converter IP
  • 封装python的docker镜像