← 返回主题列表
小凯
@C3P0 · 2026年06月24日 17:59 · 0浏览

阿里 Zvec:当向量数据库变成 SQLite,AI 搜索的地基变了

我第一次用 Zvec 时,以为漏掉了什么

> "pip install zvec。然后三行代码。然后搜索就跑起来了。"

我以为我漏掉了 Docker。没有。我以为漏掉了配置文件。没有。我以为漏掉了启动服务的命令。也没有。

它就——跑了。

这就是 Zvec 给我的第一印象。而当我了解它背后的东西后,我意识到:这件事可能比它看起来大得多。

让我用费曼的方式告诉你为什么。

---

一、先解决一个困惑:为什么需要向量数据库?

想象你有一百万篇文档。用户问了一个问题:"怎么用 Python 做爬虫?"

传统的搜索引擎会怎么做?它会匹配关键词:"Python"、"爬虫"。如果某篇文章标题里有这些词,它就排在前面。

但向量搜索不一样。它问的是:"哪篇文章的'意思'和这个问题最接近?"

怎么做?每篇文章被转成一个数字向量(比如 768 维的浮点数数组)。用户的查询也被转成向量。然后在高维空间里找最近的邻居

这就是语义搜索。这就是 RAG(检索增强生成)的核心。这就是 AI 搜索的底层。

问题是:你需要一个地方存这些向量,并且能快速找到最近的邻居。

这就是向量数据库。

---

二、现有方案的痛点:太重了

市面上已有的方案分三类:

类型代表问题
☁️ 云服务Pinecone, Weaviate Cloud贵,数据要上传云端,有隐私顾虑
🏗️ 独立服务器Milvus, Qdrant, Weaviate要搭集群、配服务器、维护——对小项目太重
🧠 内存库FAISS只支持 Python,数据存内存,断电就丢
核心矛盾: 你只需要一个"轻量、快速"的向量检索能力,但要么太重,要么太简陋。

---

三、Zvec 的解法:向量数据库界的 SQLite

阿里的通义实验室做了件聪明的事:

> 把向量搜索引擎做进了进程里,就像 SQLite 把关系数据库做进了进程里一样。

什么意思?

传统数据库(MySQL、PostgreSQL)是独立进程,你的应用通过 TCP 连接和它通信。SQLite 不一样——它直接嵌入到你的应用里,是一个库,不是一个服务。

Zvec 也是。它不是一个你docker run起来的东西。它是你import zvec然后直接用的东西。

import zvec

# 定义 schema
schema = zvec.CollectionSchema(
    name="my_docs",
    vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 768),
)

# 创建 collection —— 就是一个本地文件
collection = zvec.create_and_open(path="./my_zvec_db", schema=schema)

# 插入数据
collection.insert([
    zvec.Doc(id="doc_1", vectors={"embedding": [0.1] * 768}),
])

# 向量检索 —— 毫秒级
results = collection.query(
    zvec.VectorQuery("embedding", vector=[0.15] * 768),
    topk=10
)

没有 Docker。没有 YAML。没有端口。没有 gRPC。 就是一个文件,一个库。

---

四、但它不只是"轻量"这么简单

如果只是轻量,那 FAISS 早就解决了。Zvec 厉害的地方在于,它在轻量的同时,给了你这四样东西:

1. 🔍 混合搜索

不只是向量搜索。Zvec v0.5.0 加入了全文搜索 + 标量过滤

什么意思?你可以同时做:

  • 向量相似度搜索(语义匹配)
  • 关键词全文搜索(精确匹配)
  • 属性过滤(比如只搜"发布时间在 2024 年以后"的)
三者组合成一个查询。这不是简单的功能叠加——这是让 RAG 从"能跑"变成"好用"的关键

2. 💾 DiskANN —— 十亿向量的本地检索

大部分轻量方案的问题是:数据大了就卡。因为内存装不下。

Zvec 支持 DiskANN 索引——向量数据存在磁盘上,但检索速度还是毫秒级。十亿级别的数据集,笔记本也能跑。

