随着人工智能(AI)技术的日益成熟,众多企业正积极探寻AI在其业务与服务中的应用路径,旨在优化用户体验并提升运营效率。然而,AI应用的建设也给数据基础设施带来了新的挑战。这些应用通常需要处理多种数据类型,包括结构化、非结构化及半结构化数据,并要求具备高效的数据访问和处理能力,特别是在实时性和扩展性方面有着更为严苛的要求。
在最新发布的OceanBase 4.3.3 GA版本中,我们在原有的关系型数据库基础上,增添了向量检索功能,支持向量数据类型的存储、向量索引的创建以及基于这些索引的搜索操作。用户现在可以通过SQL和Python SDK两种便捷方式,充分利用OceanBase的向量检索能力。结合OceanBase在海量数据分布式存储领域的深厚积累,以及对多模数据类型和多种索引方式的全面支持,这一新功能为用户带来了更为强大的数据融合查询体验,极大地简化了AI应用的技术栈,加速了诸如RAG(检索增强生成)、智能推荐、多模态搜索等应用场景的落地。
本文将深入探讨典型的RAG场景,并阐述如何借助OceanBase一体化的向量能力,更加迅速且灵活地构建可扩展且易用的RAG AI助手。同时,我们还将分析这种架构如何有效地简化技术栈,提升业务场景的实施效率。
一、构建AI应用面临的挑战
AI 应用对非结构化数据的存储和检索需求促进了向量数据库的发展,通过将非结构化数据 Embedding 为向量存储在向量数据库,并借助向量索引能力加速近似查询,AI 应用可以理解非结构化数据,并挖掘这些数据的语意和潜在关系。然而 AI 应用对数据的处理需求是多样,不仅涵盖非结构化数据,还包含结构化、半结构化等数据类型,同时需要支持离线批数据的导入和实时数据流的写入。
以 RAG 场景为例,我们来看看 AI 应用对数据库的需求。RAG 是一种结合信息检索与生成模型的技术,其核心思想是在生成回答之前,通过检索外部知识库中的相关信息,再结合大语言模型(LLM)生成最终的回答,从而提高回答的准确性和丰富性,因此越来越多的企业利用 RAG 技术来构建基于企业私域知识库的智能助手,OceanBase 官网最近刚上线的“AI 助手”也是如此。
RAG 应用为了提高问答的准确性,通常会同时进行向量检索和全文检索,多路查询后 rerank 得到更加准确的数据。企业的私域知识文档同时会包含诸如文档类别等多个属性,文档属性和文档内容会以结构化数据存储在数据库中,用户的问答通常也会集中的某个垂直的领域进行,需要基于文档属性进行标量过滤。因此,一个用户查询会涉及到标量过滤、向量检索、全文搜索多种检索需求。传统的 AI 应用架构需要往往接入多个数据处理系统: 使用专用的向量数据库用于存储非结构化数据,经 Embedding 后生成的向量并进行近似查询;使用 MySQL 等关系型数据库用于存储结构化数据进行标量过滤;使用 ES 等系统来进行全文检索实现模糊搜索。这种复杂的技术栈需要接入多个不同系统来满足检索需求,不同的服务提供的访问接口也是多样的,不仅存在数据冗余存储的问题,还存在多种技术栈,无形加大了 AI 应用的开发和运维难度。
二、为什么要用OceanBase构建RAG应用
OceanBase 以其一体化的产品能力及技术架构,为 RAG 等复杂 AI 场景提供了向量融合查询能力。最新的 4.3.3 GA 版本在原有的基础数据类型、JSON、GIS、XML、RoaringBitmap 等数据类型的基础上,新增了向量类型的支持。在二级索引、全文索引、空间索引、JSON 的多值索引的基础上支持了向量索引以加速查询。因此,只需使用一套数据库即可满足 RAG 应用对文档存储、标量过滤、向量检索、全文检索的需求,同时 OceanBase 中包含向量检索在内的各项能力均支持通过 SQL 访问,可帮助企业统一业务技术栈,简化开发流程。
同时,OceanBase 的原生分布式架构支持海量数据的水平扩展,无损数据压缩能力能够显著降低存储空间,节省应用的存储成本;高性能的写入和查询性能,则保证了 RAG 应用的实时性。
此外,私域知识库往往对数据安全和隐私有较高的要求,OceanBase 数据库已经支持比较完整的企业级安全特性,包括身份鉴别和认证、访问控制、数据加密、监控告警、安全审计,可以有效保证 AI 应用的数据安全;还提供的完备的数据库工具体系,支持数据开发、迁移、运维、诊断等数据全生命周期的管理,为 AI 应用保驾护航。
三、用OceanBase构建你的智能助手
以下是一个基于 OceanBase 的智能助手 Demo,通过该示例可以快速上手体验 OceanBase 的向量检索能力:
第一步:开通 OB Cloud 免费试用和 LLM 账号
OB Cloud 提供 365 天免费试用,前往 OceanBase 官网开通事务型共享实例(MySQL模式)。

这个案例是用智谱大模型进行搭建,可登录其官网注册,获取 API 密钥,你也可以选择使用其他 LLM 进行搭建。
第二步:启用向量检索功能,获取数据库连接信息
进入实例工作台,设置 ob_vector_memory_limit_percentage 参数以启用向量检索功能,推荐设置值为 30。然后,单击 “连接”,获取连接串:在弹出框中选择 使用公共网络,选择 添加当前浏览器 IP 地址,填写数据库相关信息,复制连接串。

第三步:构建你的 AI 助手
1、克隆代码仓库
git clone https://gitee.com/oceanbase-devhub/ai-workshop-2024cd ai-workshop-2024
2、安装依赖和设置环境变量
3、准备 BGE-M3 模型
poetry run python utils/prepare_bgem3.py# 模型加载成功会有如下提示:# ===================================# BGEM3FlagModel loaded successfully.# ===================================
4、准备文档语料
# 克隆文档仓库cd doc_reposgit clone --single-branch --branch V4.3.3 https://github.com/oceanbase/oceanbase-doc.gitcd ..# 将标题转换为标准 Markdown 格式poetry run python convert_headings.py \doc_repos/oceanbase-doc/zh-CN \# 将文档文本 embed 为向量poetry run python embed_docs.py --doc_base doc_repos/oceanbase-doc/zh-CN
然后,就可以在你的浏览器上,向智能助手进行问答了。

四、更多资源
如果觉得只看上面的步骤还不够,你可以在免费开通 OB Cloud 后,通过控制台中的互动式教程进行搭建。如果觉得还不清楚,我们还为你准备了手把手的搭建课程 :
🎙 11 月 23 日,广东的朋友还可以来参加线下交流会 《AI 时代的数据栈建设探索与跨行业应用实践》。除了现场的 AI 实验营,还有来自游戏、教育、金融、零售等行业的技术专家分享实践经验 。

💡 11 月 28 日,OceanBase 视频号将为你带来 《AI 动手实战营 :基于 OceanBase + LLM 打造属于你的智能助手》,快去预约吧 。
在 OceanBase 官网开通分析型实例的免费试用; 安装 Python 3.9 及以上版本; 安装 Poetry。
最后,也欢迎大家点击下方链接,体验 OceanBase 的 AI 助手 Beta 版,感受 SQL+AI 的无限可能!✊




