GitHub - unum-cloud/usearch: 用于向量和任意对象的快速开源搜索和聚类引擎 ×,适用于 C++、C、Python、JavaScript、Rust、Java、Objective-C、Swift、C#、GoLang 和 Wolfram

主要观点:USearch 是一款用于向量和文本的相似性搜索及聚类引擎,具有多种特性和优势,包括比 FAISS 更快、代码库简洁、支持多种语言和度量、可自定义度量、内存高效等,在多个领域有应用示例且被众多巨头和数据库信任。
关键信息

  • 比 FAISS 快 10 倍,实现了 HNSW 算法,索引时间更短。
  • 是简单可扩展的单 C++11 头文件库,支持多种语言。
  • 可信任的巨头包括谷歌,数据库有 ClickHouse 和 DuckDB 等。
  • 支持 SIMD 优化、用户定义度量、多种数据类型和序列化方式。
  • 能进行聚类、过滤、多索引查找等操作,性能优于传统聚类方法。
  • 可用于多种应用,如语义搜索、分子搜索、GIS 应用等。
    重要细节
  • 测试在 Intel Sapphire Rapids 上,提供更快的搜索速度和同等的召回率及内存消耗。
  • 代码库短便于维护和审计,支持任意自定义度量用于各种应用。
  • 支持多种序列化方式,可从磁盘服务索引降低成本。
  • 精确搜索和近似搜索各有适用场景,近似搜索在大型数据集上更高效。
  • 可通过 Numba、Cppyy 等在 Python 中定义自定义度量。
  • 能通过传递谓词函数进行过滤,节省资源。
  • 支持硬件加速,根据硬件推荐使用不同精度的数据类型。
  • 对于大规模工作可构建多个小索引进行多索引查找。
  • 聚类速度快于 standalone 聚类库,可进行深度聚类。
  • 可实现近似、模糊和语义连接,用于数据库管理软件。
  • 跨语言支持不同功能,部分功能因语言特性而有所差异。
  • 应用示例包括 multimodal 语义搜索、分子搜索、GIS 应用等。
  • 被众多数据库和框架集成使用,如 ClickHouse、DuckDB 等。
  • 有相关的学术研究和论文,如 Google 的 UniSim 和 RetSim。
  • 在 Zenodo 上有相关软件记录,版本为 2.19.1。
阅读 20
0 条评论