OceanBase向量检索在货拉拉的探索和实践

货拉拉成立于2013年,成长于粤港澳大湾区,是从事同城跨城货运、企业版物流服务、搬家、零担、跑腿、冷运、汽车租售及车后市场服务的互联网物流商城。截至2024年,货拉拉在全球拥有1670万月活用户和168万月活司机,业务覆盖全球11个市场、400+城市,并在全球设有6个数据中心。

一、大模型应用场景的挑战

货拉拉基于自身在物流领域 AI 落地的深厚积累,已在 14+ 个业务或部门,50+ 个真实业务场景探索和落地大模型应用。在引入大模型的过程中,面临着其在垂直领域知识的缺乏、时效性不足以及数据安全隐患等挑战。为应对这些问题,采用了业界较为通用的解决方案的解决方案——检索增强生成技术(Retrieval-Augmented Generation, RAG),通过引入外部数据,让大模型的回答从原来的“闭卷”变为“开卷”。RAG 通过整合领域专有知识、私有数据以及实时数据,显著降低了答案生成的不确定性,增强了数据安全性,从而有效解决了大模型的固有问题,提升了回答的准确性和实用性。

RAG 的核心在于将强大的语言模型能力与向量数据库的能力相结合,企业在实施 RAG 方案的过程中,通常需要结合一个向量数据库。向量数据库在处理多模数据和语义检索方面具有独特的优势,具体体现在以下几个方面:

存储非结构化数据:向量数据库能够有效存储和管理多模态数据,如音频、视频、图片和文本等。这些数据通常具有规模庞大、信息密度高、处理成本高的特点。

向量化表示:通过神经网络提取数据特征,将其转换为高维空间中的坐标点。向量化表示赋予数据语义表达能力,使其适用于相似性检索。

检索非结构化数据:通过计算向量间的距离(如内积或欧氏距离),识别出最相似的向量。检索过程涉及近邻图的遍历,需要进行大量的浮点运算,以实现高效的相似性匹配。

二、向量数据库选型思考

(一)原有架构与痛点

现有的架构包含基础设施层(CPU 和 GPU 两种机型)、存储层(向量数据库、ES等)、检索层(以图索引为主,多种检索类型)、接入层与入口层。并且在国内外共有 5 个集群,单集群内存配置在 380 +GB,单表数据量最大为2000万。

痛点1:动态 schema

随着业务的快速发展,频繁的字段增删操作成为常态。目前的解决方案是通过新建表、导入现有数据并最终重建索引来实现,这一流程相对繁琐。对于某些数据量较大的表,索引重建的耗时可能长达十几个小时。此外,索引重建过程对 CPU 和内存资源消耗极大,容易引发线上业务抖动。

痛点2:混合检索

向量检索在相似语义检索和多模态数据理解方面具有显著优势,而全文检索则在精准匹配、短文本及低频词汇检索上表现优异。在企业应用中,仅依赖单一检索方式难以满足业务对检索精度的高要求。为了弥补全文检索的缺陷,引入了Elasticsearch来作为全文检索引擎,这也导致了整体架构的复杂性增加,同时提升了系统的维护难度。对于用户而言,需要在应用层实现复杂的reranking逻辑,并且得到的相似度得分难以统一,从而增加了使用成本。因此,业务希望引入一站式混合索引能力。

痛点3:运维难度大

稳定性能力弱:向量数据库本身存在不稳定性,BUG 较多;缺乏专家经验使得问题排查变得困难;监控指标有限,问题定位困难。

扩展性不足:节点的横向扩展能力较差,数据迁移依赖人工;数据分片的管理和运维过程复杂。

权限认证能力弱:现有的权限认证机制不够完善,容易引发数据泄漏和安全问题,需要自行实现权限管理,增加了开发和运维的复杂性。

社区活跃度差:虽然项目仍在维护,但更新频率较低,社区贡献和开发者参与度有限,且社区功能和生态发展缓慢,无法满足业务未来的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86332.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flask(五) 表单处理 request.form、WTForms

文章目录 1. 基本表单处理,使用 request.form(轻量)示例一创建 HTML 表单处理表单数据 示例二HTML 表单(login.html)Flask 路由处理表单 2. 使用 Flask-WTF 扩展安装设置 Secret Key(CSRF 防护)…

c++虚继承复习

深入理解C虚继承:解决菱形继承问题的利器 在C面向对象编程中,多重继承是一个强大但容易误用的特性。今天我们来探讨一个特殊的多重继承形式——虚继承(Virtual Inheritance),它是解决著名的"菱形继承问题"的…

魔乐社区国产算力应用创新大赛重磅开启!

当国产算力崛起成为 AI 发展新引擎,你是否渴望用创新方案解锁无限可能?魔乐社区国产算力应用创新大赛重磅来袭!聚焦国产算力前沿,无论你是开发者、研究者,还是技术爱好者,都能在这里一展身手。 现在报名参…

WebView 性能调试与优化全流程:加载速度与渲染性能双提升

移动端 WebView 页面通常用于承载复杂的前端应用,尤其是动态加载大量数据或进行高频率交互时,性能问题尤为突出。用户常常会遇到页面加载缓慢、滚动卡顿、甚至是部分内容显示不完全的情况。在这种情况下,如何优化数据加载与渲染过程&#xff…

