40

如何处理RAG系统中的实时数据更新?

RAG检索增强生成中等

📋 面试问题

如何处理RAG系统中的实时数据更新?

✅ 期望回答

挑战:新文档实时进入 -> 需要即时能被检索到;过时文档需要即时下线 方案:
  • 增量索引(增量录入):新文档到达 -> 实时分块 -> 实时Embedding -> 实时插入向量数据库;Milvus/Qdrant支持实时插入和秒级可搜索
  • 版本管理:文档用doc_id+version标识,更新时保留版本历史;检索时过滤只返回最新版本
  • 过期处理:用TTL自动删除过期文档(Milvus TTL、Qdrant Expiration)
  • Webhook触发:文档系统(S3/Notion/Confluence) Webhook -> 消息队列 -> 异步更新索引

工程架构:

文档系统 -> Kafka -> 流处理服务(Flink/Go Worker) -> Chunking -> Embedding -> 向量数据库

一致性权衡:大多数RAG场景可接受秒级~分钟级的最终一致性;如需强一致性用加锁+同步索引更新
#实时更新#增量索引#TTL