ruslanmv's picture
Deploy Matrix Context Console
ce45eb0 verified
Raw
History Blame Contribute Delete
484 Bytes
"""Dense (vector) retrieval."""
from __future__ import annotations
from typing import List, Tuple
import numpy as np
from ..embedding.base import cosine
from ..schema.item import ContextItem
def dense_rank(query_emb: np.ndarray,
items: List[ContextItem]) -> List[Tuple[str, float]]:
scored = [(it.id, cosine(query_emb, it.embedding)) for it in items
if it.embedding is not None]
scored.sort(key=lambda x: x[1], reverse=True)
return scored