通过对话分析数据
本文档介绍了如何在 BigQuery 中创建、修改和删除对话。对话是指与数据代理或您选择的数据源(例如表格、视图或图表)进行的持久聊天。
对话是指与数据代理或数据源的持久聊天。您可以向数据代理提出多部分问题,其中使用“销售额”或“最受欢迎”等常用字词,而无需指定表字段名称或定义条件来过滤数据。您还可以针对 PDF 等对象中的数据提问。智能体在构建回答时,可以确定要查询哪些数据源,并利用表分区或搜索索引等优化措施。
返回给您的聊天回答具有以下功能:
- 以文本、代码或图片(多模态)形式呈现的问题答案。答案可以包含受支持的 BigQuery AI 和 ML 函数。
- 在适当情况下生成图表。
- 智能体得出结果的推理过程。
- 有关对话的元数据,例如所用的代理和数据源。
当您创建与数据源的直接对话时,Conversational Analytics API 会在没有数据代理提供的上下文和处理指令的情况下解读您的问题。因此,直接对话结果的准确性可能会降低。对于需要更高准确性的情况,请使用数据代理。
您可以使用Google Cloud 控制台在 BigQuery 中创建和管理对话。如需了解详情,请参阅通过对话分析数据。
准备工作
-
启用 BigQuery、Gemini Data Analytics 和 Gemini for Google Cloud API。
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 获得了此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。
所需的角色
如需创建对话,您必须拥有以下 Conversational Analytics API IAM 角色之一:
- 如需查看并创建与已与您共享的任何数据代理的对话,您必须在项目级层拥有 Gemini Data Analytics Data Agent User (
roles/geminidataanalytics.dataAgentUser) 角色和 Gemini for Google Cloud User (roles/cloudaicompanion.user) 角色。 - 如需创建直接对话,您必须具有 Gemini Data Analytics Stateless Chat User (
roles/geminidataanalytics.dataAgentStatelessUser) 角色。
此外,在以下情况下,您必须具有以下角色:
- 如果数据代理使用数据集作为知识源,您需要拥有该数据集的 BigQuery Data Viewer (
roles/bigquery.dataViewer) 角色。 - 如果数据代理为您运行 SQL 查询,您需要拥有项目的 BigQuery Job User (
roles/bigquery.jobUser) 角色。 - 如果数据智能体使用表或视图作为知识源,您需要拥有相应表或视图的 BigQuery Data Viewer (
roles/bigquery.dataViewer) 角色。 - 如果表使用列级访问权限控制,您需要具有精细读取者 (
roles/datacatalog.categoryFineGrainedReader) 角色。此角色会在您配置政策标记时分配给主账号。如需了解详情,请参阅用于列级访问权限控制的角色。 - 如果数据表使用行级访问权限控制,您必须通过该表上的角色级访问权限政策获得访问权限。如需了解详情,请参阅创建或更新行级访问权限政策。
- 如果数据表使用数据遮盖,您必须通过相应的数据政策获得 Masked Reader (
roles/bigquerydatapolicy.maskedReader) 角色。如需了解详情,请参阅查询屏蔽数据的角色。 - 如需与数据集对话,您需要拥有项目的 Data Catalog Viewer (
roles/datacatalog.viewer) 角色。
如果您没有数据智能体所用源数据表的相应角色,则在与数据智能体对话时,系统会返回以下错误:
Schema_Resolution: Access Denied
最佳做法
对话式分析会自动为您运行查询,以回答您的问题。请考虑以下可能增加查询费用的因素:
- 表格尺寸较大
- 在查询中使用数据联接
- 查询中频繁调用 AI 函数
创建与数据代理的对话
如需创建与数据代理的对话,您需要先创建数据代理并发布它。您还可以与他人分享给您的智能体发起对话。
如需在 Google Cloud 控制台中与现有数据代理进行对话,请按以下步骤操作:
前往 BigQuery 代理页面。
选择智能体目录标签页。
在我的代理或组织中的其他人分享的代理部分中,点击要与之对话的代理的代理卡片。
系统随即会打开一个新的聊天面板。
在提问字段中,输入您的问题并选择一种模式:
- 快速(默认):最适合处理大多数问题。
- 思考:详细推理。
您也可以点击 Gemini 建议的问题开始提问。
依次点击 send_spark 发送。
Conversational Analytics API 会处理您的问题并返回结果。
创建与数据源的直接对话
您可以与这些 BigQuery 数据源(也称为知识源)直接对话。当您创建直接对话时,Conversational Analytics API 会在没有数据代理提供的上下文和处理指令的情况下解读您的问题。
您可以与以下数据源进行对话:
使用“代理”页面与数据源对话
如需使用Google Cloud 控制台中的代理页面创建与数据源的对话,请按以下步骤操作:
如需在代理页面中创建与数据源的直接对话,请按以下步骤操作:
前往 BigQuery 代理页面。
在对话标签页中,点击新对话。
在与数据对话窗格中,点击知识来源标签页。如果您的数据源未显示在列表中,您可以搜索该数据源。
选择一个或多个数据源,然后点击对话。
使用 BigQuery Studio 与数据源对话
如需使用 BigQuery Studio 直接与数据源对话,请选择以下任一选项。
与数据集、表格、视图或图表对话
如需创建与数据集、表、视图或图表的直接对话,请按以下步骤操作:
在 Google Cloud 控制台中,前往 BigQuery Studio 页面。
在左侧窗格中,点击 探索器。
在探索器窗格中,展开您的项目,点击数据集,然后选择一个数据集。系统会打开数据集页面。
点击某个数据集即可将其打开。
如需与数据集对话,请依次点击 chat_spark 对话。
如需与数据集中的表格或视图对话,请按以下步骤操作:
在概览标签页上,点击表格。
在表 ID 列中,点击指向相应表或视图的链接。
依次点击 chat_spark Chat。
如需与图表对话,请按以下步骤操作:
在概览标签页中,点击图表。
在图表 ID 列中,点击指向图表的链接。
依次点击 chat_spark Chat。
数据集
创建与数据集的对话后,您无需明确列出数据源,即可提出与数据相关的问题。当您与数据集创建对话时,数据代理可以访问该数据集中的所有表。当您提出问题时,数据代理会查找相关表格,并在必要时将它们联接起来以生成回答。
与查询结果对话
运行查询后,您可以根据结果创建新的对话。 数据源是通常会保留 24 小时的缓存结果临时表。缓存结果过期后,您将无法询问有关数据的问题。
如需根据查询结果创建对话,请按以下步骤操作:
在 Google Cloud 控制台中,前往 BigQuery Studio 页面。
切换到 search_insights 查询编辑器标签页,或依次点击 arrow_drop_down > SQL 查询。
输入 SQL 查询,然后点击 play_circle 运行。
在结果标签页中,依次点击 chat_spark 聊天。
如何与数据源对话
点击数据源的聊天选项后,即可开始对话。如需进行对话,请执行以下操作:
在提问字段中,输入您的问题并选择一种模式:
- 快速(默认):最适合处理大多数问题。
- 思考:详细推理。
依次点击 send_spark 发送。
Conversational Analytics API 会处理您的问题并返回结果。 如果数据适合,回答会提供图片、图表、表格和其他可视化图表。
如需查看数据智能体为回答您的问题而采取的每个步骤,请展开回答中的显示思考过程选项。
如需查看有关结果计算方式的信息,请点击 How was this calculated?(这是如何计算出来的?)。
摘要部分包含生成的查询以及查询结果。您可以选择在查询编辑器中打开查询。
从对话中创建数据代理
您可以从与表或视图的对话中创建数据代理。您无法通过与数据集的对话创建自定义代理。
如需根据对话创建数据代理,请按以下步骤操作:
在对话的详细信息窗格中,点击创建智能体。
在编辑器部分的代理名称字段中,输入数据代理的描述性名称,例如
Q4 sales data或User activity logs。在数据代理说明字段中,输入数据代理的说明。好的说明会解释智能体的用途、使用的数据,并帮助您了解何时应与此数据智能体对话,例如
Ask questions about customer orders and revenue。在知识源部分中,验证知识源中的条目。您可以自定义现有数据源,也可以点击添加来源来添加其他数据源。如果您的数据源未显示在列表中,您可以进行搜索。
做出更改后,点击保存草稿。
点击发布。
管理会话
您可以在代理页面上打开、重命名或删除对话,并在 BigQuery Studio 探索器中管理对话。
打开现有对话
在 Google Cloud 控制台中,前往 BigQuery 代理页面。
在对话标签页的对话列表中,点击要打开的对话。
重命名对话
在 Google Cloud 控制台中,前往 BigQuery 代理页面。
在对话标签页的对话列表中,点击要重命名的对话。
依次点击 查看操作 > 重命名。
在重命名对话对话框中,在对话名称字段中输入对话的新名称。
点击重命名。
删除对话
即使底层数据源被删除,对话中问题的结果也会保留。如需删除对话及其包含的所有结果,请按以下步骤操作:
在 Google Cloud 控制台中,前往 BigQuery 代理页面。
在对话标签页的对话列表中,点击要删除的对话。
点击 查看操作 > 删除。
在删除对话?对话框中,点击删除。
如果您在 180 天内未更新对话,BigQuery 会自动将其删除。
使用 BigQuery Studio 探索器管理对话
使用 BigQuery Studio 探索器管理对话。此对话列表提供了一个中心位置,您可以在其中搜索、打开或创建对话。您还可以复制对话 ID 或刷新对话列表。
如需管理对话,请按以下步骤操作:
前往 BigQuery Studio 探索器页面。
在探索器窗格中,展开项目名称。
点击对话。
- 如需过滤对话列表,请在过滤条件字段中输入属性名称或值。
- 如需打开对话,请依次点击 查看操作 > 打开。
- 如需复制对话 ID,请依次点击 查看操作 > 复制 ID。
- 如需创建对话,请在菜单栏中点击创建对话。
- 如需刷新列表,请在菜单栏中点击刷新。