【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