当前位置: 首页 > news >正文

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 nameloader = 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
http://www.lryc.cn/news/402663.html

相关文章:

  • BL201分布式I/O耦合器连接Profinet网络
  • Pycharm 报错 Environment location directory is not empty 解
  • 【Android】Intent基础用法及作用
  • Web开发:ASP.NET CORE的后端小结(基础)
  • 侧开知识点合集2
  • ARM/Linux嵌入式面经(十六):蔚来嵌入式一二三面面经
  • Apache BookKeeper 一致性协议解析
  • Solana的账户模型
  • iPython与Matplotlib:数据可视化的秘籍
  • 做一只勤劳的小蜜蜂
  • 如何处理 PostgreSQL 中死锁的情况?
  • 新版本 idea 创建不了 spring boot 2 【没有jkd8选项】
  • linux系统和windows系统如何同步时间,服务器时间变动怎么同步
  • Mac M1安装配置Hadoop+Flink SQL环境
  • 【所谓生活】马太效应
  • 品牌进行电商数据采集的流程
  • 面试问题:React基本概念,和所遇到的CPU和IO问题
  • FOG Project 文件名命令注入漏洞复现(CVE-2024-39914)
  • JavaScript 表单
  • python程序设定定时任务
  • win10 查看 jks 的公钥
  • 蓝牙模块在智能体育设备中的创新应用
  • 智能家居和智能家电有什么区别?
  • SpringBoot3 + Vue3 学习 Day 1
  • 如何使用在线工具将手机相册中的图片转换为JPG格式
  • C#医学影像管理系统源码(VS2013)
  • Qt Creator 项目Console 项目踩坑日记
  • [MAUI 项目实战] 笔记App(一):程序设计
  • VisualRules-Web案例展示(一)
  • 使用Docker 实现 MySQL 循环复制(三)