惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Troy Hunt's Blog
Last Week in AI
Last Week in AI
D
DataBreaches.Net
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyberwarzone
Cyberwarzone
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
Cisco Talos Blog
Cisco Talos Blog
Latest news
Latest news
月光博客
月光博客
博客园 - 司徒正美
C
CERT Recently Published Vulnerability Notes
L
LangChain Blog
Simon Willison's Weblog
Simon Willison's Weblog
The Register - Security
The Register - Security
T
The Blog of Author Tim Ferriss
V
V2EX
F
Fortinet All Blogs
AWS News Blog
AWS News Blog
T
Tor Project blog
V
Vulnerabilities – Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
小众软件
小众软件
L
Lohrmann on Cybersecurity
量子位
F
Full Disclosure
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
Intezer
NISL@THU
NISL@THU
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 三生石上(FineUI控件)
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
P
Privacy & Cybersecurity Law Blog
T
Threat Research - Cisco Blogs
J
Java Code Geeks
S
Schneier on Security

博客园 - aqi00

15天学会AI应用开发(十五)使用LangChain封装AI执行链 15天学会AI应用开发(十四)搭建LangChain的开发环境 15天学会AI应用开发(十三)上下文与RAG的阶段性总结 15天学会AI应用开发(十一)从TXT文件构建RAG知识库 15天学会AI应用开发(十)把文本嵌入模型换成国产模型 15天学会AI应用开发(九)利用Chroma持久化向量数据 15天学会AI应用开发(八)使用向量数据库实现RAG功能 15天学会AI应用开发(七)有了大模型为什么还要引入RAG 15天学会AI应用开发(六)使用离线大模型对文本生成摘要 一文速览 HarmonyOS 6.1.1 推出的十个新特性 15天学会AI应用开发(五)使用AI摘要来压缩上下文消息 15天学会AI应用开发(四)根据Token长度截断历史对话 15天学会AI应用开发(三)把历史对话作为提示词会怎样 15天学会AI应用开发(二)为什么编写提示词这么重要 15天学会AI应用开发(一)搭建AI大模型应用开发环境 一文理清 HarmonyOS 6.0.2 涵盖的十个升级点 FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid FFmpeg开发笔记(一百零一)跨平台的开源音视频移动框架MobileFFmpeg 一文速览 HarmonyOS 6.0.1 引入的十个新特性 一文读懂 HarmonyOS 6.1 带来的十大重要升级 新书《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》出版啦 FFmpeg开发笔记(一百)国产的Android开源视频压缩工具VideoSlimmer FFmpeg开发笔记(九十九)基于Kotlin的国产开源播放器DKVideoPlayer FFmpeg开发笔记(九十八)基于FFmpeg的跨平台图形用户界面LosslessCut FFmpeg开发笔记(九十七)国产的开源视频剪辑工具AndroidVideoEditor FFmpeg开发笔记(九十六)采用Kotlin+Compose的视频编辑器OpenVideoEditor FFmpeg开发笔记(九十五)国产的开源视频美颜工具VideoEditorForAndroid FFmpeg开发笔记(九十四)基于Kotlin的国产开源推拉流框架anyRTC FFmpeg开发笔记(九十三)国产的Android开源视频编辑器EpMedia FFmpeg开发笔记(九十二)基于Kotlin的开源Android推流器StreamPack FFmpeg开发笔记(九十一)基于Kotlin的Android直播开源框架RootEncoder FFmpeg开发笔记(九十)采用FFmpeg套壳的音视频转码百宝箱FFBox FFmpeg开发笔记(八十九)基于FFmpeg的直播视频录制工具StreamCap FFmpeg开发笔记(八十八)基于Compose的国产电视直播开源框架MyTV FFmpeg开发笔记(八十七)采用Kotlin的手机开源播放器VLC-Android FFmpeg开发笔记(八十六)基于Node.js的国产视频编辑开源框架OpenCut FFmpeg开发笔记(八十五)基于PyQt和FFmpeg的开源视频剪辑器OpenShot FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播 FFmpeg开发笔记(八十三)国产的视频裁剪框架AndroidVideoTrimmer FFmpeg开发笔记(八十二)使用国产直播服务器smart_rtmpd执行推流操作
15天学会AI应用开发(十二)从PDF、WORD、网页构建RAG
aqi00 · 2026-07-11 · via 博客园 - aqi00

上一篇文章介绍了如何从TXT文件读取文本信息,可是日常办公很少使用纯文本的TXT格式,而采用专业的PDF格式或者WORD格式,有时还需要通过网页抓取知识。

接下来就介绍如何从PDF、WORD、HTML等文件中读取文本内容。

一、从PDF文件读取文本

PDF是一种常用的文档格式,常用于只读的通知文件,或者电子版书籍。
Python提供了多种三方库用来解析PDF文件,其中pdfplumber较常用。使用Python代码读取PDF文件内容前,要先在命令行执行下面的pip安装命令:

然后调用pdfplumber的open方法打开指定文件,即可逐页读取文档内容并拼接为文本字符串。读取PDF文件的代码例子如下所示:

二、从WORD文件读取文本

DOCX格式的WORD文件也是常用的文档格式,常用于可读可写的办公文档编写。
Python提供了多种三方库用来解析DOCX文件,其中python-docx较常用。使用Python代码读取DOCX文件内容前,要先在命令行执行下面的pip安装命令:

然后通过python-docx的Document工具打开指定文件,即可逐页读取文档内容并拼接为文本字符串。读取DOCX文件的代码例子如下所示:

三、爬取网页读取文本

除了以PDF和DOCX为代表的本地文档之外,开发者还经常在网络上爬取网页资料作为在线知识库。
Python提供了多种三方库用来解析HTML网页,其中trafilatura较常用。使用Python代码读取HTML网页内容前,要先在命令行执行下面的pip安装命令:

接着调用requests库的get方法从指定网址获取应答信息,然后通过trafilatura的extract方法从应答信息中解析文本。读取网页内容的代码例子如下所示:

四、打造基于网页的在线知识库RAG

接下来结合之前介绍的BGE-small与FAISS,通过解析网页实现在线RAG的检索功能。
在编写Python代码前,要先在命令行执行下面的pip安装命令:

然后编写下面的Python检索测试代码,与之前教程的代码相比,仅仅把knowledge数组改成从网页获取并分块:

运行上面的Python代码,根据提示先后输入三个问题“GS1码是什么?”、“GS1编码是什么?”、“GS1码有什么作用?”,输出日志结果如下:

 由日志信息发现,在线RAG对几个问题的回答基本正确,说明结合BGE-small与FAISS成功实现了对网页的在线检索功能。

本系列的AI应用开发文章目录为《15天学会AI应用开发全目录(零基础小白,零Token消耗)》。