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
相关推荐
AI Echoes4 小时前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent
加载中36110 小时前
LLM基础知识,langchainV1.0讲解(一)
人工智能·langchain
默 语15 小时前
Spring-AI vs LangChain4J:Java生态的AI框架选型指南
java·人工智能·spring·ai·langchain·langchain4j·spring-ai
leafff12317 小时前
一文了解:智能体大模型LangChain 和 Dify有什么区别?
人工智能·架构·langchain
W_Meng_H1 天前
LangChain Agent - 火山引擎大模型推理与回答的完整流式输出
langchain·火山引擎
Jack___Xue2 天前
LangChain实战快速入门笔记(三)--LangChain使用之Chains
人工智能·笔记·langchain
Elwin Wong2 天前
将你的LangChian Agent可视化
人工智能·langchain·agent
工藤学编程2 天前
零基础学AI大模型之LangChain核心:Runnable接口底层实现
人工智能·langchain
Jack___Xue2 天前
LangChain实战快速入门笔记(二)--LangChain使用之Model I/O
笔记·langchain
AI大模型3 天前
【连载】零基础跟我学做AI Agent(第3课:用LangChain开发一个做题Agent)
langchain·llm·agent