首批通过分布式安全可靠测评,为关键业务系统打造
向量能力搭建资损代码识别与数仓 AI 答疑系统
- 混合检索一套数据库
- 一体化架构简化运维
- 极致高可用稳定可靠
OceanBase 向量检索在货拉拉的探索和实践
陈铨-货拉拉大数据技术与产品部高级大数据工程师
陈铨货拉拉大数据技术与产品部高级大数据工程师
章啸货拉拉大数据技术与产品部大数据专家
蔡鹏货拉拉数据库负责人
陈铨货拉拉大数据技术与产品部高级大数据工程师
2024-10-08
一、业务背景
货拉拉基于自身在物流领域 AI 落地的深厚积累,已在 14+ 个业务或部门、50+ 个真实业务场景探索和落地大模型应用。在引入大模型的过程中,面临着在垂直领域知识缺乏、时效性不足以及数据安全隐患等挑战。
为应对这些问题,采用了业界较为通用的解决方案——检索增强生成技术(Retrieval-Augmented Generation,RAG),通过整合领域专有知识、私有数据以及实时数据,显著降低了答案生成的不确定性,增强了数据安全性,从而有效解决了大模型的固有问题,提升了回答的准确性和实用性。
部署 RAG 的过程中,货拉拉需要引入向量数据库,用于提供多模数据处理、语义检索等方面的支持。由于原有架构在混合检索、运维等方面存在诸多局限,货拉拉需要引入一款向量数据库支撑其 AI 场景。
二、业务挑战
货拉拉原有架构包含基础设施层(CPU 和 GPU 两种机型)、存储层(向量数据库、ES 等)、检索层(以图索引为主,多种检索类型)、接入层与入口层。并且在国内外共有 5 个集群,单集群内存配置在 380 +GB,单表数据量最大为 2000 万。
- 字段变更频繁,索引重建耗时高、风险大
- 随着业务快速发展,数据表结构频繁调整,字段增删操作成为常态。当前采用新建表、导入数据并重建索引的方式,流程繁琐、效率低。对于数据量较大的表,索引重建可能耗时十几个小时,期间对 CPU 和内存资源消耗极大,容易引发线上业务抖动,影响系统稳定性。
- 架构复杂,混合检索难度大
- 在实际业务中,向量检索擅长处理语义相似性查询和多模态数据理解,而全文检索则在精确匹配、短文本及低频词汇查询方面表现更佳。仅依赖单一检索方式难以满足企业对检索精度和召回率的高要求。引入全文检索专用引擎会增加系统架构复杂度和维护成本。同时,用户需在应用层实现复杂的重排序(Reranking)逻辑,进一步提升了使用门槛。因此,业务迫切需要具备向量与全文混合检索能力的一站式解决方案,以简化架构、提升检索效果并降低使用成本。
- 运维难度大
- 现有向量数据库稳定性不足,缺乏专家支持和完善的监控指标,问题排查困难;扩展性有限,节点扩容和数据迁移依赖人工,分片管理复杂;权限认证机制薄弱,存在数据泄露风险,需额外开发安全策略;生态发展滞后,难以支撑业务长期发展需求。
三、解决方案
货拉拉引入 OceanBase 数据库,基于其向量能力,完成资损代码识别、数仓 AI 答疑助手等场景的落地:
资损代码智能识别:
由于研发质量问题或代码中的潜在漏洞,可能导致公司面临严重的财务损失。过去主要依靠人工审核来识别资损代码,效率低下且难以全面覆盖线上服务,导致资损风险无法完全规避。为解决这一问题,货拉拉结合大模型能力与 OceanBase 向量检索,开发了自动化代码风险识别系统。该系统通过向量化历史案例数据并检索相似代码,利用大模型进行分析和判断资损风险,从而提高代码审查的效率和准确性,控制开发过程中的风险。
具体流程如下:首先,基于历史真实发生的资损代码场景和案例数据,通过大模型进行分类打标处理,得到数据集并经人工二次确认后,将数据灌入向量数据库。在开发者提交代码构建时,触发代码检测流程,将用户提交的代码与向量数据库中保存的资损代码进行向量相似度检索,将检索结果及相关数据提供给大模型进行资损风险判断。若判断代码存在风险,则熔断代码构建流程,防止其发布到线上平台。
数仓 AI 答疑助手:
货拉拉的大数据数仓体量庞大,拥有几十万张 Hive 表,每天都有大量用户需要查询数据。然而,用户通常缺乏足够的业务背景知识,难以快速找到所需数据,只能通过数仓开发人员的帮助,这为数仓开发带来了巨大的工作负担。为了解决这一问题,货拉拉将 OceanBase 向量检索能力应用于数仓 AI 答疑助手,降低用户找数门槛,减轻隐性的沟通负担,显著提高了数仓数据查询效率,降低了人力成本,提升了用户体验。
具体流程如下:首先,将库表的 Schema 信息、聊天答疑记录以及内部维护的文档进行处理,例如将库表信息处理成字段映射关系、将聊天答疑记录转化为 QA 对形式等。然后,通过 Embedding 模型将这些数据转化为向量并存储到 OceanBase 向量数据库中。当用户提问时,系统首先进行意图识别,判断用户是找数场景、问口径场景还是普通知识答疑场景。接着,对用户的问题进行理解,将其复杂问题拆分成多个子问题,并进行实体识别,必要时采用多轮对话方式确定用户意图。之后进行知识召回,由于该场景对查询精度要求高,因此采用了多种检索方案,如向量检索、标量检索以及全文关键字检索。将召回的知识数据提供给重排序模型进行重排,将最相关答案提供给大模型进行总结生成,最终为用户提供准确的数据查询结果。
四、客户收益
- 智能化场景落地,提升业务效率
- 货拉拉基于 OceanBase 提供的向量存储、索引与检索能力,结合其高性能表现,成功落地资损代码智能识别、数仓 AI 答疑助手等多个智能化场景。通过 OceanBase 统一的数据底座,货拉拉在降低系统成本的同时,显著提升了业务效率与用户体验。
- 一套数据库实现混合检索
- OceanBase 支持向量索引、空间索引、全文索引等多种索引类型,具备强大的多模混合检索能力。企业无需依赖多个专用引擎,即可通过一套数据库满足多样化的数据存储与检索需求,简化架构设计,提升开发效率。
- 一体化架构,简化运维
- OceanBase 采用一体化架构,原生支持向量能力,无需额外部署专用向量数据库即可实现 AI 场景落地。系统复杂度大幅降低,运维工作量显著减少,帮助企业实现降本增效。
- 稳定可靠,全面的技术支持
- OceanBase 具备企业级高可用、高并发、高扩展能力,已在金融、电商、物流等多个行业大规模验证。同时,OceanBase 提供专业的技术支持团队和完善的生态工具链,助力企业快速构建稳定、可靠的智能应用平台。