2024年9月26日 自然言語でデータを可視化できるLookerのExplore Assistantを試してみた Google Cloud Looker 検索する Popular tags 生成AI(Generative AI) Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL Category Google Cloud Author ten SHARE 目次 Explore Assistantとは 下準備 Backendを構成する Exampleを作成する Frontendを構成する 動作確認 Content tenです。 今回は、GitHubのLooker Open Sourceで公開されている「Explore Assistant」という拡張機能を試してみました。 本記事は、2024年9月22日時点の最新のリビジョン(9f8f60b) を利用しています。頻繁にアップデートされておりますので、ご注意ください。 Explore Assistantとは Explore Assistantは、自然言語による問い合わせに基づいて、LookerのExploreを動的に生成する拡張機能です。 Exploreの生成には、LookMLで定義されたメタデータを利用しますので、Lookerの特徴でもある「共通の指標で、誰もが同じ分析結果を得られる」という強みを最大限に活かすことができます。 Explore Assistantは、Looker 拡張機能 (Looker Extension)という仕組みを利用して、Looker上にWebアプリケーションとして実装します。 実装手順はリポジトリのREADMEにも詳しく書かれておりますので、これを見ながら進めていきましょう。 下準備 リポジトリをクローンする まず最初に、Explore Assistantのリポジトリを任意の場所にクローンします。 git clone https://github.com/looker-open-source/looker-explore-assistant.git Google Cloudプロジェクトの作成(省略可) 必要に応じて、Google Cloudプロジェクトを作成します。 接続の作成 先ほど作成した (もしくは既存の) Google Cloudプロジェクトへの接続を作成します。 LookMLプロジェクトの作成 LookMLプロジェクトを作成し、先ほど作成した接続を含めたmodelファイルを作成しておきます。 Backendを構成する 次に生成AIとのやり取りを担うBackendを構成します。 Backendには以下の2通りの構成があります。要件に合わせて使い分けましょう。 1. Cloud Functions/Cloud Runで構成する 2. BigQuery/リモートモデルで構成する 今回は、より簡単に構成できる 2 で進めていきます。 BigQuery Backendをデプロイする BackendをデプロイするTerraformが用意されていますので、これを使用します。 環境変数を以下の値に設定し、terraformコマンドを実行していきます。 cd explore-assistant-backend/terraform export TF_VAR_project_id={PROJECT_ID} export TF_VAR_use_bigquery_backend=1 export TF_VAR_use_cloud_function_backend=0 Terraformを初期化し、planでデプロイされるリソースを確認します。 terraform init terraform plan 結果に問題がなければ、リソースを作成していきます。 terraform apply サービスアカウントへの権限付与と接続の作成 explore-assistant-bq-sa という名前のサービスアカウントが作成されています。 BackendをBigQueryにする場合、こちらのサービスアカウントに「roles/bigquery.connectionUser」ロールを割り当てておきます。 また、サービスアカウントキーを作成し、Lookerで接続を作成します。 この接続は後の工程で利用しますので、名前を控えておきます。 Exampleを作成する Explore Assistantでは、One-shotあるいはFew-shotと呼ばれるプロンプトのテクニックを使用して、精度を高めます。 実際にExplore Assistantを運用していく場合には、このExampleをどのようにメンテナンスしていくかも非常に重要な要素です。 今回は割愛しますが、Lookerのシステムアクティビティから上位のクエリを特定してExampleに追加することが推奨されております。 また、Exampleを自動生成するJupyter Notebookも用意されていますので、必要に応じて利用してみてください。 それでは進めていきましょう。 必要なパッケージのインストール cd explore-assistant-examples pip install -r requirements.txt 入出力例の作成 必要に応じて、入出力例を作成します。 今回は、リポジトリに含まれている examples.json および refinement_examples.json を使用して進めていきます。 load_examples.pyを実行 入出力例をBigQueryにアップロードします。 プロジェクトIDや、Lookerのモデル・Exploreについては適宜変更してください。 python load_examples.py --project_id {PROJECT_ID} --explore_id {MODEL}:{EXPLORE_ID} --table_id explore_assistant_examples --json_file examples.json python load_examples.py --project_id {PROJECT_ID} --explore_id {MODEL}:{EXPLORE_ID} --table_id explore_assistant_refinement_examples --json_file refinement_examples.json python load_examples.py --project_id {PROJECT_ID} --explore_id {MODEL}:{EXPLORE_ID} --table_id explore_assistant_samples --json_file samples.json --column_name samples Frontendを構成する 最後に、Frontendを構成していきます。 .env ファイルの作成 explore-assistant-extension フォルダに .env ファイルを作成します。 VERTEX_BIGQUERY_LOOKER_CONNECTION_NAME および BIGQUERY_EXAMPLE_PROMPTS_CONNECTION_NAME は Backend で作成しておいた接続名を入力します。 VERTEX_BIGQUERY_LOOKER_CONNECTION_NAME={Lookerの接続名} BIGQUERY_EXAMPLE_PROMPTS_CONNECTION_NAME={Lookerの接続名} BIGQUERY_EXAMPLE_PROMPTS_DATASET_NAME={Exampleを保存するデータセット} VERTEX_BIGQUERY_MODEL_ID={Terraformで作成されたリモートモデルのID} embed_domain変数の編集 利用するLooker環境に合わせて embed_domain を編集します。 Looker (Google Cloud Core)であればデフォルトのまま、そうでない場合は hostUrl を window.origin に書き換えます。 ビルドする 下記のコマンドを実行し、ソースをビルドします。 npm run build LookMLプロジェクトを設定 下準備で作成しておいたLookMLプロジェクトに、distフォルダに出力された bundle.js をアップロードします。 次に、manifest.lkml ファイルを作成します。 こちらもサンプルが含まれていますので、これを参考にします。 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"] } } 動作確認 LookMLをデプロイすると、ハンバーガーメニューの「アプリケーション」にExplore Assistantが表示されています。 こちらをクリックします。 次に利用するExploreを指定し、画面下部のテキストボックスから自然言語でリクエストしてみます。 グラフが表示されました!今回はインターフェースなどは英語のまま進めましたが、日本語でリクエストすることもできます。 さいごに Explore Assistantを利用することで、自然言語でグラフを表示することができました。 この機能をうまく活用すると、誰もが自由にデータを分析できるようになりそうですよね。 今回は細かなカスタマイズは割愛しましたが、プロンプトの微調整やExampleの準備、LookMLのメタデータを充実化させることで、より生成AIのアウトプットの精度を高めることが可能です。 ぜひ、Explore Assistantを使いこなして、データドリブンな意思決定に役立ててみてください。 システムサポートでは、Google CloudやLookerの導入や活用を支援しております。 Explore Assistantを使ってみたいと感じた方は、お気軽にご相談ください! Google Cloud導入・活用支援に関するご相談はこちら 関連コンテンツ 【Google Cloud】Looker Studio × Looker Studio Pro × Looker を徹底比較!機能・選び方を解説 by Google Cloud研究開発チームon 2023年9月5日 【Google Cloud】集計方法の異なる累計をひとつのグラフで表示する【Looker】 by 佐Ton 2023年1月18日 Lookerで自作のCustom Visualizationを利用してみよう! by tenon 2024年9月24日 頂きましたご意見につきましては、今後のより良い商品開発・サービス改善に活かしていきたいと考えております。 よく分かった 気になる おもしろい イマイチ Author ten 株式会社システムサポート 大阪支社システムインテグレーション事業部所属。 Google Cloud 認定資格 10資格、AWS 認定 12資格。マルチクラウドの知見を活かし、プリセールスを担当しています。 Google Cloud Looker 2024年9月26日 自然言語でデータを可視化できるLookerのExplore Assistantを試してみた Category Google Cloud 前の記事を読む Lookerで自作のCustom Visualizationを利用してみよう! 次の記事を読む モブレビューを導入して分かったメリットとデメリットについて Recommendation オススメ記事 2023年9月5日 Google Cloud 【Google Cloud】Looker Studio × Looker Studio Pro × Looker を徹底比較!機能・選び方を解説 2023年8月24日 Google Cloud 【Google Cloud】Migrate for Anthos and GKEでVMを移行してみた(1:概要編) 2022年10月10日 Google Cloud 【Google Cloud】AlloyDB と Cloud SQL を徹底比較してみた!!(第1回:AlloyDB の概要、性能検証編) BigQuery ML ワークショップ開催のお知らせ 生成AI導入支援パッケージ Discovery AI導入支援パッケージ Google Cloud ホワイトペーパー 新着記事 2024年9月30日 Google Cloud 【Google Cloud】サーバレスでマネージドなサービス「Cloud Run」でアプリケーションを走らせよう! 2024年9月27日 技術開発 モブレビューを導入して分かったメリットとデメリットについて 2024年9月26日 Google Cloud 自然言語でデータを可視化できるLookerのExplore Assistantを試してみた HOME Google Cloud 自然言語でデータを可視化できるLookerのExplore Assistantを試してみた ご意見・ご相談・料金のお見積もりなど、お気軽にお問い合わせください。 お問い合わせはこちら HOME Categories お知らせ イベント・セミナー Google Cloud Google Workspace モバイル インフラ 技術開発 ブログ 4koma Tags 生成AI(Generative AI) Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL STSエンジニアリングマガジン 「サイタル」