在 AIGC 革命大爆发的日子,一个特别的挑战是大规模存储和查询非结构化数据(比如图像、视频、文本)的能力。
为了快速搜索和理解非结构化数据,现在的普遍解法是使用向量数据库(vector database)。在向量数据库中,向量是一等公民,所有的功能都是围绕着它建立的。
向量数据库可以让开发者以向量嵌入的形式处理非结构化数据(两个向量之间的距离代表了它们的关联性),这对于使用和扩展大型语言模型(LLM)尤为重要,比如 OpenAI 的 Retrieval 插件就依靠向量数据库帮助用户从他们的数据源获得相关文件片段。
这个领域很新,连 OpenAI 自己都搞不太清楚,Milvus 和 Zilliz 是同一家🤣。
几乎所有由 LLM 驱动的 AI 产品或技术都使用了向量数据库,随着 ChatGPT 和 AI 的流行,VC 也都涌向了这条赛道 。我们收集了一些近期向量数据库融资的消息:
-
Pinecone: 4.27 宣布 $100M B 轮
-
Weaviate: 4.23 宣布 $50M B 轮
-
Qdrant: 4.20 宣布 $7.5M 种子轮
-
Chroma: 4.6 宣布 $18M 种子轮
-
Zilliz: (去年) 8.20 宣布 $103M B 轮
已经挤起来了,不过每家都有不同的功能、性能和价格,我们来了解一下。
Pinecone
Pinecone 是个全托管的 SaaS 向量数据库厂商(支持 GCP & AWS),团队分布在纽约,三藩和特拉维夫。2021 年 1 月公开了 Beta 版和 $10M 种子轮融资;同年 9 月,发布了 Pinecone 2.0,也宣布了他们全新基于使用的定价方案,其中包括免费版、标准版和企业版。
2022 年间他们
用 Rust 重写了一遍(过去是 C/C++ 和 Python 写的),虽然过程无比艰辛,但是结局很美好:产品性能和开发速度都得以提高。
用 Rust 重写了一遍(过去是 C/C++ 和 Python 写的),虽然过程无比艰辛,但是结局很美好:产品性能和开发速度都得以提高。
Milvus / Zillliz
Milvus 创建于 2019 年,是一个为可扩展的相似性搜索而建立的开源向量数据库,它基于 Facebook AI Similarity Search (Faiss), Non-Metric Space Library (NMSLIB) 和 Annoy,并额外扩展了它们的功能。
Zilliz Cloud 是基于 Milvus 的 SaaS 服务,有 30 天免费试用和 credit。
Weaviate
Weaviate 总部位于荷兰,一个开源的向量数据库,可以同时存储对象和向量,开发者可以很容易地创建自己的语义系统或向量搜索引擎。
Weaviate 前几天刚宣布了他们的 Cloud Service 进入了公测,大家可以去试用(Sandbox 版有 14 天免费)!
Qdrant
Qdrant 于 2021 年在柏林成立,使用 Rust 编写,是一个为 AI 开发者打造的向量搜索引擎和非结构化数据的数据库。Qdrant 是开源的,用户可以直接下载使用,今年年初起推出了云服务 Qdrant Cloud,已经有超过 1000 个 Qdrant 集群正在提供服务了。
Chroma
Chroma 是一个开源的向量嵌入存储。虽然 2023 年 2 月才正式推出,在过去的一个月已经有
35K 次下载了,它现在只有免费的开源版使用,应该很快会推出托管版本。
35K 次下载了,它现在只有免费的开源版使用,应该很快会推出托管版本。
看了一下 Chroma 种子轮的投资人,除了几大 VC,还有不少 startup 创始人和业内名人的投资,应该是人气最佳选手了。
pgvector
对于现有数据库解决方案,储存向量通常只是一种附加功能,没有经过优化,也缺乏基本的功能。不过,
pgvector 是 PostgreSQL 的插件,允许你在数据库中存储和查询向量嵌入。如果你用 PostgreSQL,或者 pg 生态圈的产品比如 Neon,Supabase,bit.io,可以试试这个插件。
pgvector 是 PostgreSQL 的插件,允许你在数据库中存储和查询向量嵌入。如果你用 PostgreSQL,或者 pg 生态圈的产品比如 Neon,Supabase,bit.io,可以试试这个插件。
-
https://neon.tech/blog/building-an-ai-powered-chatbot-using-vercel-openai-and-postgres
-
https://supabase.com/blog/openai-embeddings-postgres-vector
-
https://innerjoin.bit.io/vector-similarity-search-in-postgres-with-bit-io-and-pgvector-c58ac34f408b
Redis
大多数人用 Redis 应该都只是作为一个缓存来使用,不过它有一个 use case 是
向量数据库,其实就是通过一些扩展模块,比如 RediSearch,Vector Similarity Search (VSS),来实现向量存储和查询(不过只有企业版才能用这些功能)。
向量数据库,其实就是通过一些扩展模块,比如 RediSearch,Vector Similarity Search (VSS),来实现向量存储和查询(不过只有企业版才能用这些功能)。
总结一下
AIGC 的爆发带动了许多附属产品和生态的增长,向量数据库就是其中一员。此情此景,也让人不禁想起当年 Web 2.0 所引发的 NoSQL 革命。谁能成为向量数据库领域的 MongoDB,DynamoDB?而哪些则会像 Couchbase,NuoDB,Riak,RethinkDB 退出历史的舞台?让我们拭目以待吧。
参考
-
https://platform.openai.com/docs/guides/embeddings/
-
https://innerjoin.bit.io/why-you-should-care-about-vector-databases-1760186b5bf1
-
https://analyticsindiamag.com/why-are-investors-flocking-to-vector-databases/