Redis做Vector Store有TTL自动回收过期key,可是它犯了傲慢之罪:无论你给Document指定什么ID,它都会按照HASH来生成key。
手搓Parent Retriever的时候被这个坑麻了⋯⋯那么很简单的选择题,逐个parent添加、等待它返回ID、给children们塞parent id之后塞Child Vector Store,5个搜索结果切100片要花1分30秒才塞完,或者说⋯⋯
或者说,用Chroma,它无条件尊重你给的ID,所以可以直接先生成ID,并且给每个parent塞好会被继承的metadata,然后光速开切、塞vector,同样的内容只需要7秒。
选哪个不用多说了吧。清理过期文件也就一个where的事,官网都有可以照抄的示例。
只能说Redis不适合。#RAG #Redis #Langchain