File size: 622 Bytes
0eb636f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from db.vector_store import VectorStore
from src.modelling.embed import DalaEmbedder

from typing import List


class SemanticSearcher:
    """
    Perform semantic search over embedded Kazakh text.
    """
    def __init__(self):
        self.embedder = DalaEmbedder()
        self.vector_store = VectorStore()


    def search(self, query: str, top_k: int = 5) -> List[dict]:
        """
        Embed the query and retrieve the most relevant chunks.
        """
        query_embedding = self.embedder.embed_text(query)
        results = self.vector_store.search(query_embedding, top_k = top_k)

        return results