暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

体验SQL+AI,用OceanBase构建你的AI助手

原创 OceanBase数据库 2024-11-26
919

随着人工智能(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 的无限可能!✊

https://www.oceanbase.com/obi

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论