Initial codes commit
Browse files- models/embedder.py +4 -2
- modules/retriever.py +1 -1
models/embedder.py
CHANGED
|
@@ -23,8 +23,10 @@ def get_embedding(request: Request, text: str) -> List[float]:
|
|
| 23 |
ort_inputs = {k: v for k, v in inputs.items()}
|
| 24 |
ort_outs = sess.run(None, ort_inputs)
|
| 25 |
print([arr.shape for arr in ort_outs])
|
| 26 |
-
#
|
| 27 |
-
|
|
|
|
|
|
|
| 28 |
return _l2_normalize(vec)
|
| 29 |
|
| 30 |
|
|
|
|
| 23 |
ort_inputs = {k: v for k, v in inputs.items()}
|
| 24 |
ort_outs = sess.run(None, ort_inputs)
|
| 25 |
print([arr.shape for arr in ort_outs])
|
| 26 |
+
# 첫 번째 출력이 (batch, seq_len, dim)
|
| 27 |
+
token_embeddings = ort_outs[0] # shape (1, seq_len, dim)
|
| 28 |
+
# 평균 pooling으로 문장 임베딩 생성
|
| 29 |
+
vec = token_embeddings.mean(axis=1)[0] # shape (dim,)
|
| 30 |
return _l2_normalize(vec)
|
| 31 |
|
| 32 |
|
modules/retriever.py
CHANGED
|
@@ -14,7 +14,7 @@ def has_index() -> bool:
|
|
| 14 |
def retrieve_ids(query_embedding: list[float]) -> list[int]:
|
| 15 |
if _index is None:
|
| 16 |
raise RuntimeError("FAISS index is not loaded in memory.")
|
| 17 |
-
q = np.array(
|
| 18 |
_, idx = _index.search(q, TOP_K)
|
| 19 |
return [int(i) for i in idx[0]]
|
| 20 |
|
|
|
|
| 14 |
def retrieve_ids(query_embedding: list[float]) -> list[int]:
|
| 15 |
if _index is None:
|
| 16 |
raise RuntimeError("FAISS index is not loaded in memory.")
|
| 17 |
+
q = np.array(query_embedding, dtype="float32").reshape(1, -1)
|
| 18 |
_, idx = _index.search(q, TOP_K)
|
| 19 |
return [int(i) for i in idx[0]]
|
| 20 |
|