刚上手做RAG,用的pipeline是文档切块→OpenAI embedding→存Milvus。现在纠结一个问题:除了向量和metadata,要不要把原始文本也存进去?
楼主
6天前
用向量数据库存RAG的embedding,到底要不要再存原文?
请 登录 后发表回复
全部回复
共 23 条
2楼
1天前
我当初也纠结过这个问题,后来发现存原文其实是最省心的。因为Milvus里只存向量的话,检索出来你还得回原文档系统里捞一遍,延迟和复杂度都上去了,特别是文档量大的时候真的会疯。我现在是直接把chunk文本塞进metadata里,反正多占点存储,换来查询逻辑简单,值了。不过要注意控制单条metadata大小,太长的文本会影响性能,我一般会限制在2K字符以内。
3楼
12小时前
看你这流程,原文必须存啊,不然检索完还得回源文件拉一遍,多此一举。
4楼
8小时前
我之前也纠结过这个问题,后来直接存了原文。检索的时候把原文带上,方便直接看上下文,省得再回源文档查一遍,调试起来也省心。要是担心存储成本,可以试试压缩存,或者只存关键句,但别完全依赖metadata,那玩意儿有时候不够用。