相关项目
annoy
Annoy是一个开源的C++近似最近邻搜索库,支持Python接口。它通过创建只读的文件数据结构和内存映射技术,实现多进程共享索引。支持多种距离度量方式,适合处理中等维度数据。Annoy分离了索引创建和查询过程,可通过静态文件分发索引,在推荐系统等大规模应用中表现出色。其特点是查询速度快、内存占用小、易于分布式部署。
puck
Puck是一个高效的C++近似最近邻(ANN)搜索库,其名称来源于莎士比亚作品中的精灵角色。该项目包含Puck和Tinker两种算法,在多个1B数据集上表现出色。Puck采用两层倒排索引架构和多级量化,可在有限内存下实现高召回率和低延迟,适用于大规模数据集。Tinker则针对较小数据集优化,性能超过Nmslib。该库支持余弦相似度、L2和IP距离计算,并提供Python接口,方便开发者集成使用。
wikipedia-semantic-search
该项目利用Upstash Vector索引数百万篇维基百科文章,构建了支持11种语言的语义搜索引擎和RAG聊天机器人。通过BGE-M3嵌入模型实现多语言支持,结合Upstash Vector实现高效向量存储和查询。项目展示了跨语言语义搜索能力,并借助Upstash RAG Chat SDK实现智能聊天功能,为开发者提供多语言信息检索和交互平台。