向量库要不要单独上:先看数据量和检索需求

不是每个 RAG 项目都需要专门的向量数据库。本文给出判断依据、混合检索为什么常常比纯向量更好,以及嵌入模型更换带来的重建成本。

要点速览
  • 几千到几万块的规模,关系库的向量扩展通常够用,不必单独上向量库。
  • 估算要按三年后的量算,并计入换切块策略或嵌入模型时的整库重建。
  • 纯向量检索对型号、编号这类精确匹配不敏感,应与关键词检索混合。
  • 权限过滤必须在检索阶段完成,检索后再筛会导致召回数量不稳定。
  • 换嵌入模型需要整库重建,因此它的选择应比向量库本身更慎重。

搭建企业知识库时,很多方案默认要引入一套专门的向量数据库。对数据量大、检索要求高的项目这是对的,但对多数企业的内部文档规模来说,它可能只是多了一套需要运维的组件。

先估算规模

把文档总字数除以单块长度,得到块数。几千到几万块的量级,关系数据库的向量扩展通常完全够用,而且省掉了一套独立服务的部署、备份与监控。到了百万块以上,专用向量库在检索延迟和内存管理上的优势才明显体现出来。

估算时要按三年后的规模算,并且把「文档会被重复处理」考虑进去 —— 换一次切块策略或嵌入模型,整个库都要重建。

纯向量检索的盲区

向量检索擅长找意思相近的内容,但对精确匹配不敏感:产品型号、文件编号、人名、专有缩写,这些恰恰是企业场景里经常被问到的。用户问「XR-200 的接口定义」,向量检索可能返回一堆关于接口定义的通用内容,而漏掉那个具体型号的章节。

实用的做法是混合检索:关键词检索与向量检索各出一批结果,再合并排序。实现上并不复杂,但对带型号、编号的查询改善明显。很多「检索不准」的抱怨,根源就是只做了向量这一路。

元数据过滤比想象中重要

  • 按部门、按文档类型、按生效日期过滤,能大幅缩小检索范围并提高准确率;
  • 权限过滤必须在检索阶段完成,而不是检索出来再筛掉 —— 后者会导致召回数量不稳定,用户权限不同时结果质量差异很大;
  • 选型时要确认目标存储是否支持带过滤条件的向量检索,部分实现的过滤是检索后再做,效果完全不同。

换嵌入模型的代价

不同嵌入模型产生的向量不能混用,换模型意味着全部重新生成。文档量大时这是一次有成本的批处理,而且期间检索质量会不一致。因此嵌入模型的选择应当比向量库本身更慎重,确定之后尽量不动。

如果确实需要更换,可行的做法是新旧两套并行一段时间,用同一份评测集对比后再切换。相关实施安排见企业知识库解决方案与平台与系统开发。

常见问题

企业知识库一定要用向量数据库吗?

不一定。按文档总量估算块数,几千到几万块时关系数据库的向量扩展通常够用,还能省掉一套独立服务的部署与运维。达到百万块以上时,专用向量库在检索延迟与内存管理上的优势才明显。

为什么检索不到带型号的内容?

向量检索擅长语义相近而非精确匹配,型号、编号、专有缩写容易被忽略。解决办法是混合检索:关键词与向量各出一批候选再合并排序。许多检索不准的问题根源都是只做了向量这一路。

更换嵌入模型要注意什么?

不同嵌入模型的向量不能混用,更换意味着整库重新生成,期间检索质量会不一致。建议新旧两套并行一段时间,用同一份评测集对比后再切换,并在选型阶段就尽量确定,避免频繁更换。

参考资料

  1. Embeddings · OpenAI Platform Docs
  2. 大模型服务平台百炼文档 · 阿里云
# 向量数据库# RAG# 检索# 技术选型
免费咨询

聊聊你的项目

留下联系方式,我们一个工作日内联系你。先沟通需求和现状,再给方案;报价当面沟通。

  • 一个工作日内回复
  • 需求沟通免费,不强推方案
  • 交付管理后台与文档,可自行维护
仅用于本次咨询联系,不会用于其他用途。