代码拉取完成,页面将自动刷新
package cHelper
import (
"math"
"math/rand"
)
// RandomInt 生成随机整数
func RandomInt(min, max int) int {
if min > max {
min = 0
}
diff := max - min
num := rand.Intn(diff)
return min + num
}
// EmbeddingCos 使用cosine计算向量相似度
func EmbeddingCos(vector1, vector2 []float64) float64 {
var (
aLen = len(vector1)
bLen = len(vector2)
s = 0.0
sa = 0.0
sb = 0.0
count int
)
if aLen > bLen {
count = aLen
} else {
count = bLen
}
for i := 0; i < count; i++ {
if i >= bLen {
sa += math.Pow(vector1[i], 2)
continue
}
if i >= aLen {
sb += math.Pow(vector2[i], 2)
continue
}
s += vector1[i] * vector2[i]
sa += math.Pow(vector1[i], 2)
sb += math.Pow(vector2[i], 2)
}
return s / (math.Sqrt(sa) * math.Sqrt(sb))
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。