使用智能体编码工具编写 LookML

1. 简介

基于 VS Code 生态系统的智能代码编写工具已非常流行。Cursor 和 Antigravity 只是两个示例。此 Codelab 将演示如何使用这些代码工具编写 LookML。

实践内容

在此 Codelab 中,您将使用 Looker 的 VS Code 扩展程序修改 LookML 模型,以添加新测量、测试新测量,然后使用该新测量构建 LookML 信息中心。所有这些操作都将通过提示编码智能体来完成。

所需条件

  • 您拥有开发者权限的 Looker 实例。
  • 对 Looker 有基本的了解,包括 创建新的 LookML 项目在 Looker 中查看探索并与之交互
  • Looker 实例上用户的 API client_id 和 client_secret。
  • 基于 VS Code 的编码智能体。在本指南中,我们将使用 Antigravity。
  • GitHub 账号。
  • 已启用 BigQuery 的 Google Cloud 项目。

受众群体:LookML 开发者、数据工程师和架构师。

2. 设置 Looker 实例

创建 Google Cloud 项目

  1. Google Cloud 控制台 的项目选择器页面上,选择或创建一个 Google Cloud 项目
  2. 确保您的云项目已启用结算功能。了解如何检查项目是否已启用结算功能

将 Looker 连接到数据源

  1. 在 Looker 中,依次前往管理数据库 ,然后选择连接
  2. 点击屏幕右上角的添加连接
  3. 为 Cymbal Gadgets 数据集创建新的数据源。将其命名为 cymbal_gadgets。为 SQL 方言选择 Google BigQuery Standard SQL常规连接设置的屏幕截图
  4. 在下一页上,输入您的 Google Cloud 云项目名称、存储项目 looker-private-demo 和数据集名称 cymbal_gadgets数据库设置的屏幕截图
  5. 接受所有剩余字段的默认值,并完成新数据源创建过程。
  6. SQL Runner 中,通过运行以下命令确认您可以查询数据集
    SELECT count(*)
    FROM looker-private-demo.cymbal_gadgets.transactions
    

从 GitHub 导入项目

  1. 将项目 https://github.com/looker-open-source/cymbal_gadgets 从 GitHub 克隆到您自己的代码库。您无法向不属于您的项目添加部署密钥,因此必须克隆项目才能将其关联到 Looker。
  2. 启用开发模式
  3. 依次选择开发项目
  4. 在 LookML 项目页面中,点击新建模型
  5. 点击链接以使用旧版 LookML 模型创建页面。 旧模型创建对话框链接的屏幕截图
  6. 在 Looker 中创建一个名为 cymbal_gadgets 的新空白项目。新项目对话框的屏幕截图
  7. 选择配置 Git 以将其连接到您创建的克隆代码库。Git 设置的屏幕截图
  8. Deploy Key 添加到您的 Git 代码库。请务必点击相应框,以允许使用部署密钥进行写入访问。 Git 部署密钥设置的屏幕截图
  9. 然后选择测试并完成设置已完成项目设置的屏幕截图
  10. 通过查询探索“🛍️ Cymbal Gadgets:交易和销售额”中的数据,验证项目和数据源是否正常运行。
  11. 在 LookML 编辑器中打开 cymbal_gadgets 项目,然后按右上角的创建开发者副本 按钮。
  12. Git 操作 下,点击 将更改推送到远程 ,以便从 GitHub 获取开发分支。 Git 操作的屏幕截图
  13. 在计算机上的终端会话中,运行以下命令:
    cd $HOME
    git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git
    cd cymbal_gadgets
    git checkout YOUR_DEV_BRANCH
    
    YOUR_GITHUB_USER 替换为您的 GitHub 用户账号名称。同时将 YOUR_DEV_BRANCH 替换为您的开发分支名称。您的开发分支的名称类似于 dev-john-doe-jhgr,即字词 dev 后跟您的名字和姓氏,再后跟一个简短的随机字符串。您可以在 Looker 界面中 LookML 编辑器的顶部找到您的个人开发分支。

3. 设置智能 IDE

安装 VS Code 扩展程序

在 IDE 中,点击左侧面板中的“扩展程序”图标。然后搜索“Looker”,点击安装按钮,安装 Google 的官方扩展程序。

安装 MCP Toolbox for Databases 服务器

如需为 Antigravity 提供对 Looker API 的访问权限(运行查询、检查 SQL、检查 LookML 模型和检查连接架构信息),您需要运行本地 MCP Toolbox for Databases 服务器。MCP Toolbox 随附官方 Looker MCP 实现。在本部分中,您将设置此服务器并针对您的 Looker 实例对其进行配置。

  1. 首先,您需要 API client_idclient_secret。按照 Looker API 密钥指南 中的说明,为您的用户生成 client_idclient_secret。您还需要 Looker 实例的基础网址。
  2. 现在,您将使用 npx 安装 MCP Toolbox。您可以将 Looker 实例网址和 API 凭据作为内嵌环境变量提供,也可以在 Shell 环境中进行设置。对于 Mac 和 Linux,请在 Shell 环境中运行以下命令:
    LOOKER_BASE_URL="https://your-instance.looker.com" \
    LOOKER_CLIENT_ID="YOUR_CLIENT_ID" \
    LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET" \
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    
    对于 Windows,请在 Powershell 中运行以下命令:
    $env:LOOKER_BASE_URL="https://your-instance.looker.com"
    $env:LOOKER_CLIENT_ID="YOUR_CLIENT_ID"
    $env:LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET"
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    

