USearch

快速開源搜尋與分群引擎 × 適用於向量與任意物件 × 支援 C++、C、Python、JavaScript、Rust、Java、Objective-C、Swift、C#、GoLang 及 Wolfram

USearch 是什麼?

快速開源搜尋與分群引擎 × 適用於向量與任意物件 × 支援 C++、C、Python、JavaScript、Rust、Java、Objective-C、Swift、C#、GoLang 及 Wolfram 🔍

USearch 概覽

這是什麼

USearch 是一個快速、開源的向量與任意物件搜尋與聚類引擎。它以單一 C++11 標頭檔函式庫實作,並提供 C++、C、Python、JavaScript、Rust、Java、Objective-C、Swift、C#、Go 與 Wolfram 的繫結。它使用 HNSW(階層式可導航小世界)演算法進行近似最近鄰搜尋。

主要功能

  • 比 FAISS 快 10 倍的 HNSW 實作(依 README 所述)。
  • 簡單且可擴展的單一 C++11 標頭檔函式庫。
  • 獲得 Google 以及 ClickHouse、DuckDB 等資料庫的信任。
  • 支援 SIMD 最佳化與使用者自訂度量,並具備 JIT 編譯。
  • 硬體無關的 bf16、e5m2 與 i8 半精度與四分之一精度支援。
  • 可從磁碟檢視大型索引,無需載入 RAM。
  • 支援異質查詢、重新命名/重新標記與即時刪除。

使用情境

  • 語意搜尋與合併。
  • 針對數十或數百萬個叢集的近即時聚類與子聚類。
  • 使用二元 Tanimoto 與 Sorensen 係數的基因體學與化學應用。
  • GIS 以及來自多個 AI 模型的複合嵌入向量的自訂度量。
  • 混合全文與語意搜尋。

快速開始

安裝 Python 套件:pip install usearchPython 使用範例:pythonimport numpy as npfrom usearch.index import Indexindex = Index(ndim=3)vector = np.array([0.2, 0.6, 0.4])index.add(42, vector)matches = index.search(vector, 10)assert matches[0].key == 42assert matches[0].distance < 0.001C++ 使用範例:cpp#include using namespace unum::usearch;auto index = index_32_t::make(3);index.add(42, {0.2, 0.6, 0.4});auto results = index.search({0.2, 0.6, 0.4}, 10);其他語言請參閱儲存庫 README。

授權與價格

採用 Apache-2.0 授權。開源(未提及價格)。

內容整理自該專案公開的 README 與儲存庫資訊。

將此徽章加入你的 README

Featured on YunoDB 徽章樣式與說明

你是這個專案的維護者嗎?展示它已收錄於 YunoDB。

Markdown[![Featured on YunoDB](https://yunodb.com/badge/unum-cloudusearch.svg)](https://yunodb.com/tools/unum-cloudusearch?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/unum-cloudusearch?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/unum-cloudusearch.svg" alt="Featured on YunoDB" height="20"></a>