Langchain 对pdf,word,txt等不同文件的加载解析

项目中遇到各种数据资源想要加载近langchain构建本地知识ai系统,怎么加载对应的文件格式呢,一起研究下

引入Langchain

复制代码
from langchain.document_loaders import UnstructuredWordDocumentLoader,PyPDFium2Loader,DirectoryLoader,PyPDFLoader,TextLoader
import os

pdf文件加载

复制代码
def load_pdf(directory_path):
    data = []
    for filename in os.listdir(directory_path):
        if filename.endswith(".pdf"):
            print(filename)
            # print the file name
            loader = PyPDFium2Loader(f'{directory_path}/{filename}')
            print(loader)
            data.append(loader.load())
    return data

word文档加载如,doc或者docx格式

复制代码
def load_word(directory_path):
    data = []
    for filename in os.listdir(directory_path):
        # check if the file is a doc or docx file
        # 检查所有doc以及docx后缀的文件
        if filename.endswith(".doc") or filename.endswith(".docx"):
            # langchain自带功能,加载word文档
            loader = UnstructuredWordDocumentLoader(f'{directory_path}/{filename}')
            data.append(loader.load())

    return data

txt加载

复制代码
def load_txt(directory_path):
    data = []
    for filename in os.listdir(directory_path):
        if filename.endswith(".txt"):
            print(filename)
            loader = TextLoader(f'{directory_path}/{filename}')
            print(loader)
            data.append(loader.load())

    return data

上述中常见的文档格式基本上都可以加载进去了,主要就是不同格式对应不同的加载方式,如果想简单也可以直接加载目录

复制代码
def load_docs(directory):
    loader = DirectoryLoader(directory)
    documents = loader.load()
    return documents
相关推荐
nvd111 小时前
深度解析 LangChain 0.1+ `astream_events`:从“物理延迟”到“UX 优化”的工程进阶
langchain
沪漂阿龙1 小时前
深度拆解LangChain Chains与LCEL:从Runnable到生产级AI工作流
人工智能·langchain
Csvn2 小时前
🌟 LangChain 30 天保姆级教程 · Day 24|Plan-and-Execute Agent!让 AI 先“写计划”再“干活”,搞定复杂任务!
python·langchain
沪漂阿龙2 小时前
从输入到输出:一文搞懂 LangChain Model I/O 的核心玩法
人工智能·langchain
小安同学iter13 小时前
LangChain4j:非 Spring 系,AI For Java的另一条路
ai·langchain·agent·langchain4j·java+ai
Csvn15 小时前
🌟 LangChain 30 天保姆级教程 · Day 23|Agent 进阶实战!Function Calling + 自动 Tool 注册,打造会“动
python·langchain
Csvn15 小时前
🌟 LangChain 30 天保姆级教程 · Day 22|长文档处理三剑客!MapReduce、Refine、Map-Rerank,让 AI 消化整本手册
python·langchain
程序媛小鱼21 小时前
LangChain入门指南
langchain
liu****21 小时前
LangGraph-AI应用开发框架(三)
人工智能·python·langchain·langgraph·大模型部署
abigale031 天前
LangChain 进阶:ReAct 框架 + 多轮记忆 Agent 开发
langchain·react