File size: 1,133 Bytes
74d8f71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

from langchain_community.vectorstores import FAISS
import os
from datetime import datetime

vector_store_path = "/home/user/VectorStoreDB"
index_name = "faiss_index"
full_index_path = os.path.join(vector_store_path, index_name)
start = ""
end = ""


def embed_docs(documents, embedder):

    # Ensure the directory exists
    os.makedirs(vector_store_path, exist_ok=True)

    # just query if it exists
    if os.path.exists(full_index_path):
        print(f"Loading existing vector store at {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
        saved_vector = FAISS.load_local(full_index_path, 
                                        embeddings=embedder, 
                                        allow_dangerous_deserialization=True)

        return saved_vector
    else:
        print(f"Embedding documents at {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
        embedded_vector = FAISS.from_documents(documents=documents, embedding=embedder)
        embedded_vector.save_local(full_index_path)
        print(f"Vector store saved at {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
        
        return embedded_vector