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
如需在 Looker 项目中使用 Gemini 创建 LookML,请按以下步骤操作:
- 在 Looker 实例中,启用开发模式。
- 在 Looker IDE 中打开您的项目。
- 使用 IDE 文件浏览器打开要插入 LookML 的 LookML 视图文件。
从侧边栏选择器中选择帮我编码图标。
打开 Help me code 面板,然后点击以将光标置于 LookML 视图文件中的某一行。根据 LookML 文件的类型以及光标在文件中的位置,Gemini 会提供相应的选项来引导您,例如创建维度或创建测量。
从帮我编码面板中选择以下选项之一:
在 Help me code 面板文本字段中,使用对话语言描述您要创建的维度、维度组或衡量标准。如需相关指导,请参阅本页中的在 Looker IDE 中使用 Gemini 的提示和问题示例部分。
按 Enter 键或点击提交图标,将您的请求发送给 Gemini。Gemini 会在回答中提供建议的代码。
借助建议的代码,您可以执行以下操作:
- 将光标悬停在 Insert 按钮上,即可在文件中预览建议的 LookML。您可以在将 LookML 插入文件之前,将光标移至文件中的其他行,以便在其他位置预览该代码。
- 点击修改按钮以手动更改建议的 LookML。
- 点击插入按钮,将 LookML 插入到光标所在位置的文件中。
- 选择拇指朝上图标(此回答很有帮助)或拇指朝下图标(此回答与我的预期不符),针对建议的代码提供反馈。
- 点击新的代码建议链接,重新开始并为 Gemini 输入新的提示。
在 LookML 文件中,点击保存更改。
请执行以下操作来验证 LookML:
- 使用 LookML 验证器验证您的 LookML。
- 在“探索”中测试您的 LookML。
在 Looker IDE 中使用 Gemini 的技巧
以下是有关如何在 Looker IDE 中使用 Gemini 的一些提示:
- 为获得最佳效果,请使用美式英语撰写提示。如需了解详情,请参阅适用于 Google Cloud 的 Gemini 限制文档。
- 帮我写代码面板不会保留对话中之前提示的上下文,也不会在登录和刷新后保留提示。
- 使用 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"]
}