配置 VS Code 扩展程序

在此步骤中,您将配置 VS Code 扩展程序以连接到 Looker 和 Looker MCP 服务器。

  1. 在 Antigravity 中,使用 CMD-SHIFT-P (Mac) 或 CTRL+SHIFT+P (Linux/Windows) 打开命令面板,然后选择 Preferences: Open Workspace Settings (JSON)
  2. 将以下内容添加到工作区设置,以使用 client_idclient_secret 配置扩展程序。对于 looker.projectId,请使用 cymbal_gadgets
    {
       "looker.instanceURL": "https://your-instance.looker.com",
       "looker.clientId": "YOUR_API_KEY_CLIENT_ID",
       "looker.clientSecret": "YOUR_API_KEY_CLIENT_SECRET",
       "looker.projectId": "cymbal_gadgets"
    }
    

打开编辑器

  1. 打开 Antigravity。
  2. 依次点击文件 > 打开文件夹…
  3. 找到并选择 cymbal_gadgets 文件夹。

4. 创建客户生命周期价值测量

首先,您将使用智能体在现有 LookML 模型中创建新 测量。在此零售用例中,Customer Lifetime Value 测量将非常有用。您将使用智能体来确定此测量的方法和 LookML。

提示智能体

在 Antigravity 工作区的 cymbal_gadgets 项目中,您应该会在右侧看到一个新的对话界面。使用最新的 Gemini 模型,以提示 Create a Customer Lifetime Value measure.规划模式 下开始对话。

Antigravity 中提示的屏幕截图

检查实施计划

智能体将首先创建一个实施计划。打开实施计划进行查看,然后点击继续 按钮。

实施计划的屏幕截图

查看 LookML

查看更改后的 LookML。确保更改合理且有效。

更改后的 LookML 的屏幕截图

修改后的 LookML 会通过 VS Code 扩展程序自动与 Looker 同步。可以在开发模式 下进行测试。

在 IDE 中进行测试

提示 Antigravity query CLV broken down by customer loyalty tier。Antigravity 将使用 Looker MCP 服务器查找模型、检查可用字段,并使用 Looker 运行查询。结果将类似于以下内容:

Antigravity 中的数据屏幕截图

在 Looker 中进行测试

在 Looker 中,激活开发模式后,打开 🛍️ Cymbal Gadgets:交易和销售额 探索。选择“客户生命周期价值”度量,然后按“Customer Registration Year”进行透视。运行查询。它应类似于以下内容。

探索的屏幕截图

5. 创建客户生命周期价值信息中心

现在,我们将尝试一个更复杂的示例。我们将要求智能体创建一个全新的 LookML 信息中心。

向智能体请求新信息中心

切换回 Antigravity。在同一对话中,确保已选择规划模式 和最新的 Gemini 模型。然后提示 Create a dashboard showing customer lifetime value based on customer loyalty tier

信息中心创建过程的屏幕截图

同样,批准实施计划并接受代码更改。现在,这个新的 LookML 文件将自动与 Looker 同步。

在 Looker 中进行测试

在开发模式下,前往 LookML Dashboards 文件夹。选择新创建的信息中心以查看它。

新信息中心的屏幕截图

6. 清理

  1. 在 Antigravity 的“源代码控制”窗格下,根据需要恢复 LookML 更改。每个修改后的 LookML 文件旁边都会有一个类似于 ↶ 的符号,用于恢复文件。针对每个文件按该按钮。 还原更改的屏幕截图
  2. 在 Looker 中,依次选择管理数据库连接 。点击 cymbal_gadgets 连接对应的齿轮图标,然后选择删除 。确认您要删除连接。
  3. 在 Looker 中使用开发模式 。依次选择开发cymbal_gadgets 项目。在项目设置 下,选择删除项目 。输入项目名称 cymbal_gadgets,然后选择标有 永久删除 cymbal_gadgets 的按钮,确认您要删除该项目。

7. 恭喜

恭喜您完成此 Codelab。

所学内容

  • 如何使用智能体修改 LookML。
  • 如何验证实施计划。
  • 如何从 IDE 进行测试。
  • 如何在 Looker 界面中进行测试。
  • 如何使用智能体创建新信息中心。

可以尝试的操作

现在,在界面中尝试以下提示,了解智能 IDE 的不同功能:

  • 良好的说明对于用户和 AI 都至关重要。提示智能体为所有没有说明的字段添加说明。
  • 要求智能体向其中一个维度组添加更多时间范围。
  • 要求智能体执行类似于“按商品类别细分收入,按季度透视”的查询。

了解详情