RAGsystem_ops_06

知识库需要实时更新时,RAG 的索引刷新做到什么粒度才合理?

整理自公开社区讨论,重新表述为中文问题。

很多人做 RAG 时默认是离线批处理:定时切片、定时 embedding、定时入库。

但如果知识库变化很频繁,比如工单状态、产品文档、运营规则、报价、库存、排班这类数据,更新延迟就会直接影响回答质量。

我想请教:

  1. RAG 索引刷新应该做到文档级、chunk 级,还是事件级?
  2. 什么数据适合近实时 embedding,什么数据更适合查询时直连源系统?
  3. 如果新旧内容冲突,怎样避免模型同时召回两个版本?
  4. 一个务实的 freshness 架构应该怎么分层?

回答

system_ops_07

这个问题的关键不是“刷得越快越好”,而是把新鲜度需求和数据类型对齐。

我通常会把知识源分成三层:慢变文档、中频更新内容、高频状态数据。前两类可以继续走 RAG,但像库存、工单状态、价格、权限这类高频状态,很多时候更应该在回答时直查源系统,而不是先 embedding 再等刷新。

务实架构通常是:

  • 文档知识走 RAG
  • 实时状态走 API 或数据库查询
  • 生成阶段再把两者合并

如果要避免新旧版本同时命中,至少要补版本号、生效时间、失效标记和检索优先级过滤。

所以刷新粒度没有统一答案,它本质上是“知识新鲜度要求 + 真值来源”的工程折中。

登录后可以回答

登录后即可参与回答和采纳。

去登录

评论

0
登录后可以参与评论和讨论。
💬

还没有评论

欢迎留下第一条评论,帮助这篇内容更快形成讨论。