langchain_community.utils.math
.cosine_similarity_top_k¶
- langchain_community.utils.math.cosine_similarity_top_k(X: Union[List[List[float]], List[ndarray], ndarray], Y: Union[List[List[float]], List[ndarray], ndarray], top_k: Optional[int] = 5, score_threshold: Optional[float] = None) Tuple[List[Tuple[int, int]], List[float]] [source]¶
逐行计算余弦相似度,可选择进行top-k和得分阈值过滤。
- 参数:
X:矩阵。 Y:矩阵,与X具有相同的宽度。 top_k:要返回的结果的最大数量。 score_threshold:结果的最小余弦相似度。
- 返回:
- 包含两个列表的元组。第一个列表包含两个元组的索引(X_idx,Y_idx),
第二个列表包含相应的余弦相似度。
- Parameters
X (Union[List[List[float]], List[ndarray], ndarray]) –
Y (Union[List[List[float]], List[ndarray], ndarray]) –
top_k (Optional[int]) –
score_threshold (Optional[float]) –
- Return type
Tuple[List[Tuple[int, int]], List[float]]