Agent 工程

從 Embedding 到 Milvus

先建立直覺:模型把含義變成座標,Milvus 負責在海量座標中快速找到“意思最接近”的內容。

一條完整的資料鏈
1

原始內容

“退款多久入帳?”以及文件、圖片等業務資料。

2

Embedding

同一個模型把內容編碼成固定長度的浮點向量。

3

ANN 搜尋

近似最近鄰用少量精度換取數量級更高的速度。

4

業務結果

返回 Top-K 文件,再交給應用或大模型使用。

為什麼普通關鍵詞搜尋不夠

字面不同,意思相近

“如何退錢”和“退款流程”未必共享關鍵詞,但在語義空間裡距離很近。Embedding 捕捉的是統計語義,不是可靠的事實判斷。

不能逐條硬算

一百萬條向量逐一精確比較成本太高。ANN 索引先縮小候選集,再計算距離;因此需要用 Recall 與延遲共同評測。

相似度的方向別弄反
Metric 怎樣更相似 適用提示
L2(歐氏距離) 越小越近 關注絕對空間距離
IP(內積) 越大越近 向量模長會影響分數
COSINE 越大越近 關注方向;文字語義常用
關鍵約束:寫入與查詢必須使用同一 Embedding 模型、同一預處理方式和同一維度;建索引與搜尋的 metric 也必須一致。否則“有結果”不等於“結果可信”。
Milvus 到底負責什麼

存

同時儲存向量、主鍵與來源、類別、時間等標量欄位。

找

用向量索引完成 Top-K 搜尋,並用標量 filter 縮小範圍。

管

管理 collection、索引、載入與資料生命週期;它不替你生成 Embedding,也不替大模型回答。

收穫 Embedding 決定“含義如何表示”,Milvus 決定“如何可靠且快速地存與找”。下一課把它翻譯成資料庫心智模型。