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]]