参照官方手册结构整理(数据截至 2026-10,配额/价格以官方最新页面为准)。技术术语保留英文原词。
1. 概述
Vectorize 是 Cloudflare 的全球性向量数据库,配合 Workers 构建全栈 AI 应用。它让 embedding(向量)的查询更快、更易、更便宜——用于语义搜索、相似推荐、异常检测,或为 LLM 提供上下文与记忆。
一句话定位:全球分布、按向量维度计费的向量数据库。
现已 GA,Free 与 Paid 计划均含免费额度。
2. 核心概念
- Index(索引):向量集合,可设维度(dimension)。
- Vector(向量):带
id、values(浮点数组)、可选metadata的数据点。 - Embeddings:由 ML 模型(含 Workers AI 或自带 OpenAI 等)生成的向量表示。
- Nearest-neighbor 查询:给定向量找最相近的 topK。查询可返回
metadata,从而从 R2/KV/D1 取回具体对象。 - Metadata 索引:可建最多 10 个 metadata 索引做过滤。
3. 架构与工作原理
向量全球分布,从 Worker 内调用查询。结果可引用 R2 里的图片、KV 里的文档、D1 里的用户资料——从向量检索到具体对象全在平台内完成,无需额外基础设施。
4. 快速开始
wrangler.jsonc 绑定索引:
{ "vectorize": [{ "binding": "VECTORIZE", "index_name": "my-index" }] }
// 写入
await env.VECTORIZE.insert([
{ id: "p1", values: [0.12, -0.34, /* ... */], metadata: { url: "/post/1" } },
]);
// 查询最近邻
const r = await env.VECTORIZE.query(queryVector, { topK: 5, returnMetadata: true });
5. 配额与限制
| 限制项 | Workers Free | Workers Paid |
|---|---|---|
| 每账户索引数 | 100 | 50,000 |
| 每向量最大维度 | 1536(float32) | 1536(float32) |
| 向量 ID 长度 | 64 字节 | 64 字节 |
| 每向量 metadata | 10 KiB | 10 KiB |
| 返回结果 topK(带值/元数据) | 50 | 50 |
| 返回结果 topK(无值/元数据) | 100 | 100 |
| 单次 upsert 批大小 | 1,000(Workers)/ 5,000(HTTP) | 同左 |
| 每索引向量数 | 20,000,000 | 20,000,000 |
| 每索引命名空间数 | 1,000 | 50,000 |
| 单次上传最大体积 | 100 MB | 100 MB |
| metadata 索引数 | 10 | 10 |
6. 定价
| 计费项 | Workers Free | Workers Paid |
|---|---|---|
| 查询向量维度(queried) | 3,000 万 / 月 | 前 5,000 万 / 月包含,超出 $0.01 / 百万 |
| 存储向量维度(stored) | 500 万 | 前 1,000 万包含,超出 $0.05 / 1 亿 |
- 计费基于「向量维度」:查询维度 =(查询向量数 + 存储向量数)× 维度;存储维度 = 存储向量数 × 维度。
- 不按 CPU/内存/索引数/活跃时长计费,也无出网费;不查询就不产生查询维度费。
7. 最佳实践
- 维度选模型对应的长度(如 bge-large 1024、bge-m3 1024);维度越低成本越低。
- 用
metadata存可过滤的业务字段(如文章 URL),查询后直接回源取原文(R2/D1)。 - 大库注意「查询维度」随查询次数 × 向量数增长,控制查询频率或缓存结果。
8. 适用场景与选型
- 语义搜索、推荐、分类、异常检测、LLM 记忆/RAG。
- 需要向量检索 → Vectorize;生成 embedding → Workers AI;存原文对象 → R2/D1。