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

0 Loader机制

案例环境准备:

import os

os.environ["OPENAI_API_KEY"] = "sk-javaedge"
os.environ["OPENAI_PROXY"] = "https://api.chatanywhere.tech"


import os
from dotenv import load_dotenv
# Load environment variables from openai.env file
load_dotenv("openai.env")

# Read the OPENAI_API_KEY from the environment
api_key = os.getenv("OPENAI_API_KEY")
api_base = os.getenv("OPENAI_API_BASE")
os.environ["OPENAI_API_KEY"] = api_key
os.environ["OPENAI_API_BASE"] = api_base

1 加载markdown

准备一个 md 文件:

# 我是一个markdown加载示例
- 第一项目
- 第二个项目
- 第三个项目

## 第一个项目
编程严选网,最厉害专业的AI研究基地

## 第二个项目
AIGC打造未来AI应用天地

## 第三个项目
编程严选网是一个非常牛逼的AI媒体
#使用loader来加载markdown文本
from langchain.document_loaders import TextLoader

loader = TextLoader("loader.md")
loader.load()

2 加载cvs

Project,DES,Price,People,Location
AI GC培训,培训课程,500,100,北京
AI工程师认证,微软AI认证,6000,200,西安
AI应用大会,AI应用创新大会,200门票,300,深圳
AI 应用咨询服务,AI与场景结合,1000/小时,50,香港
AI项目可研,可行性报告,20000,60,上海
#使用 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)

3 加载html

先下包:

! pip install "unstructured[xlsx]"

加载文件目录

from langchain.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

只加载去除标签后的关键内容:

4 加载JSON

先装 jq 包:

! pip install jq
from langchain.document_loaders import JSONLoader
loader = JSONLoader(
    file_path = "simple_prompt.json",jq_schema=".template",text_content=True
)
data = loader.load()
print(data)

5 加载PDF

先装包:

! pip install pypdf
from langchain.document_loaders import PyPDFLoader
loader = PyPDFLoader("loader.pdf")
pages = loader.load_and_split()
pages[0]