Spaces:
Runtime error
Runtime error
from langchain.embeddings.openai import OpenAIEmbeddings | |
from langchain.vectorstores.faiss import FAISS | |
class DocumentStore: | |
def __getitem__(self, query): | |
raise NotImplementedError | |
class FaissDocumentStore(DocumentStore): | |
filename = "documents/stored.pkl" | |
def __init__(self, store): | |
self.store = store | |
def from_texts(cls, texts, metadatas): | |
embeddings = OpenAIEmbeddings() # uses ada-002 by default | |
docsearch = FAISS.from_texts(texts, embeddings, metadatas=metadatas) | |
return cls(docsearch) | |
def from_pickle(cls, filename=None): | |
import pickle | |
if filename is None: | |
filename = cls.filename | |
with open(filename, "rb") as f: | |
store = pickle.load(f) | |
return cls(store) | |
def to_pickle(self, filename=None): | |
import pickle | |
if filename is None: | |
filename = self.filename | |
with open(filename, "wb") as f: | |
pickle.dump(self.store, f) | |
def __getitem__(self, query): | |
return self.store.similarity_search(query) | |