import os import datetime from langchain_community.vectorstores import FAISS from langchain_community.embeddings import HuggingFaceEmbeddings from langchain_core.documents import Document FAISS_PATH = "data/faiss_index" def load_faiss(): embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2") if os.path.exists(FAISS_PATH): return FAISS.load_local( FAISS_PATH, embeddings, allow_dangerous_deserialization=True ) return FAISS.from_texts( ["Initialisation mémoire Kibali"], embeddings ) def save_memory(vectordb, user_msg, assistant_msg): ts = datetime.datetime.now().isoformat() vectordb.add_documents([ Document(page_content=f"[User {ts}] {user_msg}"), Document(page_content=f"[Kibali {ts}] {assistant_msg}") ]) vectordb.save_local(FAISS_PATH)