Repolode
unum-cloud

unum-cloud/USearch

Python、JavaScript、Rust、Java、Go、Swiftなどのバインディングを備えた、近似最近傍ベクトル検索とクラスタリング用の単一ファイルC++ライブラリ。

代替できる製品:Pinecone

スター
4,346
フォーク
360
未解決の Issue
110
最終コミット
3 日前

これは何?

USearchは、HNSWグラフアルゴリズムを基盤とする類似検索・クラスタリングエンジンです。ベクトルをインデックス化し、ユーザー定義の距離メトリクスに対応しているため、セマンティック検索、分子フィンガープリントの照合、Haversine距離を使った地理空間クエリなどに利用できます。コア部分は単一のC++11ヘッダーで構成され、C、Python、JavaScript、Java、Rust、Go、Swift、C#、Objective-C、Wolfram向けのバインディングも提供されています。

インデックスにはbf16、f16、e5m2、i8などの低精度形式や、TanimotoおよびHammingメトリクス用のバイナリ型でベクトルを格納できます。インデックスはファイル、ストリーム、メモリマップドバッファに保存でき、すべてをRAMに読み込まずにディスクから提供できます。グラフをたどる際に述語関数を適用した検索が可能で、小規模なコレクション向けには総当たりの厳密検索モードも用意されています。

既存のインデックスを使ったK近傍クラスタリングや、1対1または多対多のあいまい照合を行うjoin操作も含まれています。ClickHouseやDuckDBをはじめとする複数のデータベースやツールで、ベクトルインデックスのバックエンドとして採用されています。

主な機能

  • 01コードベースが小さい、単一のC++11ヘッダーライブラリ
  • 02HNSWベースの近似最近傍検索
  • 03JITコンパイルされるPythonのメトリクスを含む、ユーザー定義の距離メトリクス
  • 04bf16、f16、e5m2、i8などの低精度形式での格納
  • 05ディスクまたはメモリマップドファイルからのインデックス提供
  • 06グラフの走査中に適用する述語フィルタリング

ユースケース

  • アプリケーションやサービスに、埋め込みベクトルを使ったセマンティック検索を追加する
  • 複数プラットフォームで、モバイルアプリやクライアント側アプリにベクトルインデックスを組み込む
  • 分子フィンガープリントや地理空間座標を対象に類似検索を実行する
  • RAMのコストを抑えながら、非常に大規模なインデックスをディスクから提供する

トピック

よくある質問

USearch とは?
Python、JavaScript、Rust、Java、Go、Swiftなどのバインディングを備えた、近似最近傍ベクトル検索とクラスタリング用の単一ファイルC++ライブラリ。 USearchは、HNSWグラフアルゴリズムを基盤とする類似検索・クラスタリングエンジンです。ベクトルをインデックス化し、ユーザー定義の距離メトリクスに対応しているため、セマンティック検索、分子フィンガープリントの照合、Haversine距離を使った地理空間クエリなどに利用できます。コア部分は単一のC++11ヘッダーで構成され、C、Python、JavaScript、Java、Rust、Go、Swift、C#、Objective-C、Wolfram向けのバインディングも提供されています。
USearch は無料で使えますか?ライセンスは?
USearch は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
USearch は今もメンテナンスされていますか?
活発にメンテナンス中。USearch の最終コミットは 2026年10月18日 です。
USearch は何に使えますか?
アプリケーションやサービスに、埋め込みベクトルを使ったセマンティック検索を追加する 複数プラットフォームで、モバイルアプリやクライアント側アプリにベクトルインデックスを組み込む 分子フィンガープリントや地理空間座標を対象に類似検索を実行する RAMのコストを抑えながら、非常に大規模なインデックスをディスクから提供する
USearch はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/unum-cloud/USearch

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

関連プロジェクト