# from faiss import IndexFlatL2,write_index,read_index # import numpy as np # from utils.convert_embedding import GetEmbedding # class VectorStore: # def __init__(self): # pass # def store_vectors(self,data:list,embedding_space_name:str = 'faiss_index.index',numpy_emb_space:str = 'embeddings.npy' ): # try: # embeddings = GetEmbedding(data=data).convert_emb() # diamension = embeddings.shape[1] # print("Diamension",diamension) # # Create L2 distance index # index = IndexFlatL2(diamension) # index.add(embeddings) # write_index(index, embedding_space_name) # # Save embeddings to file # np.save(numpy_emb_space, embeddings) # return True # except Exception as e: # print(e) # return False # def get_similary_search(self,query,embedding_space_name:str = 'faiss_index.index',numpy_emb_space:str = 'embeddings.npy',K:int= 1): # # Load the FAISS index # index = read_index('faiss_index.index') # # Load the embeddings # embeddings_np = np.load('embeddings.npy') # # Now you can perform similarity searches on the index # query = "What is photosynthesis?" # query_embedding = GetEmbedding([query]).convert_emb() # query_embedding = query_embedding.detach().numpy() # # query_embedding = np.array(query_embedding) # Convert to numpy array # # query_embedding = query_embedding.reshape(1, -1) # # print("shape") # # print(query_embedding.shape) # # Perform search # distances, indices = index.search(query_embedding, k = K) # return indices