Technical Blog テクニカルブログ
  1. HOME
  2. テクニカルブログ
  3. Looker Extension Framework -Explore Assistant-のデプロイ方法~ユースケースを一挙公開!

Looker Extension Framework -Explore Assistant-のデプロイ方法~ユースケースを一挙公開!

投稿者:杉山

目次

  1. はじめに
  2. Explore Assistantで出来ること
  3. 構築してみる
  4. さいごに

1.はじめに

こんにちは、杉山です。
今回は以下のデモでも使用している「Looker×生成AI」の自然言語でデータ探索が可能な『Looker Extension Framework -Explore Assistant-』をピックアップしてご紹介します。

※バージョンアップにより本投稿で使用している見栄えとデモで使用している見栄えが一部画面が異なります。

Looker Extension Framework(Looker拡張フレームワーク)についてはこちらのブログをご覧ください。

2.Explore Assistantで出来ること

  1. 自然言語でのグラフ作成(マルチターン可)
  2. Explore表示結果の簡単な要約

社内のデータ構造に詳しくないユーザーも自然言語でデータ探索が可能となり、「データ探索⇒グラフ作成」といったフローの手間が概ね解消される便利な機能です♪

3.構築してみる

使用するサービス

  • VScode(その他Cloud Shellなど任意の開発環境でOK)
  • Looker
  • Cloud Function(任意)
  • BigQuery
  • Vertex AI

事前準備

構築を行う環境に以下アプリケーションがインストールされていない場合はインストールが必要です。

  • Git
  • Node.js(npm)
  • Google cloud SDK
  • yarn
    • インストールコマンド:https://chore-update–yarnpkg.netlify.app/ja/docs/install
  • openssl(任意)
  • Git Bash (任意)

また、Lookerサービスアカウントでの認証を行います。(Google Cloud コンソール>IAMと管理>サービスアカウント>対象サービスアカウントのキーをダウンロード後、Cドライブの任意の場所へ移動)

手順

基本的にはGitHubに記載されているSetupの手順に沿って開発を行うのですが、Windows環境だと一筋縄にはいかなかった箇所もあったので気を付けるべきポイントをシェアしたいと思います!

まずSetupのBackend SetupのリンクからBackendに使用するサービスをCloud Functionにするか、BigQueryにするかを選択します。今回はCloud Functionを使用しますが、opensslのコマンドでエラーが発生した方はこちらからopensslをダウンロードして再実行します。

今回VScodeを使用しコマンドを入力していますが、exportコマンドはWindows Powershellを使用して実行しました。
またexportコマンドをWindows Powershellで実行する場合、以下に置き換えて実行する必要があります。

$env:TF_VAR_project_id="PASTE BQ PROJECT ID HERE"
$env:TF_VAR_use_bigquery_backend=0
$env:TF_VAR_use_cloud_function_backend=1
$env:TF_VAR_looker_auth_token="cat ../../.vertex_cf_auth_token"


terraformコマンドを実行中にpj_idを問われた場合は、上記で定義したBigQueryのPJ IDを入力してください。

次にSetup手順の2つ目、Example generationに進みます。
まずLooker-extension-framework>looker-explore-examples>.envファイルの環境変数を指示に従って変更します。

PROJECT_ID="PROJECT_ID" ##Required. The Google Cloud project ID where your BigQuery dataset resides.
DATASET_ID="DATASET_ID" ##The ID of the BigQuery dataset. Defaults to explore_assistant.
EXPLORE_ID="MODEL:EXPLORE_ID" ##Required. A unique identifier for the dataset rows related to a specific use case or query (used in deletion and insertion).

EXPLORE_IDはExploreを定義しているmodelファイルとExplore Assistantに使用したいExploreの情報を設定します。例えば「販売分析」のExploreをExplore Assistantに使用したい場合、EXPLORE_IDに設定するべき変数は「NIC_Retail:t_sales」が正解です◎

変数の設定完了後、以下のコマンドをVScode上で実行します。
Windows環境でsourceコマンドを使用する場合は.venv\Scripts\activateに変更して実行します。

以下Windows環境で実行するにはWindowsの書き方に変更!というわけにはいかず、、、一番手っ取り早い方法はGit Bashをインストールして実行かなと思います。デフォルトの例文を更新したい場合以外、Update the general examplesに記載のコマンドは実行しなくてOKです◎

