15天学会AI应用开发(十二)从PDF、WORD、网页构建RAG
接下来就介绍如何从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应用开发文章目录为《
浙公网安备 33010602011771号