LangChain 中处理文档的完整流程(Load → Embed → Document Transform → Vector Store → Retriever)。这些步骤构成了基于文档的检索增强生成(RAG, Retrieval-Augmented Generation)系统的核心。下面将逐一解释每个概念,并提供详细的代码示例。
1. Load(加载文档)
定义:
Load 是指从不同来源(如本地文件、网页、数据库等)加载原始文档到 LangChain 中。LangChain 提供了多种 Document Loader
来支持这一过程。
示例:
使用 TextLoader
加载本地文本文件,或使用 WebBaseLoader
加载网页内容。
from langchain.document_loaders import TextLoader, WebBaseLoader
# 示例1:加载本地文本文件
local_loader = TextLoader("example.txt")
local_docs = local_loader.load()
# 示例2:加载网页内容
web_loader = WebBaseLoader(["https://example.com"])
web_docs = web_loader.load()
print("Loaded documents:", local_docs[0].page_content[:100] + "...")
2. Embed(嵌入)
定义:
Embed 是将文本转换为高维向量(Embedding Vector)的过程,以便后续的语义搜索。LangChain 支持多种嵌入模型(如 OpenAI