RAG做增量更新和全量更新?
一般情况下都是做增量更新,增量更新比较麻烦:
数据结构:
更新:每个chunk里包含一个document_id,如果文件更新,则根据document_id删除所有的对应的chunk,然后再添加进去。
删除:根据document_id,进行删除即可。
添加:直接添加即可
一般情况下,我们采用增量更新而不是全量重建。首先通过更新时间或文件 Hash 判断文档是否发生变化;
新增文档直接解析、切分、生成 Embedding 并写入向量数据库;
修改文档时,以 document_id 为单位删除该文档对应的所有 Chunk,再重新切分、生成 Embedding 并写入;
删除文档时,根据 document_id 删除对应的所有 Chunk。整个过程中,每个 Chunk 都保存 document_id、chunk_index 等元数据,方便进行管理。更新完成后,我们还会使用固定测试集结合 RAGAS 做回归评测,确认知识库更新没有导致检索质量下降,再正式投入使用。
下一篇:什么是模型评测?
相关文章
-
RAG(检索增强生成)效果评测体系详解
RAG(检索增强生成)效果评测体系详解
NEW个对象 2026-06-29
-
Agent权限机制的理解
1、基于RBAC + OAuth2 + JWT的认证、权限机制 2、在请求agent之前进行权限校验,使用preauthorize注解 3、将用户的权限信息,存起来,比如:ThreadLocal里获取其它里面 4、在请求tool的时候,进行权限认证。 5、如果是mcp请求,则请求体里带上凭证。
NEW个对象 2026-06-30
-
RAG是什么?它的工作原理是什么?
RAG是什么?它的工作原理是什么?
NEW个对象 2026-06-26