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]