複数のExploreでExplore Assistantを実行したい場合、環境変数を変更し再度上記のコマンドを実行してください。
正常に実行されたかはBigQueryのテーブルのプレビューからも確認できます。

続いてSetupの手順3つ目、Frontend Setupをみていきます。
環境変数については以下の説明の通り設定していきます。

VERTEX_BIGQUERY_LOOKER_CONNECTION_NAME='This is the connection name in Looker with the BQ project that has access to the remote connection and model'
BIGQUERY_EXAMPLE_PROMPTS_CONNECTION_NAME='The BQ connection name in Looker that has query access to example prompts. This may be the same as the Vertex Connection Name if using just one gcp project'
BIGQUERY_EXAMPLE_PROMPTS_DATASET_NAME='This is the dataset and project that contain the Example prompt data, assuming that differs from the Looker connection'
VERTEX_AI_ENDPOINT='This is your Deployed Cloud Function Endpoint'
VERTEX_CF_AUTH_TOKEN='This is the token used to communicate with the cloud function'

BIGQUERY_EXAMPLE_PROMPTS_CONNECTION_NAMEは以下の例ではnic-sampleにあたります。

VERTEX_AI_ENDPOINTは以下のHTTPSにあるURLを設定します。

環境変数の設定完了後、以下コマンドを実行しhttps://localhost:8080/bundle.js.をクリックして起動していることを確認します。

次にLooker側で新規プロジェクトを作成し、以下manifest.fileを作成します。
Lookerを初めて利用される方はこちらから手順をご確認ください。

作成した新規プロジェクトをDeployして本番環境に適用すると、メインメニュー>アプリケーション>Explore Assistantから以下のような画面が表示されるのでプロンプトを入力し、使用可能であることを確認します。

問題なく画面が表示できたらnpm run buildを実行し、生成されたdistディレクトリ配下のbundle.jsをLookML IDEにアップロードします。

npm run buildを実行しようとした際にコマンドが読み込めないエラーが発生した場合、package.jsonのscriptを一部変更して再実行してください。(今回はWindowsの書き方に変更)

manifest.lkmlのfile:”bundle.js”のコメントアウトを解除し、url: “https://localhost:8080/bundle.js”をコメントアウトします。同様にexternal_api_urls: [“cloud function url”]のコメントアウトを解除し、Cloud FunctionのURLを追加します。以上の手順が完了したら再度Deployし、本番環境で利用可能なことを確認します。

application: explore_assistant {
label: "Explore Assistant"
# url: "https://localhost:8080/bundle.js"
file: "bundle.js"
entitlements: {
core_api_methods: ["lookml_model_explore","create_sql_query","run_sql_query","run_query","create_query"]
navigation: yes
use_embeds: yes
use_iframes: yes
new_window: yes
new_window_external_urls: ["https://developers.generativeai.google/*"]
local_storage: yes
external_api_urls: ["cloud function url"]
}
}

4.さいごに

今回はLooker Extension Framework -Explore Assistant-についてデプロイ方法~ユースケースまでをご紹介しましたがいかがでしたでしょうか?今年の初めに紹介されてからバージョンアップを重ね、アプリケーションを開いた画面では複数のExploreから選択できるようになっていたりと日々使いやすくなっています!

弊社では構築~プロンプトのチューニングまでご支援させて頂くことが可能ですのでご興味ある方はぜひお問い合わせください。

Looker Extension Frameworkのデモを紹介しているブログはこちら↓
【Google Cloud Next Tokyo ’24 振り返り】Looker Extension Frameworkを使用した案件管理 デモ動画

Looker Extension Framework -Dashboard Summarization-のデモを紹介しているブログはこちら↓
・ Looker Extension Framework -Dashboard Summarization-のデプロイ方法~ユースケースを一挙公開!

2024/11/8(金)16時より渋谷ストリームにて、オンサイトセミナーを開催します!

本セミナーでは、Looker × 生成AI を業務に活用する事例をベースにその活用法と成功の秘訣をご説明します。
現行のデータ活用に課題がある方、Looker × 生成AIの検証をしてみたいといった課題がある方
個別相談会の時間を設けておりますので、是非ご参加ください♪

ページのトップへ