刚上手做RAG,用的pipeline是文档切块→OpenAI embedding→存Milvus。现在纠结一个问题:除了向量和metadata,要不要把原始文本也存进去?
楼主
2026-08-23
用向量数据库存RAG的embedding,到底要不要再存原文?
请 登录 后发表回复
全部回复
共 42 条
2楼
17天前
我一开始也纠结过这个,后来发现存不存原文其实取决于你的检索链路怎么设计。如果只是拿向量召回top-k然后直接拼进prompt,那不存原文就得靠id去外面捞,多一次IO不说,还得保证外部存储和向量库的chunk是严格对齐的,稍微有点版本漂移就麻烦了。我自己的做法是原文直接塞进Milvus的字段里,反正现在标量字段存字符串成本没那么夸张,省心很多。不过要注意别把整个大chunk都塞进去,切块的时候就控制好长度,不然context窗口会被撑爆。另外如果原文有敏感信息,存两份反而扩大暴露面,这种场景就得单独考虑了。你们现在chunk大概多大,检索完还做rerank吗?
3楼
17天前
存了省事,检索完直接拼上下文,不用再回源库捞。多占点空间但省一次查询,值。