Google官方实验室详解如何用语义搜索为AI模型提供grounding数据,涵盖embedding索引优化与AlloyDB的AI原生集成方案。
在讨论使用生成式 AI 的应用与系统以及它们带来的新机遇时,生态系统中有一个组件是不可替代的——数据。具体而言,是企业每天收集、保存和使用的数据。这些数据是应用、分析、知识库等多种系统的支柱。我们用数据库来存储和处理这些数据,而且几乎所有 AI 驱动的举措和新应用都会用到这个数据层。
那么,如何开始在 AI 系统中使用这些数据呢?下面为大家介绍 Google 数据库中一些展示如何用 AI 模型准备和使用数据的实验(Lab)。
我们首先为语义搜索准备数据,并运行初步测试——通过语义搜索结果为 Gen AI 模型的回答提供依据(grounding)。这些用于 grounding 的数据是 RAG(Retrieval Augmented Generation,检索增强生成)的基础。随后,可以使用最新的索引技术为嵌入向量建立索引,从而提升搜索性能。
选项之一是 Google AlloyDB 数据库,它与 AI 模型有直接集成,支持最苛刻的工作负载。下面的实验将引导你完成所有步骤:从创建 AlloyDB 集群、加载样本数据、生成嵌入向量,到使用这些嵌入向量从 Gen AI 模型生成增强后的回答。
Lab: Getting started with Vector Embeddings with AlloyDB AI
Objective: Create an AlloyDB cluster, generate vector embeddings for sample data, and perform semantic search to ground a Gen AI model's response.
AI 集成并非只限于 AlloyDB。所有 Google Cloud 数据库都具备 AI 集成能力,能够生成和使用嵌入向量进行语义搜索。例如,如果你正在使用 Cloud SQL,也可以直接在现有的 PostgreSQL 或 MySQL 实例中生成和使用嵌入向量进行语义搜索。
接下来两个实验与前一个非常相似,但这次使用的是 Cloud SQL for PostgreSQL 和 Cloud SQL for MySQL,而非 Google AlloyDB for PostgreSQL,用语义搜索作为模型回答的 grounding 引擎。由于 SQL 语言和不同数据库引擎的差异,部分步骤自然有所不同,但核心思想保持一致:用我们的数据为模型回答提供依据,并改善输出。
Lab: Getting started with Vector Embeddings in Cloud SQL for PostgreSQL
Objective: Create Cloud SQL for PostgreSQL instance with AI integration, generate vector embeddings for sample data, and perform semantic search to ground a Gen AI model's response.
Lab: Getting started with Vector Embeddings in Cloud SQL for MySQL
Objective: Create Cloud SQL for MySQL instance with AI integration, generate vector embeddings for sample data, and perform semantic search to ground a Gen AI model's response.
使用文本数据的语义搜索是重要基石之一,也是让回答变得更可靠、更有用的关键功能,但 Google Gen AI 模型还能提供更多能力。下面来谈谈多模态搜索。
在现实生活中,我们当然会调动所有感官,包括视觉,来感知周围的世界。Google 多模态嵌入模型带来了更深层次的理解能力——不仅对文本,还对图像使用嵌入向量进行搜索,从而提升搜索效果。
在下面的实验中,我们使用存放在 AlloyDB 中的产品目录,并辅以 Google Cloud Storage 中的图片。实验展示瞭如何同时利用文本描述和图片进行语义搜索,两者可以相互补充和替代,自然地将基于图像输入的搜索整合到回答中。
Lab: Multimodal Embeddings in AlloyDB
Objective: Deploy an AlloyDB cluster, import data and use text and image semantic search using multimodal embeddings, try hybrid search approach.
准备数据并迈出第一步,对于理解 RAG 和搜索工具的通用原理至关重要,但 Google 还有其他场景——无需任何数据准备,直接通过 AI 集成来辅助数据分析。
Google AlloyDB 数据库附带额外的 AI 集成功能,帮助你在无需数据准备的情况下使用部分 AI 能力。例如,AI.IF 函数可以实时进行语义搜索,评估情感或将列中的数据与自然语言查询进行比较,返回按查询条件过滤的结果。此外,你还可以对搜索输出应用排序函数,从而改善最终结果。你可以通过下面的实验试用这些新功能,并告诉我们它是否能对你的使用场景有所帮助。
Lab: AlloyDB AI Operators and Reranking
Objective: Deploy AlloyDB cluster and enable AI query functions, use AI query functions to filter data and ranking function to improve the search results.
但如果有人对 SQL 不太熟悉,或者不熟悉你数据库中的数据结构该怎么办?QueryData for AlloyDB 可以帮你解决这个问题。
QueryData 允许你用对话式语言与数据库中的数据交互,并构建数据 Agent。你以 context sets 的形式提供数据库特定的上下文信息,以提高生成器的准确性。
QueryData 的 context 添加了一层描述,涵盖你的数据模式,并提供模板、facets 和值搜索选项,使生成的 SQL 可预测、可用于生产环境。下面的实验帮助你开始使用这些新功能,并基于你的数据模式生成第一批查询。
Lab: QueryData for AlloyDB using Gemini Data Analytics
Objective: Use QueryData for AlloyDB to generate accurate and predictable SQL statements from natural language input in agentic applications
这些实验是我们"Production-Ready AI with Google Cloud"课程中"From Data Foundations to Advanced RAG"模块的一部分。查看其他模块,看它们是否能帮助你采用 Google Cloud 服务和工具提供的 AI 能力。最终目标是打造一款高质量的应用,充分发挥现代技术的潜力。
请关注 AlloyDB 和 Cloud SQL 的 Release Notes——工程团队正在积极开发新功能和改进。祝测试愉快!