卡通人物(Rick和Morty)又來了第4集,改用 google/flan-t5 語言模型 ,AI讓靈魂復活
HTML-код
- Опубликовано: 11 сен 2024
- 使用LangChain建立基於PDF的檢索系統
在本影片中,我介紹如何使用LangChain來建立一個基於PDF文件的檢索系統。這個系統能夠自動從PDF文件中提取內容,並根據使用者的問題生成相應的答案。以下是步驟概述及程式碼解析。
前置準備
在開始之前,我們需要安裝一些必備的Python套件,包括LangChain、HuggingFace的相關模組、以及其他依賴套件。
pip install langchain huggingface-hub
1. 設定HuggingFace API Token
為了能夠訪問HuggingFace上的模型,我們首先需要設定HuggingFace的API Token。
import os
os.environ["HUGGINGFACEHUB_API_TOKEN"] = "your_huggingface_api_token"
2. 加載PDF文件
接下來,我們需要指定存放PDF文件的資料夾路徑,並利用UnstructuredPDFLoader將所有PDF文件加載到程式中。
from langchain.document_loaders import UnstructuredPDFLoader
pdf_folder_path = 'path_to_your_pdf_folder'
loaders = [UnstructuredPDFLoader(os.path.join(pdf_folder_path, fn)) for fn in os.listdir(pdf_folder_path)]
3. 建立向量索引
我們使用HuggingFace的嵌入模型來將PDF文件轉換為向量表示。這裡,我們利用VectorstoreIndexCreator來創建索引,並使用CharacterTextSplitter來將文本分割成合適的大小。
from langchain.indexes import VectorstoreIndexCreator
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.text_splitter import CharacterTextSplitter
index = VectorstoreIndexCreator(
embedding=HuggingFaceEmbeddings(),
text_splitter=CharacterTextSplitter(chunk_size=1802, chunk_overlap=0)
).from_loaders(loaders)
4. 初始化LLM模型
這裡我們選擇了google/flan-t5-small模型來生成回答。該模型是由Google發布的Flan-T5系列模型的一個小型版本,適合於資源有限的應用場景。
5. 建立檢索問答鏈
接著,我們建立了一個檢索問答鏈RetrievalQA,該鏈將從先前創建的向量索引中檢索相關的文本片段,並使用LLM模型生成答案。
6. 提出問題並獲得答案
最後,我們可以提出問題並讓模型生成答案。以下是幾個示例問題及其對應的程式碼。
question = 'what conclusion can you make for this book?'
answer = chain.run(question)
print(answer)
關於影片中的【程式碼rick_Resurrection1.py/ rick_Resurrection2.py/ rick_Resurrection3.py/ rick_Resurrection4.py】的下載網址:github.com/deepmind-python/nltk
請手動複製 github.com/deepmind-python/nltk 至瀏覽器的網址列上,然後在鍵盤上按 Enter鍵。
yyusss