Spaces:
Sleeping
Sleeping
Create semantic.py
Browse files- semantic.py +4 -7
semantic.py
CHANGED
|
@@ -10,23 +10,20 @@ except Exception:
|
|
| 10 |
class SemanticIndex:
|
| 11 |
def __init__(self):
|
| 12 |
if not FAISS_AVAILABLE:
|
| 13 |
-
raise RuntimeError("FAISS
|
| 14 |
-
|
| 15 |
self.model = SentenceTransformer("all-MiniLM-L6-v2")
|
| 16 |
self.index = None
|
| 17 |
self.texts = []
|
| 18 |
|
| 19 |
def build(self, texts):
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
self.index
|
| 23 |
-
self.index.add(embeddings)
|
| 24 |
self.texts = texts
|
| 25 |
|
| 26 |
def search(self, query, k=5):
|
| 27 |
if not self.index:
|
| 28 |
return []
|
| 29 |
-
|
| 30 |
q = self.model.encode([query])
|
| 31 |
_, idxs = self.index.search(q, k)
|
| 32 |
return [self.texts[i] for i in idxs[0]]
|
|
|
|
| 10 |
class SemanticIndex:
|
| 11 |
def __init__(self):
|
| 12 |
if not FAISS_AVAILABLE:
|
| 13 |
+
raise RuntimeError("FAISS not installed")
|
|
|
|
| 14 |
self.model = SentenceTransformer("all-MiniLM-L6-v2")
|
| 15 |
self.index = None
|
| 16 |
self.texts = []
|
| 17 |
|
| 18 |
def build(self, texts):
|
| 19 |
+
emb = self.model.encode(texts)
|
| 20 |
+
self.index = faiss.IndexFlatL2(emb.shape[1])
|
| 21 |
+
self.index.add(emb)
|
|
|
|
| 22 |
self.texts = texts
|
| 23 |
|
| 24 |
def search(self, query, k=5):
|
| 25 |
if not self.index:
|
| 26 |
return []
|
|
|
|
| 27 |
q = self.model.encode([query])
|
| 28 |
_, idxs = self.index.search(q, k)
|
| 29 |
return [self.texts[i] for i in idxs[0]]
|