向量检索
2020-04-30 本文已影响0人
UniMan
最近的工作开始偏向于底层向量检索算法的开发上面,但是对我而言有壁垒需要突破。
从新造轮子效率太低,一个是C++基本N多年没写过了,出来校园之后就还给老师了。所以打算先从一些开源系统找一下灵感并同步学习C++的开发。
当前用的比较广泛的向量检索lib是facebook的faiss,纯C++实现,所以如果要做一些深层次的工作C++开发绕不开,甚至上层的RPC/Rest服务框架为保证性能也要考虑用C++。
调研了一下,对faiss封装最近有个新开源的解决方案milvus,看了一下代码规范以及整体设计,感觉比较符合我这种入门级选手,并且项目处于前期,还在不断的完善中,在这个过程中学习一下被人的设计和思路也是一件很有趣的事情。
所以暂时计划后面会写一些对已有开源系统的学习系列文章,包括Faiss、Milvus、索引算法、搜索引擎、C++开发等。希望在这个过程中能够厘清各种概念,加深理解,并能够最终为自己造“轮子”做准备。
先列一下大纲
向量检索:Faiss
- Get Started
- 整体设计
- 索引算法
索引服务:Milvus
- Get Started
- 整体设计
- 服务接口