RAG 技术 01 - 数据提取

数据提取的目的是从文本或者非文本的文件中提取文本,难点在于非文本文件的处理,如:PDF、xlsx 等文件,包括文件内部的表格、图片的处理

读取文本

直接读取即可,在 langchian 中使用以下代码读取

1
2
3
4
5
from langchain.document_loaders import TextLoader

# 定义文本加载器,指定读取的文件路径
loader = TextLoader("./documents/三国演义.txt")
documents=loader.load()

读取 xlsx

1
2
3
4
5
6
from langchain.document_loaders.csv_loader import CSVLoader

# 定义文本加载器,指定读取的文件路径
loader = CSVLoader("./documents/京东笔记本销售数据.csv")
documents=loader.load()
print(documents[0].metadata)

Pdf 文档

使用第三方库 pypdf 实现

1
2
3
4
5
6
7
8
9
10
from langchain.document_loaders import PyPDFLoader

# 创建一个 PyPDFLoader Class 实例,输入为待加载的pdf文档路径
loader = PyPDFLoader("docs/matplotlib/第一回:Matplotlib初相识.pdf")

# 调用 PyPDFLoader Class 的函数 load对pdf文件进行加载
pages = loader.load()

print(type(pages)) # <class 'list'>
print(len(pages)) # 3