框架与工具链3199 字
LangChain多数据源集成
·全库 332 / 611
《LangChain多数据源集成》共 0.3 万字,通篇围绕 LangChain、RAG、embedding、向量 展开,归在「框架与工具链」这一层。
覆盖LangChainRAGembedding向量检索OCR
适合要选技术栈、不想把别人踩过的坑重踩一遍的人
目录骨架(4 节)
- 如何加载 CSV 文件
- 如何加载 HTML
- 如何加载 Markdown
- 如何加载 PDF文件
示例代码
注:将ppt后缀名改为zip后解压
python版本:3.12.4
LangChain与各种数据源有数百个集成,可以从中加载数据:Slack、Notion、Google Drive等。 每个文档加载器都有自己特定的参数,但它们可以通过相同的方式使用.load方法调用。 以下是一个示例用法:
from langchain_community.document_loaders.csv_loader import CSVLoader
loader = CSVLoader(
... # <-- 在这里添加特定于集成的参数
)
data = loader.load()
如何加载 CSV 文件
逗号分隔值(CSV)文件是一种使用逗号分隔值的定界文本文件。文件的每一行是一个数据记录。每个记录由一个或多个字段组成,字段之间用逗号分隔。
LangChain 实现了一个 CSV 加载器,可以将 CSV 文件加载为一系列 Document 对象。CSV 文件的每一行都会被翻译为一个文档。
#示例:csv_loader.py
from langchain_community.document_loaders.csv_loader import CSVLoader
file_path = (
"../../resource/doc_search.csv"
)
loader = CSVLoader(file_path=file_path,encoding="UTF-8")
data = loader.load()
for record in data[:2]:
print(record)
page_content='名称: 狮子
种类: 哺乳动物
年龄: 8
栖息地: 非洲草原' metadata={'source': '../../resource/doc_search.csv', 'row': 0}
page_content='名称: 大熊猫
种类: 哺乳动物
年龄: 5
栖息地: 中国竹林' metadata={'source': '../../resource/doc_search.csv', 'row': 1}
自定义 CSV 解析和加载
CSVLoader 接受一个 csv_args 关键字参数,用于自定义传递给 Python 的 csv.DictReader 的参数。有关支持的 csv 参数的更多信息,请参阅 csv 模块 文档。
#示例:csv_custom.py
from langchain_community.document_loaders.csv_loader import CSVLoader
file_path = (
"../../resource/doc_search.csv"
)
loader = CSVLoader(
file_path=file_path,
encoding="UTF-8",
csv_args={
"delimiter": ",",
"quotechar": '"',
"fieldnames": ["Name", "Species", "Age", "Habitat"],
},
)
data = loader.load()
for record in data[:2]:
print(record)
page_content='Name: 名称
Species: 种类
Age: 年龄
Habitat: 栖息地' metadata={'source': '../../resource/doc_search.csv', 'row': 0}
page_content='Name: 狮子
Species: 哺乳动物
Age: 8
Habitat: 非洲草原' metadata={'source': '../../resource/doc_search.csv', 'row': 1}
如何加载 HTML
超文本标记语言(HTML)是用于在Web浏览器中显示的文档的标准标记语言。
