Vectorize
是什麼
想像給每一張照片、每一句話、每一首歌都配上一組座標,讓相似的東西在地圖上彼此靠近——這樣"幫我找更多類似的"就只是"找出最近的點"。Vectorize 正是為此而生的儲存,是 Cloudflare 的向量資料庫。你儲存 embedding(嵌入向量)——一組捕捉文本、影像或其他資料語義的數字——並查詢與給定向量最相似的那些。它是語義搜尋和 RAG(Retrieval-Augmented Generation,檢索增強生成——把相關事實餵給 AI、讓它據此引用)中的檢索(查詢)環節,可與 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