Repolode
Dicklesworthstone

Dicklesworthstone/fast_vector_similarity

Python バインディングとブートストラップ信頼区間を備えた、高速なベクトル類似度計算用 Rust ライブラリ。

スター
429
フォーク
27
未解決の Issue
0
最終コミット
5 日前

これは何?

Fast Vector Similarity は、2つの数値ベクトル間の類似度や依存性を計算する Rust ライブラリで、Python バインディングは PyPI で公開されています。LLM の高次元テキスト埋め込みの比較など、データ分析や統計処理を想定しています。

Spearman の順位相関、Kendall の tau、近似距離相関、Jensen-Shannon 依存性指標、Hoeffding の D、正規化相互情報量の6つの指標を実装しています。これらのうち複数は、単純な相関では捉えられない非線形・非単調な依存性を検出できます。計算は rayon で並列化されており、Kendall の tau はマージソートで転倒数を数えることで計算量を削減し、距離行列の処理にはベクトル化された ndarray 演算を使います。

また、データを繰り返し再サンプリングして各指標の分布を推定し、より頑健な結果を得るブートストラップ機能も備えています。Python API では py_compute_vector_similarity_stats と py_compute_bootstrapped_similarity_stats を利用でき、どちらも JSON 文字列を返します。

主な機能

  • 01Spearman の rho、Kendall の tau、近似距離相関、Jensen-Shannon 依存性指標、Hoeffding の D、正規化相互情報量という6つの類似度・依存性指標。
  • 02rayon による並列計算で、CPU コア数に応じて処理を拡張。
  • 03Kendall の tau はマージソートで転倒数を数え、計算量を O(n^2) から O(n log n) に削減。
  • 04サンプルサイズと反復回数を設定できるブートストラップにより、頑健な推定値を算出。
  • 05Python バインディングは結果を JSON 文字列で返すため、Pandas などの Python ツールと連携可能。
  • 06LLM の4096次元埋め込みを含む、高次元ベクトルに対応。

ユースケース

  • LLM のテキスト埋め込みを、クエリ文との類似度で順位付けする。
  • 2つの変数間にある非線形・非単調な依存性を検出する。
  • 外れ値の影響を受けにくい、ブートストラップ信頼区間付きの類似度推定値を得る。
  • Rust プロジェクトから類似度関数を直接呼び出し、統計分析に利用する。

クイックスタート

  1. 1

    PyPIからPythonパッケージをインストールします

    pip install fast_vector_similarity
  2. 2

    RustプロジェクトのCargo.tomlにライブラリを追加します

  3. 3

    READMEの例のように、Pythonからpy_compute_vector_similarity_statsを呼び出します

使う前に知っておきたいこと

  • ライセンスが指定されていないため、利用権が不明確です。

収録されている特集

トピック

#rust#vector-similarity#statistics#embeddings#python-bindings#llm#correlation#bootstrap#embedding-vectors#similarity

よくある質問

fast_vector_similarity とは?
Python バインディングとブートストラップ信頼区間を備えた、高速なベクトル類似度計算用 Rust ライブラリ。 Fast Vector Similarity は、2つの数値ベクトル間の類似度や依存性を計算する Rust ライブラリで、Python バインディングは PyPI で公開されています。LLM の高次元テキスト埋め込みの比較など、データ分析や統計処理を想定しています。
fast_vector_similarity は無料で使えますか?ライセンスは?
fast_vector_similarity にはライセンスが明記されていません。コードは公開されていますが、ライセンスがない場合は再利用の許諾がないため、利用前に作者に確認することをおすすめします。
fast_vector_similarity は今もメンテナンスされていますか?
活発にメンテナンス中。fast_vector_similarity の最終コミットは 2026年11月1日 です。
fast_vector_similarity は何に使えますか?
LLM のテキスト埋め込みを、クエリ文との類似度で順位付けする。 2つの変数間にある非線形・非単調な依存性を検出する。 外れ値の影響を受けにくい、ブートストラップ信頼区間付きの類似度推定値を得る。 Rust プロジェクトから類似度関数を直接呼び出し、統計分析に利用する。
fast_vector_similarity のインストール方法は?
PyPIからPythonパッケージをインストールします: pip install fast_vector_similarity RustプロジェクトのCargo.tomlにライブラリを追加します READMEの例のように、Pythonからpy_compute_vector_similarity_statsを呼び出します
fast_vector_similarity はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/Dicklesworthstone/fast_vector_similarity

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト