GodsDevProject/FOIA_Doc_Search
1
1import faiss2from sentence_transformers import SentenceTransformer3 4class SemanticIndex:5 def __init__(self):6 self.model = SentenceTransformer("all-MiniLM-L6-v2")7 self.index = None8 self.texts = []9 10 def build(self, texts):11 self.texts = texts12 emb = self.model.encode(texts)13 self.index = faiss.IndexFlatL2(len(emb[0]))14 self.index.add(emb)15 16 def search(self, query, k=10):17 if not self.index:18 return []19 q = self.model.encode([query])20 _, idx = self.index.search(q, k)21 return [self.texts[i] for i in idx[0]]