Skip to content
返回云服务

Cloudflare Vectorize 向量数据库

用于语义搜索和 RAG 的边缘向量数据库 — 查询百万向量带元数据过滤。

Cloudflare高级

为什么

Vectorize 在边缘存储嵌入,亚 50ms 语义搜索 — 无 Pinecone/Weaviate 服务器,可扩展百万向量,与 Workers AI 嵌入集成。按查询付费,免费 1000 万查询。

Cloudflare 网络覆盖 125+ 国家的 330+ 城市,服务 20% 的互联网流量。Workers 冷启动为 0ms(基于 isolate),免费套餐覆盖每天 10 万请求。

何时使用

用于语义搜索、RAG(检索增强生成)、推荐和去重。避免精确匹配查找(用 KV)或全文搜索(用 D1 FTS)。

如何做

1. 创建索引 — wrangler vectorize create my-index --dimensions 768 --metric cosine 2. 绑定 — [[vectorize]] binding="VECTOR" index_name="my-index" 3. 插入 — env.VECTOR.upsert([{ id, values, metadata }]) 4. 查询 — env.VECTOR.query(topK, vector, { filter: { metadata } }) 5. 嵌入 — 用 Workers AI 从文本生成向量 6. 元数据过滤 — { "source": "docs" } 过滤结果 7. 重建索引 — wrangler vectorize create v2 新维度,迁移

示例

// 语义搜索:嵌入查询,搜 Vectorize,返回文档 export default { async fetch(request: Request, env: Env): Promise<Response> { const { query } = await request.json(); // 1. 嵌入查询 const { data } = await env.AI.run("@cf/baai/bge-base-en-v1.5", { text: [query] }); // 2. 带元数据过滤搜向量索引 const { matches } = await env.VECTOR.query(data[0], { topK: 5, filter: { source: "knowledge-base" }, }); // 3. 按 ID 从 D1 取完整文档 const ids = matches.map(m => m.id); const { results } = await env.DB.prepare("SELECT * FROM docs WHERE id IN (?)").bind(ids.join(",")).all(); return Response.json(results); }, };

常见问题

  • ⚠维度不匹配 — 索引创建 768 维,嵌入须精确匹配
  • ⚠重建索引手动 — 改模型/维度需新索引 + 重新插入所有向量
  • ⚠元数据过滤有限 — 仅相等,无范围查询,需在 D1 预过滤

最佳实践

  • ✓完整文档存 D1/R2,仅向量存 Vectorize — 索引小且快
  • ✓用一致嵌入模型 — 切换模型需全量重建索引
  • ✓批量 upsert — 每次 100 向量而非 1,减少 API 调用 100 倍

常见问题解答

什么是Cloudflare Vectorize 向量数据库?它解决什么问题?

用于语义搜索和 RAG 的边缘向量数据库 — 查询百万向量带元数据过滤。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手Cloudflare Vectorize 向量数据库?

两步即可跑通:① 创建索引 — wrangler vectorize create my-index --dimensions 768 --metric cosine;② 绑定 — [[vectorize]] binding="VECTOR" index_name="my-index"。建议先用免费套餐验证流程,再接入生产环境。

Cloudflare Vectorize 向量数据库 最容易踩的坑是什么?

最高频的问题是:维度不匹配 — 索引创建 768 维,嵌入须精确匹配。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

Cloudflare Vectorize 向量数据库 的最佳实践有哪些?

Cloudflare Vectorize 向量数据库 的最佳实践包括:完整文档存 D1/R2,仅向量存 Vectorize — 索引小且快;用一致嵌入模型 — 切换模型需全量重建索引;批量 upsert — 每次 100 向量而非 1,减少 API 调用 100 倍。其中首条「完整文档存 D1/R2,仅向量存 Vectorize — 索引小且快」应作为团队默认规范写入 IaC 模板。

Cloudflare Vectorize 向量数据库 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Cloudflare Vectorize 向量数据库 多数提供免费套餐,先在免费额度内验证再放量。