File size: 875 Bytes
30b5e11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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)