fabianonbfilho commited on
Commit
ac7ba08
·
verified ·
1 Parent(s): 3c4ffbf

Upload src/labdaps/ingestion/embedder.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. src/labdaps/ingestion/embedder.py +26 -0
src/labdaps/ingestion/embedder.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from src.labdaps.config import EMBEDDING_MODEL, EMBED_QUERY_PREFIX, EMBED_PASSAGE_PREFIX
2
+
3
+
4
+ class Embedder:
5
+ def __init__(self):
6
+ from sentence_transformers import SentenceTransformer
7
+ print(f"[INFO] Carregando modelo de embeddings: {EMBEDDING_MODEL}")
8
+ self._model = SentenceTransformer(EMBEDDING_MODEL)
9
+ print("[INFO] Modelo carregado.")
10
+
11
+ def embed_passages(self, texts: list[str], batch_size: int = 32) -> list[list[float]]:
12
+ prefixed = [f"{EMBED_PASSAGE_PREFIX}{t}" for t in texts]
13
+ vecs = self._model.encode(
14
+ prefixed,
15
+ batch_size=batch_size,
16
+ normalize_embeddings=True,
17
+ show_progress_bar=True,
18
+ )
19
+ return vecs.tolist()
20
+
21
+ def embed_query(self, query: str) -> list[float]:
22
+ vec = self._model.encode(
23
+ f"{EMBED_QUERY_PREFIX}{query}",
24
+ normalize_embeddings=True,
25
+ )
26
+ return vec.tolist()