Agent 工程

Milvus 心智模型

把新術語對映到熟悉的“表、列、行”,再補上向量索引與記憶體載入兩個關鍵概念。

核心物件
Milvus 可類比為 職責
Collection 表 一組具有同一 Schema 的 Entity
Schema / Field 表結構 / 列 約束主鍵、向量維數與標量型別
Entity 行 一條業務物件;主鍵必須能穩定定位
Index 索引 加速向量近鄰搜尋
一條知識庫 Entity
{
  "id": 42,                 # 主鍵:用於更新、刪除、追蹤
  "vector": [0.12, ...],   # 向量欄位:用於 Search
  "text": "退款通常 3 天入帳",
  "category": "refund", # 標量欄位:用於 Filter / Query
  "active": true
}
Search、Query、Load 各做什麼

Search

輸入查詢向量,按距離返回 Top-K;可附加 filter='active == true'。答案是“語義上誰最像”。

Query

不傳向量,按主鍵或標量表示式取資料。答案是“哪些記錄滿足條件”。

Load

搜尋前把 collection 的索引與資料準備到查詢節點。建立成功不代表已經可搜,資源不足時也要規劃釋放。

索引選型不是“越高階越好”
Index 優勢 代價 / 場景
FLAT 精確、無需訓練 全量比較;小資料集或 Recall 基線
IVF_FLAT 透過聚類縮小候選 需調 nlist / nprobe;資料量較大、成本可控
HNSW 高 Recall、低延遲 佔更多記憶體且建索引較慢;線上檢索常用
生命週期:定義 Schema → 建立 Collection → 寫 Entity → 建 Index → Load → Search / Query。主鍵是業務追蹤錨點,向量欄位負責相似度,標量欄位負責權限、租戶、時間和狀態過濾。
收穫 Search 是“按含義找”,Query 是“按條件取”;Index 解決速度,Load 決定是否進入可查詢狀態。