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 决定是否进入可查询状态。