Spaces:
Runtime error
Runtime error
Update memory.py
Browse files
memory.py
CHANGED
@@ -1,30 +1,17 @@
|
|
1 |
from sentence_transformers import SentenceTransformer
|
2 |
import numpy as np
|
3 |
import faiss
|
4 |
-
import json
|
5 |
-
import os
|
6 |
|
7 |
model = SentenceTransformer("all-MiniLM-L6-v2")
|
8 |
-
MEMORY_LOG = "memory_log.json"
|
9 |
|
10 |
def init_memory():
|
11 |
dim = 384
|
12 |
-
index
|
13 |
-
memory = {"index": index, "texts": []}
|
14 |
-
if os.path.exists(MEMORY_LOG):
|
15 |
-
with open(MEMORY_LOG, "r") as f:
|
16 |
-
memory["texts"] = json.load(f)
|
17 |
-
vectors = np.array([model.encode([text])[0] for text in memory["texts"]])
|
18 |
-
if len(vectors) > 0:
|
19 |
-
memory["index"].add(vectors)
|
20 |
-
return memory
|
21 |
|
22 |
def add_to_memory(text, memory):
|
23 |
vec = model.encode([text])[0]
|
24 |
memory["index"].add(np.array([vec]))
|
25 |
memory["texts"].append(text)
|
26 |
-
with open(MEMORY_LOG, "w") as f:
|
27 |
-
json.dump(memory["texts"], f)
|
28 |
|
29 |
def search_memory(query, memory, k=5):
|
30 |
vec = model.encode([query])[0]
|
|
|
1 |
from sentence_transformers import SentenceTransformer
|
2 |
import numpy as np
|
3 |
import faiss
|
|
|
|
|
4 |
|
5 |
model = SentenceTransformer("all-MiniLM-L6-v2")
|
|
|
6 |
|
7 |
def init_memory():
|
8 |
dim = 384
|
9 |
+
return {"index": faiss.IndexFlatL2(dim), "texts": []}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
def add_to_memory(text, memory):
|
12 |
vec = model.encode([text])[0]
|
13 |
memory["index"].add(np.array([vec]))
|
14 |
memory["texts"].append(text)
|
|
|
|
|
15 |
|
16 |
def search_memory(query, memory, k=5):
|
17 |
vec = model.encode([query])[0]
|