Milvus · 共享 RAG 记忆(P0)
为何需要:客户财富(C-02/C-03)与代理人助手(A-02/A-04)共用产品规则、业务制度知识库,属于 跨 Agent 共同数据,适合 Milvus。
为何不存 MySQL:原文档块大、需语义检索;MySQL 只存 doc 版本索引(可选 P1)。
1. P0 Collection 清单(2 个)
| Collection |
共用 Agent |
来源文档 |
场景 |
kb_product_rules |
客户财富、代理人助手 |
基金产品手册、交易规则 |
C-02, C-03, A-02 |
kb_business_ops |
代理人助手(客户只读 subset 可选) |
内部业务制度、办理流程 |
A-04 |
P1 再加:kb_compliance_scripts(A-03 话术规范模板)
2. Collection:kb_product_rules
2.1 字段
| 字段 |
类型 |
说明 |
id |
VARCHAR(64) PK |
{product_id}_{chunk_no} |
embedding |
FLOAT_VECTOR(dim) |
文本向量,dim 与模型一致 |
product_id |
VARCHAR(64) |
产品代码 |
product_name |
VARCHAR(256) |
产品名称 |
doc_type |
VARCHAR(32) |
prospectus fee rule risk |
risk_level |
CHAR(2) |
R1~R5 |
source_doc_id |
VARCHAR(64) |
官方文档 ID,溯源必填 |
source_version |
VARCHAR(32) |
文档版本号 |
effective_date |
DATE |
生效日 |
chunk_text |
VARCHAR(8192) |
原文块(或存对象存储 URI) |
chunk_no |
INT |
块序号 |
2.2 索引
- 向量:
IVF_FLAT 或 HNSW(按数据量选型)
- 标量过滤:
product_id, doc_type, effective_date
2.3 检索约束(合规)
- 回答 必须 返回
source_doc_id + source_version 用于溯源(A-02、C-02)
- 禁止跨
effective_date 过期文档(Agent 层过滤 effective_date <= today)
3. Collection:kb_business_ops
3.1 字段
| 字段 |
类型 |
说明 |
id |
VARCHAR(64) PK |
{process_code}_{chunk_no} |
embedding |
FLOAT_VECTOR(dim) |
|
process_code |
VARCHAR(64) |
如 SUBSCRIBE REDEEM CONVERT AIP |
process_name |
VARCHAR(128) |
定投设置、赎回到账等 |
source_doc_id |
VARCHAR(64) |
内部制度文档 ID |
source_version |
VARCHAR(32) |
|
chunk_text |
VARCHAR(8192) |
|
chunk_no |
INT |
|
3.2 使用边界
- 仅代理人 Agent 默认检索;客户 Agent 不直接暴露内部流程全文(若客户问办理流程,走 C 端简化 FAQ subset,P1 再拆 collection)
4. 写入与更新
| 操作 |
负责方 |
频率 |
| 文档切块 + 向量化 |
平台 / 运营 |
产品制度变更时 |
| 版本切换 |
产品运营 A-09 |
抽检通过后 source_version 切换 |
| Agent 读取 |
客户 / 代理人 RAG Tool |
实时检索 |
不写回 Milvus:会话内容、客户画像、预警 — 这些走 MySQL。
5. 不使用的场景(避免误用 Milvus)
| 数据 |
应放 |
| 客户持仓/流水 |
Core 只读 API |
| 用户画像 L1/L2/L3 |
MySQL |
| 预警单 |
MySQL risk_alert |
| 会话历史 |
MySQL + Redis 窗口 |