起因
没有理解透RAG中用向量数据库存数据这个直观的。传统后端用数据库存数据的时候能用DataGrip这些工具可视化数据,非常清晰明确,用向量数据库没有这么直观的感受。比如说key-value这种结构存之后是什么样的。
现在的理解
向量数据库最大的特点就是比普通表多一列超长数字数组(向量)。
普通业务表:
user_id -> { name, age, city }
RAG 向量表:
chunk_id -> { text, metadata, embedding }
举例
key = chunk_001
value = {
text: "RAG 会先检索相关知识,再生成回答。",
metadata: {"doc": "rag.md", "page": 1},
embedding: [0.12, -0.48, 0.77, ...]
}
chunk_001
│
├─ 原文:给 LLM 阅读、最终引用
├─ 元数据:过滤用,例如来源、页码、用户权限
└─ 向量:只负责“找得像不像”