當中,我希望外掛一個外部知識庫,叫做RAG,來提升整體問答的品質,同時又能避免機敏資訊被Chat GPT竊取。
緣由參見 ChatGPT回答不是你要的怎麼辦?
詳細實作於 使用Meta釋出的模型,實作Chat GPT - Part 5
那這外部知識庫的形式可以有很多種,我們之前介紹了Web形式、PDF形式,這次我們新增一種CSV的形式,按照往例,直接提供乾貨:
# ---------------------- Multiple CSV Version ----------------------
from google.colab import files
uploaded = files.upload()
All_Splits = []
import os
print(os.listdir())
from langchain_community.document_loaders.csv_loader import CSVLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
Loaders = [CSVLoader(file_name) for file_name in os.listdir() if '.csv' in file_name]
for Loader in Loaders:
Documents = Loader.load()
print(Documents)
Text_Splitter = RecursiveCharacterTextSplitter(chunk_size = 500, chunk_overlap = 100)
All_Split = Text_Splitter.split_documents(Documents)
All_Splits.extend(All_Split)
並提供運行成功的示意圖供參: