文档加载器提供了一套标准接口,用于将来自不同来源(如 CSV、PDF 或 JSON 等)的数据读取为 LangChain 的文档格式。这样一来,无论数据来源是什么,都能以一致的方式进行处理。
文档加载器(无论是内置的还是自行实现的)都需要实现 BaseLoader 接口。
Document 类是 LangChain 中文档的统一载体,所有文档加载器最终都会返回该类的实例。
下面是一个基础的 Document 类实例:

可以看到,Document类其核心记录了:
bash
page_content:文档内容
metadata:文档元数据(字典)
不同的文档加载器可能定义了不同的参数,但是其都实现了统一的接口(方法)
bash
load():一次性加载全部文档
lazy_load():延迟流式传输文档,对大型数据集很有用,避免内存溢出
一个简单的CSVLoader的使用示例如下:

LangChain内置了许多文档加载器
我们简单的学习如下几个常用的文档加载器:
CSVLoader
JSONLoader
PDFLoader
CSVLoader

自定义CSV文件的解析和加载

举例:
准备数据:



懒加载:


总结
LangChain内置了许多种类的文档加载器
文档加载器均继承于BaseLoader类
返回Document类型的对象
load方法一次性批量加载(返回list内含Document对象),如内容过多可能list太大,出现内存溢出问题
lazy_load方法会得到生成器对象,可用for循环依次获取单个Document对象,适用于大文档避免内存存不下
CSVLoader用于加载CSV文件,加载成功得到的即Document对象