把生成式 AI 塞进数据库:AlloyDB 语义搜索与自然语言生成 SQL 实测
AIAI Summary (BLUF)
本文介绍了如何利用Google Cloud数据库(如AlloyDB和Cloud SQL)的AI集成功能,通过动手实验展示语义搜索、多模态嵌入、AI函数和自然语言生成SQL等应用,帮助开发者将数据与生成式AI模型结合,构建生产级AI应用。
核心洞察
这篇教程把 Google 数据库跟生成式 AI 结合的几个实验串成了一条线,从最基础的语义搜索基于语义理解而非关键词匹配的搜索技术,能理解查询意图和内容含义。一直讲到用自然语言直接生成 SQL。我觉得最值得关注的是 QueryDataAlloyDB的一项功能,允许用户通过自然语言生成SQL查询,简化数据库交互。 那部分,它让不懂 SQL 的人也能跟数据库对话,这个方向如果做成熟了,会改变很多团队里数据查询的分工方式。不过文中给的都是实验环境,真正搬到生产环境还得看上下文集怎么维护。
聊生成式 AI 应用和它带来的新机会时,有个东西绕不过去,就是数据。企业日常收集、保存、使用的那些数据,是应用、分析、知识库这些东西的骨架。我们用数据库来存和操作数据,几乎所有 AI 项目和新应用都得用到这个数据层。
那怎么才能让 AI 系统用上我们的数据?下面介绍几个实验,展示在 Google 数据库里怎么准备数据、怎么跟 AI 模型配合使用。
核心结论
Google Cloud 的数据库(包括 AlloyDBGoogle Cloud的全托管PostgreSQL兼容数据库,专为高性能工作负载设计,集成了AI模型支持。 和 Cloud SQLGoogle Cloud的托管关系型数据库服务,支持PostgreSQL和MySQL,具备AI集成能力。 for PostgreSQL/MySQL)均具备 AI 集成能力,可直接在数据库内生成和使用文本嵌入,实现语义搜索并为生成式 AI 模型的回答提供 grounding,这是构建 RAGRetrieval-Augmented Generation - an AI framework that combines information retrieval with language generation to produce more accurate and contextually relevant responses. 的基础。
Google 多模态嵌入同时对文本和图像等多种模态数据进行向量化,使得不同模态的数据可以在同一向量空间中进行相似度计算,支持图文混合检索。模型可同时对文本和图片进行嵌入,在 AlloyDB 中结合 Google Cloud Storage 存储的图片,能够实现文本与图片互相补充或替代的混合语义搜索。
AlloyDB 内置 AI 函数(如 AI.IF),无需额外准备数据即可实现即时语义搜索、情感评估和自然语言数据过滤,并可通过排序函数优化搜索结果。
QueryData for AlloyDB 支持用户以对话式自然语言与数据库交互并生成 SQL,通过提供包含数据 schema 描述的上下文集、模板、分面和值搜索选项,使生成的 SQL 具备可预测性和生产可用性。
上述实验均属于 "Production-Ready AI with Google Cloud" 项目中「从数据基础到高级 RAG」模块,目前为实验环境,投入生产还需关注上下文集维护等实际问题。
语义搜索:在数据库里做文本嵌入
第一步是把数据准备好做语义搜索,跑通最初的测试,用语义搜索的结果给生成式 AI 模型的回答做 grounding。这些 grounding 数据就是 RAG 的基础。之后你可以用最新的索引技术给嵌入建索引,把搜索性能再提上去。
一个选择是 Google AlloyDB 数据库,它跟 AI 模型直接集成,能扛住要求最高的负载。下面的实验会带你走完整个流程,从创建 AlloyDB 集群、加载样本数据、生成嵌入,到用这些嵌入让生成式 AI 模型给出增强后的回答。
AI 集成不限于 AlloyDB。Google Cloud 的数据库都有 AI 集成能力,都能生成和使用嵌入来做语义搜索。比如你在用 Cloud SQL,也可以直接在现有的 PostgreSQL 或 MySQL 实例里生成和使用嵌入做语义搜索。
接下来两个实验跟上面那个很像,只是把 AlloyDB for PostgreSQL 换成了 Cloud SQL for PostgreSQL 和 Cloud SQL for MySQL,用语义搜索作为模型回答的 grounding 引擎。因为 SQL 语法和数据库引擎不同,有些步骤肯定不一样,但核心思路没变:用我们的数据给模型回答做 grounding,改善输出。
用文本数据做语义搜索是让回答更可靠、更有用的基石之一,但 Google 的生成式 AI 模型能做的远不止这些。接下来说说多模态搜索。
多模态嵌入:把图片也纳入搜索
现实生活中我们当然会动用所有感官,包括视觉,来判断周围的世界。Google 的多模态嵌入模型加了一层理解能力,不仅对文本做嵌入,也对图片做嵌入,从而改进搜索。
下面这个实验里,我们把一个产品目录放进 AlloyDB,图片放在 Google Cloud Storage。实验展示了怎么同时用文本描述和图片做语义搜索,两者互相补充、互相替代,把基于图片输入的搜索自然地融进回答里。
去做实验
实验:AlloyDB 中的多模态嵌入
目标:部署 AlloyDB 集群,导入数据,用多模态嵌入做文本和图片语义搜索,试试混合搜索方案。
准备数据和迈出第一步,对理解 RAG 和可用的搜索工具有帮助,但 Google 还有些场景,不需要做任何数据准备,直接靠 AI 集成就能帮你分析数据。
AlloyDB AI 函数与重排序
Google AlloyDB 数据库自带一些额外的 AI 集成,让你不用准备数据就能用上一些 AI 能力。比如 AI.IF 函数可以即时做语义搜索,评估情感,或者用自然语言查询去比较列里的数据,返回按查询条件过滤后的结果。你还可以对搜索结果应用排序函数,改善最终结果。下面这个实验可以让你试试这些新功能,如果对你的用例有帮助,可以反馈给他们。
去做实验
实验:AlloyDB AI 操作符与重排序
目标:部署 AlloyDB 集群并启用 AI 查询函数,用 AI 查询函数过滤数据,用排序函数改善搜索结果。
但如果有人不太懂 SQL,或者不熟悉你数据库里的数据结构呢?QueryData for AlloyDB 可以帮上忙。
用 QueryData for AlloyDB 生成 SQL
QueryData 让你用对话式的语言跟数据库里的数据交互,还能构建数据 agent。你以上下文集的形式提供数据库相关的信息,来提高生成器的准确度。
QueryData 的上下文加了一层描述数据 schema 的东西,还提供模板、分面和值搜索选项,让你生成的 SQL 可预测、能上生产。下面这个实验帮你上手这些新功能,基于你的数据 schema 生成第一批查询。
从测试到生产
这些实验是我们 Production-Ready AI with Google Cloud 项目里「从数据基础到高级 RAG」模块的一部分。看看其他模块,也许能帮你用上 Google Cloud 服务和工具提供的 AI 能力。最终目标是做出一个高质量应用,把现代技术的潜力都用上。
另外多留意 AlloyDB 和 Cloud SQL 的发布说明,工程团队正在忙着做新功能和改进。测试愉快。
常见问题(FAQ)
AlloyDB 的 AI 集成具体能做什么?
AlloyDB 提供 AI 函数如 AI.IF 可即时语义搜索、情感分析,支持重排序改善结果,还能通过 QueryData 用自然语言生成 SQL,让不懂 SQL 的人也能查询数据库。
多模态嵌入在 AlloyDB 中如何实现?
将产品目录存入 AlloyDB,图片放 Google Cloud Storage,利用多模态嵌入模型同时对文本和图片做嵌入,实现基于文本或图片的语义搜索,两者可互补或替代。
QueryData for AlloyDB 怎么用?
QueryData 让你用对话式语言与数据库交互,通过提供上下文集(描述 schema、模板等)提高生成 SQL 的准确度,适合不懂 SQL 或数据结构的人生成可预测的生产级查询。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。



