
loader机制让大模型具备实时学习的能力:

准备一个 md 文件:
# 使用loader来加载markdown文本
from langchain_community.document_loaders import TextLoader
loader = TextLoader("loader.md")
loader.load()
[Document(metadata={'source': 'loader.md'}, page_content='# 我是一个markdown加载示例\n- 第一项目\n- 第二个项目\n- 第三个项目\n\n## 第一个项目\n编程严选网,最厉害专业的AI研究基地\n\n## 第二个项目\nAIGC打造未来AI应用天地\n\n## 第三个项目\n编程严选网是一个非常牛逼的AI媒体')]#使用 CSVLoader 来加载 csv 文件
from langchain.document_loaders.csv_loader import CSVLoader
#loader = Loader(file_path="loader.")
loader = CSVLoader(file_path="loader.csv")
data = loader.load()
print(data)先下包:
! pip install "unstructured[xlsx]"unstructured处理非结构化文档的 Python 库,支持解析多种格式的文件,包括 PDF、Word、HTML、Markdown、图片等。而RAG核心需求之一就是从各种格式文档中提取文本内容,再将其向量化存入知识库供后续检索。
xlsx是unstructured的一个可选依赖组(extras)。其采用模块化设计,核心包本身很轻量,只有在需要处理特定格式时才安装对应的额外依赖。该扩展专门用于支持解析 Excel 文件(.xlsx 格式),它会额外安装 openpyxl 等处理 Excel 所需的依赖库。
# 某目录下有excel文件,要把目录下所有的xlxs文件加载进来
from langchain_community.document_loaders import DirectoryLoader
# 目录下的.html和.rst文件不会被这种loader加载
# loader = DirectoryLoader("目录地址",glob="指定加载说明格式的文件")
loader = DirectoryLoader(path="./example/",glob="*.xlsx")
docs = loader.load()
len(docs)LangChain 中用于加载和解析 HTML 文件的文档加载器。基于 unstructured 库实现,智能地从 HTML 文件中提取文本内容,自动过滤掉 HTML 标签、脚本、样式等无关内容,只保留有意义的文本信息。
与普通的 HTML 解析器相比,其
使用 unstructured 库的智能文档分析能力,能够识别 HTML 文档的结构(如标题、段落、列表、表格等),并将其转换为结构化的文本块。这对于 RAG 场景非常有价值,因为保留文档结构有助于提高后续检索的准确性。
返回的是一个 Document 对象列表,每个 Document 包含两个核心属性:
page_content:提取出来的纯文本内容metadata:包含文件来源路径等元数据信息unstructured 依赖处理结构复杂的网页时,推荐优先使用UnstructuredHTMLLoader。
from langchain_community.document_loaders import UnstructuredHTMLLoader
loader = UnstructuredHTMLLoader("loader.html")
data = loader.load()
data加载 html 所有内容:
from langchain.document_loaders import BSHTMLLoader
loader = BSHTMLLoader("loader.html")
data = loader.load()
data只加载去除标签后的关键内容:
from langchain_community.document_loaders import BSHTMLLoader
loader = BSHTMLLoader("loader.html")
data = loader.load()
data先装 jq 包:
! pip install jqfrom langchain_community.document_loaders import JSONLoader
loader = JSONLoader(
file_path = "simple_prompt.json",jq_schema=".template",text_content=True
)
data = loader.load()
print(data)
[Document(metadata={'source': '/Users/javaedge/soft/PyCharmProjects/AIAgent/base/simple_prompt.json', 'seq_num': 1}, page_content='给我讲一个关于{name}的{what}故事')]先装包:
! pip install pypdffrom langchain.document_loaders import PyPDFLoader
loader = PyPDFLoader("loader.pdf")
pages = loader.load_and_split()
pages[0]原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。