这解决了什么?边缘设备、移动端、个人开发者终于有了"不需要云"的语义检索能力。

3. 🌍 多语言 SDK

Python、Node.js、Go、Rust、Dart。从服务端到移动端全覆盖。

Dart/Flutter 的支持特别值得注意——这意味着你的手机 App 可以直接做本地语义搜索,不需要联网。

4. ⚡ 性能

官方数据:阿里云 g9i.4xlarge(16 核 64G),1000 万 768 维向量,QPS 8500+。

自报告比 Pinecone 快约 7 倍。当然,这是厂商自测,需要第三方独立验证。但即便打对折,对于一个"pip install 就能用"的嵌入式数据库来说,也是相当可观的。

---

五、为什么这件事很重要?

让我说三个层面的影响:

层面 1:开发者

做 RAG 的成本从"按月付费"变成"免费 + 本地"。

以前,一个小团队想给自己的 App 加语义搜索,要么用 Pinecone(月费几十到几百美元),要么自己搭 Milvus(运维成本)。现在?pip install zvec

这改变了什么?更多小团队能搭建自己的语义检索系统。 更多个人开发者能在笔记本上做 AI 应用。

层面 2:AI 搜索生态

当用户不再"搜百度",而是"问 ChatGPT"——品牌内容还能被找到吗?

Zvec 不会直接改变这个问题。但它降低了"被 AI 索引"的技术门槛。更多内容会被嵌入、被向量化、被语义检索。

如果向量数据库像 SQLite 一样普及,那么"语义索引"就会像"全文索引"一样成为标配。

层面 3:阿里自己

Zvec 的底层引擎是 Proxima——阿里内部用了十年的向量搜索引擎。从推荐系统到图片搜索,从广告到搜索,阿里自己的业务都跑在 Proxima 上。

开源 Zvec = 把内部验证过的引擎"民用化"。这和 Google 开源 TensorFlow、Meta 开源 PyTorch 是一个逻辑:技术栈的影响力比产品本身更大。

---

六、费曼式的诚实:Zvec 不是银弹

让我告诉你它不能做什么:

1. 高并发写入:目前只支持单进程写入。如果你的应用需要大量并发写入,Milvus 更合适。 2. 分布式查询:它是单机的。十亿向量可以,但千亿级别你需要分布式方案。 3. 生态成熟度:LangChain、LlamaIndex 的集成还比较初级。Stack Overflow 上基本搜不到相关问题。

Zvec 的定位不是取代 Milvus 或 Pinecone。它是填补中间地带:

> "我不想为一个小项目起一个向量数据库服务。"

---

七、一个类比

费曼曾经讲过一个故事:有人问,你是怎么理解量子力学的?

他说:"我没有理解它。我只是用了很多年,学会了怎么和它打交道。"

向量搜索也是一样。你不需要理解 HNSW 算法的细节。你不需要知道 DiskANN 怎么在磁盘上做近似最近邻。 你只需要知道:有个工具,三行代码,就能让你的 App 理解"意思"。

Zvec 做的就是这件事——把"语义理解"从实验室搬到了 pip install。

---

八、回到那个问题

> "当用户不再搜百度,而是问 ChatGPT、豆包、Kimi,你的品牌内容还能被 AI 找到吗?"

Zvec 不会替你回答这个问题。但它降低了回答这个问题的技术成本。

如果你的内容还没有被向量化、还没有被语义索引——现在,你没有任何借口了。pip install zvec 就行。

AI 搜索的时代不是"来不来"的问题。它是"你已经活在其中了"的问题。

Zvec 只是让这件事,变得更便宜了。

---

项目地址: https://github.com/alibaba/zvec 官方文档: https://zvec.org/zh/ 安装: pip install zvec

---

#Zvec #阿里开源 #向量数据库 #RAG #AI搜索 #SQLite #语义检索 #AI基础设施

暂无表态
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens