Vectorize
把文字的『語意』存成向量,再找出最相近的結果——這就是 RAG 和語意搜尋背後的記憶層。
Vectorize 是什麼?
Vectorize 是一種向量資料庫:它儲存 embedding(向量,一串能代表文字、圖片或聲音語意的數字),並快速找出和你查詢最相似的那些。電腦就是這樣靠語意、而不是靠完全相同的關鍵字來搜尋。
AI 模型會先把每段文字變成一個向量。語意相近的文字,向量也會靠得很近。Vectorize 把上百萬個向量存起來,給它一個新向量,就能在幾毫秒內回傳最接近的結果。
把它想成一張語意地圖
想像每個句子都是一張大地圖上的圖釘,意思相關的就釘在一起。要回答問題時,你放下一支新圖釘,看看它旁邊有哪些。Vectorize 就是那張地圖,而且能瞬間找出最近的圖釘。
為什麼要用它?
關鍵字搜尋只要換個說法就找不到。Vectorize 懂語意,因此能做出更聰明的搜尋,也能餵給 AI 模型真實、最新的知識。
靠語意搜尋
就算文件寫的是『恢復帳號存取』,也能找到『怎麼重設密碼』。
驅動 RAG
RAG(Retrieval-Augmented Generation,檢索增強生成)把最相關的事實餵給 AI,讓答案有根據、不會亂掰。
全球都快
跑在 Cloudflare 網路上,並原生搭配 Workers,全球查詢都很快。
不用顧伺服器
一個指令就建好索引——不用規劃、修補或顧著叢集。
什麼時候該用它?
用你的文件聊天
用 RAG 做一個能根據你自己的手冊、wiki 或客服文章回答的機器人。
聰明的站內搜尋
讓使用者依『意思』搜尋,就算用字不同也能找到相關結果。
推薦系統
靠找出相近的向量,推薦相似的商品、文章或歌曲。
分類與去重
把相似的項目分組、標出重複內容,或揪出距離很遠的異常值。
怎麼開始用?
建立一個索引
一個索引存放固定大小的向量。維度要對應你的 embedding 模型(這裡是 768),並挑一種距離度量,例如 cosine(餘弦)。
wrangler vectorize create my-index --dimensions=768 --metric=cosine加上繫結
在 wrangler.jsonc 把索引接進 Worker,程式裡就能用 env.VECTORIZE。
{ "name": "my-search-worker", "main": "src/index.js", "compatibility_date": "2025-06-01", "vectorize": [ { "binding": "VECTORIZE", "index_name": "my-index" } ] }寫入並查詢向量
用 insert() 存入向量,再用 query() 傳入新向量取得最相近的結果。實務上這些數字通常由 Workers AI 的 embedding 模型產生。
export default { async fetch(request, env) { // 1) Store a few vectors with metadata await env.VECTORIZE.insert([ { id: "1", values: [0.1, 0.2, 0.3], metadata: { text: "hello" } }, { id: "2", values: [0.9, 0.8, 0.7], metadata: { text: "world" } } ]); // 2) Find the 3 closest matches to a query vector const matches = await env.VECTORIZE.query( [0.1, 0.2, 0.25], { topK: 3, returnMetadata: true } ); return Response.json(matches); } };部署上線
把 Worker 發佈出去,就能從任何地方查詢。
wrangler deploy
重點概念
向量(Embedding)
AI 模型產生的一串數字,用來代表某段文字、圖片或聲音的語意。
維度(Dimensions)
每個向量有多長。必須和你的模型一致——Vectorize 最多支援 1,536 維。
距離度量(Metric)
衡量『接近程度』的規則:cosine(餘弦)、euclidean(歐氏)或 dot-product(內積)。挑你的模型建議的那種。
中介資料篩選
為每個向量附上標籤(例如分類或日期),查詢時可依這些標籤篩選結果。
RAG(檢索增強生成)
先從 Vectorize 取出最相關的片段,再交給 AI 模型寫出有依據的答案。
小提示與限制
搭配 Workers AI 一起用
用 Workers AI 的 embedding 模型把文字變成向量,存進 Vectorize,再讓 LLM 根據比對結果回答。這三者就組成一條完整的 RAG 流程。
- 每個索引最多存 10,000,000 個向量,每個向量最多 1,536 維。
- 一次查詢最多回傳 100 筆結果(同時回傳數值/中介資料時最多 50 筆)。
- 每個向量最多可附帶 10 KiB 的中介資料。
- 免費方案最多 100 個索引;Workers 付費方案則多得多。