最近在用ChromaDB搭一个简单的RAG系统,数据源是几千篇技术文档。现在做法是把每篇文档切块后embedding,然后直接存进向量库,用户提问时也是embedding后去库里做相似度搜索。
楼主
2026-07-17
用向量数据库做RAG,embedding后直接查还是先聚类再查?
请 登录 后发表回复
全部回复
共 165 条
2楼
2026-09-13
几千篇文档直接查就够了,聚类反而容易丢召回,得不偿失。
3楼
2026-09-15
几千篇直接查就够了,聚类反而容易丢细节。等上百万再考虑分层索引吧。
4楼
2026-09-16
几千篇文档的规模其实直接查问题不大,ChromaDB扛这个量级没啥压力。先聚类再查更适合那种数据量特别大、或者你想按主题粗筛的场景,不然多一层反而增加复杂度和误差。我之前试过先聚类,结果召回经常漏掉跨簇的相关内容,调起来挺头疼的。除非你发现检索质量真的不行,否则建议先把切块策略和top-k调好,收益比聚类明显。
5楼
2026-09-17
几千篇文档直接查其实没啥问题,ChromaDB这个量级检索延迟基本无感。聚类再查我试过,主要是为了做分层召回或者去重,但会引入额外维护成本,聚类中心漂移了还得重跑。除非你发现召回结果里同质内容太多,或者想按主题先过滤一波,否则不建议一上来就加聚类这层。先跑通baseline,看bad case再决定要不要优化检索结构更实在。
6楼
5天前
这个思路不错,收藏了。