51c嵌入式~CAN~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/14016935 一、CAN总线常见信号干扰问题 定位干扰原因 当总线有干扰时,有经验的工程师能够迅速定位,但是对于新手来说却很麻烦。 造成总线干扰的原因有很多,比如通过电磁辐射耦合到通…

【cursor实战】分析python下并行、串行计算性能

提示语 写一个Python并行计算、串行计算性能对比的代码。并行计算要包括多线程和多进程两种,计算的内容要比较复杂 模型 claude-4-sonnet 生成的代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Python并行计算与串行计算性能对比程序 包含串行…

ubuntu中53端口被占用导致dnsmasq无法使用。已解决。

方案一:修改参数,但不影响使用 编辑配置文件 vim /etc/systemd/resolved.conf将此参数修改为: DNSStubListenerno重启服务 sudo systemctl daemon-reload sudo systemctl disable systemd-resolved.service方案一:直接禁用 编…

【多模态大模型】训练与推理直观解读

1.直观案例解读-图文问答 假设我们的输入是一张包含小猫的图片,以及一个文本提问:“其中是否有小猫?”。下面我将以最详尽的方式,描述数据在nanoVLM模型中从输入到输出的完整流动过程,并解释每一步中数据的形状和含义…

uni-app项目实战笔记17--获取系统信息getSystemInfo状态栏和胶囊按钮

接着上一篇笔记,在添加头部导航栏后,H5显示正常: 但在微信小程序中,由于刘海屏的存在,添加的头部导航栏跟状态栏重叠在一起: 因此需要获取状态栏的高度以便状态栏和导航栏错开不重叠在一起。同时头部导航栏…

Windows下Zookeeper客户端启动缓慢问题分析与解决方案

文章目录 1. 问题描述2. 问题分析2.1 性能分析2.2 根本原因 3. 解决方案3.1 临时解决方案3.2 长期解决方案 4. 注意事项5. 结论 1. 问题描述 在Windows 8.1 64-bit操作系统环境下,使用Curator框架连接Zookeeper时出现客户端启动异常缓慢的问题。具体表现为&#xf…

在 Java 中生成 PDF 缩略图(教程)

Java 本身无法自动生成 PDF 页面缩略图,但幸运的是,有许多软件库可以实现这一功能。本文示例使用我们自家的 JPedal 库,仅需几行 Java 代码即可创建缩略图。JPedal 是开发者使用的最佳 Java PDF 库。 如何使用 JPedal 将 PDF 转换为缩略图 …

基于大模型的甲状腺结节预测及综合诊疗技术方案大纲

目录 一、技术方案概述二、术前预测与方案制定2.1 结节特征分析与良恶性预测2.2 手术方案建议2.3 麻醉方案优化三、术中辅助决策3.1 实时数据监测与分析3.2 麻醉深度监控与调节四、术后护理与并发症预测4.1 术后恢复预测4.2 并发症风险预警五、统计分析与技术验证5.1 数据分割与…

SpringCloud系列(36)--SpringCloud Gateway简介

1、SpringCloud GateWay概述 SpringCloud Gateway是 Spring Cloud的一个全新项目,基于Spring 5.0Spring Boot 2.0和Project Reactor等技术开发的网关,它旨在为微服务架构提供一种简单有效的统—的API路由管理方式;SpringCloud Gateway作为Sp…

TensorFlow深度学习实战:构建神经网络全指南

引言:深度学习与TensorFlow概览 深度学习作为机器学习的一个重要分支,近年来在计算机视觉、自然语言处理、语音识别等领域取得了突破性进展。TensorFlow是由Google Brain团队开发的开源深度学习框架,自2015年发布以来,已成为最受…

K8S: etcdserver: too many requests

Kubernetes etcdserver: too many requests 错误解决方案 当Kubernetes集群出现 etcdserver: too many requests 错误时,表明etcd数据库接收到的请求量超过了其处理能力。etcd作为Kubernetes的核心组件,存储着集群的所有状态数据,处理请求过…

银河麒麟高级服务器操作系统(全架构)OpenGauss 数据库部署手册

一、部署前准备工作 1. 环境检查 项目配置描述内存功能调试建议 32GB 以上。性能测试和商业部署时,单实例部署建议 128GB 以上。复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或…

Boosting:从理论到实践——集成学习中的偏差征服者

核心定位:一种通过串行训练弱学习器、自适应调整数据权重,将多个弱模型组合成强模型的集成学习框架,专注于降低预测偏差。 本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千A…

Ubuntu下交叉编译工业相机库aravis到OpenHarmony(aarch64)使用

文章目录 下载交叉编译工具链安装meson编写交叉编译配置文件编译glib编译libiconv编译libxml2编译libusb(暂时不编译,依赖的udev库我找不到)编译Aravis使用 自行编译的库都统一放到一个地方去,这样引用时方便一些,比如…

深入理解互斥信号量(Mutex)在 FreeRTOS 中的使用与实现

在多任务操作系统中,任务间的同步和资源共享是至关重要的。为了避免多个任务同时访问共享资源,导致资源冲突和数据不一致,信号量(Semaphore) 是常用的同步机制。特别是在 FreeRTOS 中,互斥信号量&#xff0…

Liunx操作系统笔记2

Linux下的包/源管理命令:主要任务是完成在Linux环境下安装软件。 1.rpm 是最基础的rpm包的安装命令,需要提前下载相关安装包和依赖包。 2.yum/dnf是基于rpm包的自动安装命令,可以自动在仓库中匹配安装软件和依赖包。 3.光盘源 是指的 安装系统…