DocumentLoaders 文档加载¶
DocumentLoaders(文档加载器)负责从多种数据源(文本文件、PDF、Markdown 等)读取原始数据,并将其转换为标准的 LangChain Document 格式,以便后续的文本分割、向量化和检索等流程使用。
每个 DocumentLoader 都有其特定参数,但都可以通过统一的 .load 方法调用。
以下是一些常用组件的用法介绍:
更多组件使用说明详见 Langchain Document loaders。
TextLoader¶
安装依赖¶
TextLoader 位于 langchain-community 包中;如未安装,可使用如下命令安装:
pip install langchain-community
使用¶
- 创建
TextLoader对象
import tempfile
from langchain_community.document_loaders import TextLoader
# 将文本写入临时文件后加载
text_content = "人工智能(Artificial Intelligence,简称AI)是计算机科学的一个分支..."
tmp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".txt", mode="w", encoding="utf-8")
tmp_file.write(text_content)
tmp_file.flush()
tmp_file.close()
# 创建 TextLoader 实例,指定临时文件路径和编码格式
text_loader = TextLoader(tmp_file.name, encoding="utf-8")
- 基于此 text_loader 对象构造
LangchainKnowledge对象
rag = LangchainKnowledge(
...,
document_loader=text_loader,
...,
)
参考文档¶
PyPDFLoader¶
安装依赖¶
pip install -qU pypdf
使用¶
- 创建
PyPDFLoader对象
import os
from langchain_community.document_loaders import PyPDFLoader
# 从环境变量获取 PDF 文件路径
pdf_path = os.getenv("DOCUMENT_PDF_PATH", "/path/to/your/file.pdf")
loader = PyPDFLoader(pdf_path)
- 基于此 loader 对象构造
LangchainKnowledge对象
rag = LangchainKnowledge(
...,
document_loader=loader,
...,
)
参考文档¶
UnstructuredMarkdownLoader¶
安装依赖¶
pip install -qU langchain_community unstructured
使用¶
- 创建
UnstructuredMarkdownLoader对象
import tempfile
from langchain_community.document_loaders import UnstructuredMarkdownLoader
# 将 Markdown 内容写入临时文件后加载
md_content = "# 人工智能简介\n\n人工智能是计算机科学的一个分支..."
tmp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".md", mode="w", encoding="utf-8")
tmp_file.write(md_content)
tmp_file.flush()
tmp_file.close()
# mode="single" 将整个文件作为一个 Document,strategy="fast" 使用快速解析策略
loader = UnstructuredMarkdownLoader(tmp_file.name, mode="single", strategy="fast")
- 基于此 loader 对象构造
LangchainKnowledge对象
rag = LangchainKnowledge(
...,
document_loader=loader,
...,
)