基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
陈铨-货拉拉大数据技术与产品部高级大数据工程师
陈铨货拉拉大数据技术与产品部高级大数据工程师
章啸货拉拉大数据技术与产品部大数据专家
蔡鹏货拉拉数据库负责人
陈铨货拉拉大数据技术与产品部高级大数据工程师
2024-10-08
货拉拉基于自身在物流领域 AI 落地的深厚积累,已在 14+ 个业务或部门、50+ 个真实业务场景探索和落地大模型应用。在引入大模型的过程中,面临着在垂直领域知识缺乏、时效性不足以及数据安全隐患等挑战。
为应对这些问题,采用了业界较为通用的解决方案——检索增强生成技术(Retrieval-Augmented Generation,RAG),通过整合领域专有知识、私有数据以及实时数据,显著降低了答案生成的不确定性,增强了数据安全性,从而有效解决了大模型的固有问题,提升了回答的准确性和实用性。
部署 RAG 的过程中,货拉拉需要引入向量数据库,用于提供多模数据处理、语义检索等方面的支持。由于原有架构在混合检索、运维等方面存在诸多局限,货拉拉需要引入一款向量数据库支撑其 AI 场景。
货拉拉原有架构包含基础设施层(CPU 和 GPU 两种机型)、存储层(向量数据库、ES 等)、检索层(以图索引为主,多种检索类型)、接入层与入口层。并且在国内外共有 5 个集群,单集群内存配置在 380 +GB,单表数据量最大为 2000 万。
货拉拉引入 OceanBase 数据库,基于其向量能力,完成资损代码识别、数仓 AI 答疑助手等场景的落地:
资损代码智能识别:
由于研发质量问题或代码中的潜在漏洞,可能导致公司面临严重的财务损失。过去主要依靠人工审核来识别资损代码,效率低下且难以全面覆盖线上服务,导致资损风险无法完全规避。为解决这一问题,货拉拉结合大模型能力与 OceanBase 向量检索,开发了自动化代码风险识别系统。该系统通过向量化历史案例数据并检索相似代码,利用大模型进行分析和判断资损风险,从而提高代码审查的效率和准确性,控制开发过程中的风险。
具体流程如下:首先,基于历史真实发生的资损代码场景和案例数据,通过大模型进行分类打标处理,得到数据集并经人工二次确认后,将数据灌入向量数据库。在开发者提交代码构建时,触发代码检测流程,将用户提交的代码与向量数据库中保存的资损代码进行向量相似度检索,将检索结果及相关数据提供给大模型进行资损风险判断。若判断代码存在风险,则熔断代码构建流程,防止其发布到线上平台。
数仓 AI 答疑助手:
货拉拉的大数据数仓体量庞大,拥有几十万张 Hive 表,每天都有大量用户需要查询数据。然而,用户通常缺乏足够的业务背景知识,难以快速找到所需数据,只能通过数仓开发人员的帮助,这为数仓开发带来了巨大的工作负担。为了解决这一问题,货拉拉将 OceanBase 向量检索能力应用于数仓 AI 答疑助手,降低用户找数门槛,减轻隐性的沟通负担,显著提高了数仓数据查询效率,降低了人力成本,提升了用户体验。
具体流程如下:首先,将库表的 Schema 信息、聊天答疑记录以及内部维护的文档进行处理,例如将库表信息处理成字段映射关系、将聊天答疑记录转化为 QA 对形式等。然后,通过 Embedding 模型将这些数据转化为向量并存储到 OceanBase 向量数据库中。当用户提问时,系统首先进行意图识别,判断用户是找数场景、问口径场景还是普通知识答疑场景。接着,对用户的问题进行理解,将其复杂问题拆分成多个子问题,并进行实体识别,必要时采用多轮对话方式确定用户意图。之后进行知识召回,由于该场景对查询精度要求高,因此采用了多种检索方案,如向量检索、标量检索以及全文关键字检索。将召回的知识数据提供给重排序模型进行重排,将最相关答案提供给大模型进行总结生成,最终为用户提供准确的数据查询结果。