JVector 是一个纯 Java、零依赖、嵌入式矢量搜索引擎。
- 算法快。JVector 使用受 DiskANN 和相关研究启发的最先进的图形算法,可提供高召回率和低延迟。
- 实施速度快。JVector 使用 Panama SIMD API 来加速索引构建和查询。
- 内存高效。JVector 使用乘积量化来压缩向量,以便它们可以在搜索期间保留在内存中。(作为 PQ 实现的一部分,SIMD 加速 kmeans 类比 Apache Commons Math 中的类快 5 倍。)
- 磁盘感知。JVector 的磁盘布局旨在在查询时执行最少的必要 iops。
- 并发。索引构建线性扩展至至少 32 个线程。线程加倍,构建时间减半。
- 增量。在构建索引时查询索引。添加向量和在搜索结果中找到它之间没有延迟。
- 易于嵌入。API 专为在生产中使用它的人们轻松嵌入而设计。
JVector 与 Lucene 搜索 Deep100M 数据集(约 35GB 向量和 25GB 索引):
JVector 将更新线性扩展至至少 32 个线程:
评论