#embedding #parallel-processing #metrics #similarity #distance #levenshtein #compute

semanticsimilarity_rs

一个用于计算嵌入之间的相似度/距离度量的库。

2个版本

0.1.1 2024年5月5日
0.1.0 2024年2月24日

#462 in 并发

Download history 142/week @ 2024-05-02 8/week @ 2024-05-09 3/week @ 2024-05-16 5/week @ 2024-05-23 7/week @ 2024-07-04

每月134次下载

MIT许可证

5KB
58

Rusty语义相似度

Crates.io Version Crates.io Total Downloads Crates.io License

一个用于使用向量距离计算嵌入之间的相似度/不相似度度量的小型库。

当前实现的距离度量

  • 余弦(处理归一化和非归一化向量)
  • 欧几里得
  • 曼哈顿
  • 切比雪夫
  • 角度
  • Jaccard指数
  • Levenshtein
  • Minkowski
  • 点积

特性

  • 并行计算:利用rayon进行并行处理。
  • 自行提供嵌入:使用任何嵌入模型生成嵌入并计算相似度/距离得分。

安装

将semanticsimilarity_rs添加到您的Cargo.toml文件中

[dependencies]
semanticsimilarity_rs = "0.1.0" 

或使用cargo add

cargo add semanticsimilarity_rs

用法

use semanticsimilarity_rs::{cosine_similarity, euclidean_distance};

fn main() {

    let vec1: [f64; 3] = [1.0, 2.0, 3.0];
    let vec2: [f64; 3] = [4.0, 5.0, 6.0];

    let similarity = cosine_similarity(&vec1, &vec2, false);

    println!("Cosine similarity between vec1 and vec2: {}", similarity);
}

依赖项

~1.5MB
~28K SLoC