Vectorize
是什么
Vectorize 是 Cloudflare 的向量数据库。你存储 embedding(嵌入向量)——一组捕捉文本、图像或其他数据语义的数字——并查询与给定向量最相似的那些。它是语义搜索和检索增强生成(RAG)中的检索环节,可与 Workers AI 一起直接绑定到 Worker 中,而 Workers AI 可以生成这些 embedding。
优势
- 专为基于 embedding 的相似度搜索而打造,支持快速的最近邻查询。
- 直接绑定到 Workers;无需单独运行向量服务。
- 与 Workers AI 干净地配合,可在 Cloudflare 上搭建端到端的 RAG 流水线。
- 支持元数据过滤,便于限定结果范围。
- 无服务器且全球可用,随你的应用一同扩展。
取舍
- 它存储向量和元数据,而非你的源文档——后者应保存在 D1 或 R2 中。
- 在插入之前,你必须自己生成 embedding(例如通过 Workers AI)。
- 索引维度和距离度量在创建时固定——请谨慎选择。
- 它是专用存储,不是通用数据库。
何时使用
将 Vectorize 用于语义搜索、推荐、去重以及 RAG 的检索步骤——任何"找出与此最相似的内容"胜过精确关键词匹配的场景。
与 vibe coding 的契合度
Vectorize 让 agent 无需离开 Cloudflare 就能构建完整的 RAG 功能:Workers AI 生成 embedding,Vectorize 存储并搜索它们,D1 或 R2 保存原始内容。请提前告诉 agent 使用的 embedding 模型,因为索引维度必须与该模型的输出相匹配。下面的示例创建一个索引并绑定它。
# wrangler.toml
[[vectorize]]
binding = "VECTORIZE"
index_name = "docs-index"
# 维度必须与你的 embedding 模型输出相匹配
npx wrangler vectorize create docs-index --dimensions=768 --metric=cosine