Looker 中的 Gemini 提供依托生成式 AI 技术的辅助功能,可帮助您处理数据。在 Looker IDE 中,“帮我写代码”面板使用 Looker 中的 Gemini 来根据书面提示生成 LookML 代码建议。您可以使用 Gemini 在 LookML 项目中创建维度、维度组和测量。
准备工作
如需在 Looker IDE 中使用 Gemini,请注意以下要求:
- 拥有一个已启用 Gemini in Looker 的 Looker (Google Cloud Core) 实例。
- 一个 Looker 角色,该角色对 LookML 项目中至少一个模型具有
develop
权限。
在 Looker IDE 中使用 Gemini
如需使用 Gemini 在 Looker 项目中创建 LookML,请按以下步骤操作:
- 在 Looker 实例中,启用开发模式。
- 在 Looker IDE 中打开您的项目。
- 使用 IDE 文件浏览器打开要在其中插入 LookML 的 LookML 视图文件。
从侧边栏选择器中选择 Help me code 图标。
打开 Help me code 面板后,点击以将光标放在 LookML 视图文件中的某一行上。Gemini 会根据 LookML 文件的类型和光标在文件中的位置,提供适当的选项作为指导,例如创建维度或创建测量。
从 Help me code 面板中选择以下选项之一:
在“帮我编写代码”面板文本字段中,使用对话语言来描述您要创建的维度、维度组或测量。如需指导,请参阅本页中的在 Looker IDE 中使用 Gemini 的提示和提示示例部分。
按 Enter 键或点击提交图标,将您的请求发送给 Gemini。Gemini 会在回答中提供建议的代码。
使用建议的代码,您可以执行以下操作:
- 将指针悬停在插入按钮上,即可预览文件中建议的 LookML。在将 LookML 插入文件中之前,您可以将光标移至文件中的另一行,以便在其他位置预览它。
- 点击修改按钮,手动更改建议的 LookML。
- 点击插入按钮,将 LookML 插入文件的光标位置。
- 选择拇指朝上图标(此回答有用)或拇指朝下图标(此回答不符合我的预期),针对建议的代码提供反馈。
- 点击新的代码建议链接,重新开始并为 Gemini 输入新提示。
点击 LookML 文件中的保存更改。
执行以下操作来验证 LookML:
- 使用 LookML 验证器验证您的 LookML。
- 在“探索”中测试您的 LookML。
在 Looker IDE 中使用 Gemini 的技巧
以下是有关如何在 Looker IDE 中使用 Gemini 的一些提示:
- 为获得最佳效果,请使用美式英语撰写提示。如需了解详情,请参阅 Gemini for Google Cloud 限制文档。
- “帮我编写代码”面板不会保留会话中先前提示的上下文,也不会在登录和刷新后保留提示。
- 使用 Gemini 建议的 LookML 时,请始终使用 LookML 验证器验证您的 LookML,并在“探索”中测试新字段。
- 根据你的请求,Gemini 可能会建议引用其他视图文件中字段的 LookML。将建议的 LookML 添加到文件后,请保存文件并运行 LookML 验证器。如果您需要向模型文件添加
include
语句,LookML 验证程序会显示错误。
示例提示
为了给您提供一些建议,下面提供了一些示例提示及其结果:
使用经度和纬度创建维度
以下是使用创建维度选项的提示,用于指示 Gemini 根据视图文件中定义的 longitude
和 latitude
字段创建新维度:
show coordinates with longitude and latitude
Gemini 会返回以下建议的代码:
dimension: coordinates {
type: location
sql_latitude: ${TABLE}.latitude ;;
sql_longitude: ${TABLE}.longitude ;;
}
您可以在“探索”中验证此 LookML,方法是选择新的 coordinates
字段以及基于该字段的 longitude
和 latitude
字段。由于 Gemini 使用 type:location
创建了维度,因此“探索”结果中会包含用于在地图上查看坐标的超链接:
为今天的总销售额创建一个衡量指标
下面的提示使用了创建指标选项,要求 Gemini 创建一个指标来显示今天所有订单的总和:
show the total sale price of today's orders
Gemini 会返回以下建议代码:
measure: todays_orders {
type: sum
sql: ${basic_order_items.sale_price} ;;
filters: [basic_order_items.created_at_date: "today"]
}