《AICon北京2025-刘力-RAG 不止是检索:Milvus 在 Context Engineering 中的湖仓一体实践.pdf》由会员分享,可在线阅读,更多相关《AICon北京2025-刘力-RAG 不止是检索:Milvus 在 Context Engineering 中的湖仓一体实践.pdf(32页珍藏版)》请在三个皮匠报告上搜索。
1、RAG不只是检索:Milvus在Context Engineering中的湖仓一体实践刘力Zilliz/研发总监兼Milvus负责人目录从 RAG 到 Agent:Context Engineering 的演进Context的管理:向量数据湖作为非结构化数据统一底座海量数据治理:多租户架构与冷热分层Context的处理&搜索:构建下一代向量数据湖01从 RAG 到 AgentContext Engineering 的演进从Chatbot(Stateless):单次交互,依赖预训练知识。无法承担可规模化的复杂任务Agent(Stateful):连续决策,依赖动态上下文。核心特征 1-长期记忆(L
2、ong-term Memory):记住跨会话的历史交互。核心特征 2-环境感知(State Awareness):实时感知 API 返回、工具执行结果。范式转变:从无状态 Chatbot 到有状态 AgentContext Engineering 的全景技术栈上下文的搜索丰富的检索方式提高搜索准确性,解决模型回答准确度的问题上下文的处理强大的不同类型数据的处理能力,帮助数据的准备和迭代上下文管理(储存和扩展)稳定、灵活、高性价的数据管理基础,提供稳定的上下文环境向量数据库在 Context Memory 中的角色向量是Context中流转的语义信息向量搜索利用向量在高维空间的距离来表征非结构化
3、数据的相似度向量数据库是一种专为存储和查询高维度向量数据而优化的数据库系统。向量库 vs 向量湖:多模态数据的闭环为什么需要湖?数据规模:海量数据对存储扩展性、成本控制和访问灵活性提出更高要求。数据多样性:多模态数据为基础,多元的分析需求催生出多样的数据结构,并要求 schema 能够灵活演进。数据处理:海量异构数据需要对接多种计算引擎,以支撑丰富的业务场景。02Context的管理向量数据湖作为非结构化数据统一底座Parquet-OLAP时代的利器RowGroup-一切的原罪点查性能:每次获取某列中的一条数据就需要加载整个page甚至RowGroupRowGroup作为压缩粒度,增加点查难度
4、宽窄列:向量数据和其他多模态数据带来大宽列大 RowGroup 导致随机读写效率低小 RowGroup 导致无法利用S3带宽,无法充分压缩,同时会导致footer膨胀糟糕的多模态数据支持不支持外接Binary文件,内置造成无意义开销一切RowGroup带来问题更加严重Format:Parquet 在向量场景下的痛点解决方案动态列划分,窄列合并,宽列分离,RowGroup大小可调整宽窄列分离解耦,解决读写效率和压缩问题针对对象存储的访问优化,配合列分离解决点查问题RowGroup大小可调整,适配云对象储存粒度支持外部储存Blob、Text等大型文件其他FormatLance:去掉RowGroup
5、和压缩以支持点查Vortex:灵活配置,特殊压缩格式支持点查Format:新老格式解决问题Format:各取所长,统一格式拥抱生态兼容多种储存格式不同数据类型适合不同储存格式,不同数据源使用不同格式。兼容丰富生态通过Apache Arrow兼容不同的执行引擎统一远近端数据格式格式最好直接使用远端格式作为近端使用,在非对象储存场景下可通过Posix通信索引是向量数据湖的一等公民索引也是数据相较于传统的数据湖,向量数据湖的不仅服务于查询,还要直接服务于搜索每一种数据类型都提供 SOTA 水平的索引支持:在语义宽表中,复杂的搜索场景要求每一个字段都支持构建高性能索引,保证上下文信息中任意部分都可以高
6、效检索。大规模搜索能力:面向“性能不敏感但成本敏感”的批量搜索场景,单次任务可稳定取出十万至百万级数据并输送至下游垂直处理流程,兼顾吞吐与成本。Schema Evolution:在生产中迭代即时即用:数据湖场景中,一张表的数据在持续的数据挖掘和迭代中需要动态的扩缩。需要支持在线瞬间向现有集合添加新的标量或向量字段或者删除,实现零重建。无缝回填:提供 Iceberg 连接器,利用 Spark 直接从数据湖摄入并回填历史数据到新字段。利用表内现有数据生成新数据回填,比如BM25,Embedding提取权限管理:列级别的权限管理助力企业多团队分工协作03Context的处理&搜索构建下一代向量数据湖