mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-28 15:39:59 +08:00
13 lines
430 B
Python
13 lines
430 B
Python
import numpy as np
|
|||
|
|
|
||
|
|
|
||
|
|
def cosine_similarity(vec1: list[float], vec2: list[float]) -> float:
|
||
|
|
"""使用 numpy 计算两组向量的余弦相似度"""
|
||
|
|
if not vec1 or not vec2 or len(vec1) != len(vec2):
|
||
|
|
return 0.0
|
||
|
|
v1, v2 = np.array(vec1), np.array(vec2)
|
||
|
|
norm1, norm2 = np.linalg.norm(v1), np.linalg.norm(v2)
|
||
|
|
if norm1 == 0 or norm2 == 0:
|
||
|
|
return 0.0
|
||
|
|
return float(np.dot(v1, v2) / (norm1 * norm2))
|