Spaces:
Sleeping
Sleeping
from langchain.text_splitter import RecursiveCharacterTextSplitter | |
from langchain_community.document_loaders import PyPDFLoader , DirectoryLoader | |
from langchain_community.embeddings import HuggingFaceBgeEmbeddings | |
from langchain_community.vectorstores import FAISS | |
DATA_PATH = "data/" | |
DB_FAISS_PATH = 'vectorstores/' | |
# create a vector database | |
def create_vector_db(): | |
loader = DirectoryLoader(DATA_PATH,glob='*.pdf',loader_cls=PyPDFLoader) | |
documents = loader.load() | |
text_splitter = RecursiveCharacterTextSplitter(chunk_size = 500, chunk_overlap = 50) | |
texts = text_splitter.split_documents(documents) | |
embeddings = HuggingFaceBgeEmbeddings(model_name = 'sentence-transformers/all-MiniLM-L6-v2', | |
model_kwargs = {'device':'cpu'}) | |
db = FAISS.from_documents(texts,embeddings) | |
db.save_local('vectorstores/') | |
if __name__ == '__main__': | |
create_vector_db() | |