Embedding 和 Vector Database 解决什么
Embedding 把语义变成向量,Vector Database 负责相似度检索,但它们不等于事实库。
Embedding 和 Vector Database 经常和 RAG 一起出现。先把边界说清:它们解决的是“怎么按语义找到相关资料”,不是“怎么保证资料是真的”。
Embedding 是什么
Embedding 会把文本、图片、音频或其他对象转成一串数字向量。向量之间的距离,可以粗略表示语义相似度。
比如:
- “报销政策怎么申请”和“差旅费用怎么报”在词面上不同,但语义接近;
- “苹果手机”和“iPhone”可能接近;
- “劳动合同解除”和“离职补偿”可能在法律文档里相关。
有了 embedding,系统就不只能按关键词匹配,还能找到意思相近的内容。
Vector Database 是什么
Vector Database 用来存储、索引和查询这些向量。它的价值是让系统在大量文档片段里快速找相似内容。
在 RAG 里,常见流程是:
- 把文档切成片段;
- 用 embedding model 转成向量;
- 存进向量数据库;
- 用户提问时,把问题也转成向量;
- 检索相似片段;
- 把片段交给大模型生成答案。
它们不负责判断真假
向量库只负责“像不像”,不负责“对不对”。
如果旧政策和新政策都在库里,向量库可能两个都找出来;如果错误文档写得很像正确答案,它也可能排在前面;如果用户没有权限看某份资料,向量库本身也不会替你处理业务权限。
所以一个可靠系统还需要:
- 文档版本管理;
- 数据清洗和去重;
- 权限过滤;
- 重排序;
- 引用回链;
- 答案校验。
什么时候用关键词,什么时候用向量
| 检索方式 | 适合什么 |
|---|---|
| 关键词检索 | 精确词、编号、法规条款、产品型号 |
| 向量检索 | 问法多变、语义相近、用户不知道准确术语 |
| 混合检索 | 企业知识库、客服、合同、政策问答 |
现实系统常常混合使用。只用向量,可能漏掉精确编号;只用关键词,可能漏掉换一种说法的相关内容。
你该记住什么
Embedding 让机器能比较语义相似度。Vector Database 让这种比较能在大量资料里快速发生。但事实可靠性、权限、版本和引用,仍然要靠 RAG 系统的其他部分来保证。