【GPT入门】第21课 langchain核心组件
- 1. langchain 核心组件
- 2.文档加载器 Document loader
- 3.文档处理器
- 3.1 langchain_text_splitters
- 3.3 FAISS向量数据库和向量检索
- 主要作用
- 应用场景
- 4. 对话历史管理
1. langchain 核心组件
模型 I/O 封装
LLMs:大语言模型
Chat Models:一般基于 LLMs,但按对话结构重新封装
PromptTemple:提示词模板
OutputParser:解析输出
数据连接封装
Document Loaders:各种格式文件的加载器
Document Transformers:对文档的常用操作,如:split, filter, translate, extract metadata, etc
Text Embedding Models:文本向量化表示,用于检索等操作(啥意思?别急,后面详细讲)
Verctorstores: (面向检索的)向量的存储
Retrievers: 向量的检索
对话历史管理
对话历史的存储、加载与剪裁
2.文档加载器 Document loader
from langchain_community.document_loaders import PyMuPDFLoaderloader = PyMuPDFLoader("llama2.pdf")
pages = loader.load_and_split()
print(pages[0].page_content)
print(len(pages))
3.文档处理器
3.1 langchain_text_splitters
from langchain_text_splitters import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(chunk_size=200,chunk_overlap=100,length_function=len,add_start_index=True
)
paragraphs = text_splitter.create_documents([pages[0].page_content])
for para in paragraphs:print(para)print('-'*20)
输出结果:
page_content='models outperform open-source chat models on most benchmarks we tested, and based on
our human evaluations for helpfulness and safety