用途:在 Cloudflare Workers 上使用 Vectorize V2(2024 年 9 月 GA)构建语义搜索、RAG 与 AI 应用,提供索引管理、向量增删改查、元数据过滤与嵌入集成。
主要能力:索引创建与配置;向量 insert/upsert/query/delete/list;元数据过滤(每索引最多 10 个元数据索引);余弦、欧氏、点积相似度;RAG 检索流程;Workers AI(@cf/baai/bge-base-en-v1.5)与 OpenAI text-embedding-3-small/large 嵌入;文档分块与批量导入。附带 basic-search.ts、rag-chat.ts、document-ingestion.ts、metadata-filtering.ts 模板。
V2 变更:容量 20 万→500 万向量/索引;查询延迟 549ms→31ms;topK 上限 20→100;账户索引数 100→5 万;命名空间 100→5 万。所有变更操作改为异步,返回 mutationId;returnMetadata 由布尔改为 'all'|'indexed'|'none';元数据索引必须在插入向量前创建,否则该属性不可过滤,需重新 upsert。V1 索引 2024 年 12 月后不可新建,旧索引仍可用,V1 操作需 --deprecated-v1。
必要用法:需 wrangler@3.71.0+(推荐 4.43.0+)。先建索引并固定维度与度量:npx wrangler vectorize create my-index --dimensions=768 --metric=cosine;随后立即建元数据索引:npx wrangler vectorize create-metadata-index my-index --property-name=category --type=string。维度须匹配嵌入模型(bge-base 768、OpenAI small 1536、large 3072)。在 wrangler.jsonc 配置 vectorize 与 ai 绑定。
限制:维度与度量创建后不可更改;每向量元数据上限 10 KiB;过滤条件上限 2048 字节;字符串索引仅前 64 字节;元数据键不可为空、不可含点号或引号、不可以 $ 开头;高基数范围查询性能差;异步写入需数秒生效,可用 describe() 查看 processedUpToMutation。
适用场景:语义搜索、RAG 问答、文档检索与 AI 应用后端。官方文档见 https://developers.cloudflare.com/vectorize/。