借助 QueryData,您可以使用对话式语言和您构建的数据代理与数据互动,从而查询数据。数据智能体是 AI 赋能的助理和应用,可以理解用户意图、查询您的运营数据,并返回准确、有依据的答案。QueryData 使用上下文集(精选蓝图、业务逻辑和架构信息的集合)为您的数据库生成查询。借助此上下文,QueryData 可以将自然语言问题转换为适合目标使用情形的准确查询。
何时使用 QueryData
QueryData 非常适合以下应用:
- 客户服务自动化:处理大量咨询,例如“我的订单在哪里?”或“我的当前余额是多少?”。
- 电子商务购物助理:帮助用户通过自然语言查询(例如“显示 100 美元以下的跑鞋”)浏览大型产品目录。
- 现场作业工具:让移动员工能够实时查询库存水平、零件供应情况或服务工单详情。
核心概念
为了可靠地将对话式问题转换为数据库查询,QueryData 依赖于以下关键概念:
QueryData 和 Conversational Analytics API
Conversational Analytics API 中的 QueryData 端点是一种代理工具,可为您的数据库实现程序化自然语言到 SQL (NL2SQL) 查询生成。在对话式应用或 Agentic Workflows 中,QueryData 端点负责处理架构解释和查询合成。您的智能体 Harness(例如 Antigravity、智能体开发套件 (ADK) 或 LangChain)会管理对话历史记录、用户状态和工具编排,以便在向 QueryData 端点发送自然语言请求之前,根据上下文调整用户的输入。
上下文集
上下文集是与数据库实例关联的数据库专用知识、精选查询模式和业务规则的集合。QueryData 不仅依赖于一般 LLM 知识或原始表格架构,还会使用上下文集来了解数据模型和组织专用术语的细微差别。
上下文集包含三个主要构建块:
- 查询蓝图:精选的代表性自然语言问题及其对应的预验证 SQL 查询。蓝图提供规范示例,用于定义特定业务意图如何映射到 SQL 语句。
- 查询分面:模块化 SQL 谓词和过滤条件(例如日期范围、阈值计算或业务标志)。借助 Facet,QueryData 可以将多个过滤条件动态组合到查询中,而无需为每种组合单独创建蓝图。
- 值搜索:将非正式短语与数据库列中存储的确切值相关联的语义和字符串匹配查询。值搜索可使用完全匹配、三元组字符串相似度或语义向量嵌入来帮助消除歧义(例如,将“湾区”映射到
San Francisco,或将“希思罗”映射到London Heathrow Airport)。
参数化安全视图
为确保 AI 生成的查询遵循行级安全性和多租户隔离,您可以使用参数化安全视图,该视图可将生成的 SQL 限制为仅访问经过身份验证的应用用户有权查看的数据行。如需了解详情,请参阅使用参数化安全视图保护应用数据安全并控制对应用数据的访问权限。
QueryData 的运作方式
当您的代理或应用发送自然语言请求(例如,代理根据对话历史记录或用户状态进行情境化处理的用户问题)时,QueryData 会执行以下步骤:
- 值解析:QueryData 会针对数据库运行值搜索查询,以将提示中的实体(例如名称、城市或类别)映射到特定的数据库列值。
- 意图匹配和消除歧义:QueryData 会将情境化请求与您在情境集中定义的精选查询蓝图和构面进行匹配。如果请求不够明确或存在歧义,QueryData 可以返回消除歧义问题,以便您的代理或应用向用户询问澄清问题。
- 查询合成:QueryData 会使用匹配的蓝图结构、应用的方面和已解析的值,为您的数据库引擎合成完整的 SQL 查询。
- 查询执行:生成的查询针对数据库执行,以返回结果。
创作和管理上下文集
如需创建和管理上下文集,请执行以下操作:
- 作者上下文:为数据库定义查询蓝图、分面和值搜索。如需了解详情,请参阅上下文集概览。 您还可以使用上下文工程智能体来自动创建上下文。
- 在 Google Cloud 控制台中管理:在 Cloud SQL Studio 中创建和管理上下文集,以便将其用于生成查询。
- 与应用集成:使用 MCP Toolbox 或直接 API 调用将应用或 AI 智能体连接到 QueryData。
后续步骤
- 了解如何在 Cloud SQL Studio 中测试 QueryData。
- 了解如何创建和管理上下文集。
- 了解如何使用上下文工程智能体构建上下文集。