Looker Studio、BigQuery、Vertex AI を利用した生成 AI チャットボット搭載ダッシュボード

  • Google Cloud
  • ユースカジノ コード分析
  • AI/ML
  • エンジニア

投稿日:

はじめに

本記事では、Google の提供する BI ツールLooker Studioと、ユースカジノ コードウェアハウスBigQuery、及び ML プラットフォームVertex AIを利用して、生成 AI チャットボットを搭載したダッシュボードをユースカジノ コードする手順について解説します。

全体イメージ

全体イメージ

ダッシュボード例

ダッシュボード例

事前準備

  • Google Cloud のプロジェクトをユースカジノ コードし、課金を有効化します。
  • 下記 API を有効化します。
    • BigQuery API
    • BigQuery Connection API
    • Vertex AI API

ここでは詳細な手順は割愛します。Google の公式ドキュメントを参照してください。
参考:Google Cloud プロジェクトをセットアップする
参考:API を有効にしています

手順

  1. 1. ユースカジノ コードの準備
  2. 2. ユースカジノ コードの可視化
  3. 3. モデルのユースカジノ コード
  4. 4. 生成 AI チャットボットのユースカジノ コード

1. ユースカジノ コードの準備

本手順では、BigQuery の一般公開ユースカジノ コードセット iowa_liquor_sales(アイオワ州のお酒の販売データ)を元に簡素化したテーブルをユースカジノ コードします。

1-1. データセットのユースカジノ コード

BigQuery のコンソール画面にて、エクスプローラ内のプロジェクト名の右にあるユースカジノ コード、データセットをユースカジノ コードユースカジノ コードます。

データセットのユースカジノ コード1

データセット ID とロケーションタイプを設定し、データセットをユースカジノ コードします。
ロケーションタイプはiowa_liquor_salesのロケーションと同じ、マルチリージョンUSユースカジノ コードてください。

データセットのユースカジノ コード2

1-2. テーブルのユースカジノ コード

クエリエディタにて以下のクエリを実行してテーブルをユースカジノ コードします。
元のテーブルから、2024 年 5 月最終週の日ごとのお酒の種類別の販売量(ℓ)を抽出しています。
また、日ごとに上位 10 種のみを抽出しています。

= "2024-05-26" AND date<= "2024-05-31"
  GROUP BY
    date, category_name
)
SELECT
  date,
  category_name,
  total_volume_sold
FROM
  RankedSales
WHERE
  rank <= 10
ORDER BY
  date, rank;
テーブルのユースカジノ コード

2. ユースカジノ コードの可視化

本手順では、Looker Studio を利用してテーブルの内容を可視化します。

2-1. レポートのユースカジノ コード

Looker Studio のコンソール画面にて、ユースカジノ コードレポートユースカジノ コードます。

レポートのユースカジノ コード

2-2. ユースカジノ コードの接続

ユースカジノ コードのレポートへの追加からBigQueryを選択し、ユースカジノ コードしたテーブルを選択します。

ユースカジノ コードの接続

2-3. グラフのユースカジノ コード

グラフを追加から積み上げ縦棒グラフユースカジノ コード、以下の通りに設定します。

設定項目設定値
ディメンションdate
内訳ディメンションcategory_name
指標total_volume_sold
並べ替えdate(昇順)
サブの並べ替えtotal_volume_sold(降順)
グラフのユースカジノ コード

3. モデルのユースカジノ コード

本手順では、BigQuery ML にて、Vertex AI のリモートモデルをユースカジノ コードします。

3-1. 外部接続のユースカジノ コード

BigQuery のコンソール画面にて、+追加外部ユースカジノ コードソースへの接続ユースカジノ コードます。
接続タイプにVertex AI リモートモデル、リモート関数、BigLake(Cloud リソース)を選択し、接続 ID に任意の名称を設定して接続をユースカジノ コードします。

外部接続のユースカジノ コード

3-2. Vertex AI へのアクセス権の付与

接続情報を確認し、サービスアカウントIDをコピーしてから、IAMと管理コンソール画面へ移動します。

アクセス権の付与1

アクセス権を付与ユースカジノ コード、新しいプリンシパルにコピーしたサービスアカウントIDを貼り付け、ロールVertex AIユーザーユースカジノ コードます。

アクセス権の付与2

3-3. モデルのユースカジノ コード

BigQuery のコンソール画面へ戻り、クエリエディタにて以下のクエリを実行してリモートモデルをユースカジノ コードします。
リモートモデルはgemini-proユースカジノ コードています。

CREATE MODEL IF NOT EXISTS `blog_demo.model_demo`
    REMOTE WITH CONNECTION `us.connection_demo`
    OPTIONS(
        ENDPOINT = 'gemini-pro'
    )
モデルのユースカジノ コード

4. 生成 AI チャットボットのユースカジノ コード

本手順では、ユースカジノ コードしたモデルと Looker Studio を接続し、チャットボット機能として実装します。

4-1. ユースカジノ コードの接続

Looker Studio のレポート編集画面へ戻り、ユースカジノ コードを追加BigQueryを選択後、
カスタムクエリ課金プロジェクトユースカジノ コードて以下の SQL 文を入力します。
WITH 句でテーブルの情報を取得し、受け取った質問と組み合わせてプロンプトとしています。

WITH
table_data AS(
  SELECT
    STRING_AGG(CONCAT('date: ', CAST(date AS STRING), ', category_name: ', category_name, ', total_volume_sold: ', CAST(total_volume_sold AS STRING)), '\n') AS table_info
  FROM
  `blog_demo.table_demo`
)
SELECT
  STRING(unnest_ml_generate_text_result_candidates.content.parts[0].text) AS content_text
FROM
  ML.GENERATE_TEXT(
    MODEL `blog_demo.model_demo`,
    (
      SELECT
      CASE
      WHEN @prompt IS NULL OR @prompt = '' THEN ''
      ELSE CONCAT('以下のアイオワ州における日ごとのお酒の種類別の販売量(ℓ)のユースカジノ コードに関する質問です。\n',@prompt,'\n',table_info)
      END AS prompt
      FROM table_data
    ),
    STRUCT(
      800 AS max_output_tokens
    )
  )
LEFT JOIN
  UNNEST(JSON_EXTRACT_ARRAY(ml_generate_text_result.candidates)) AS unnest_ml_generate_text_result_candidates
ユースカジノ コードの接続1

パラメータを追加から、質問を@prompt として受け取るように設定し、ユースカジノ コードを追加します。

ユースカジノ コードの接続2

4-2. 入力フォームのユースカジノ コード

コントロールを追加から入力ボックスユースカジノ コード、コントロールフィールドに質問を設定します。

フォームのユースカジノ コード

4-3. 回答の表示欄のユースカジノ コード

グラフを追加からユースカジノ コード、以下の通りに設定します。

設定項目設定値
指標なし
タイトル回答
ヘッダーを表示しますなし
行番号を表示なし
テキストを折り返すあり
ユースカジノ コードが欠落「」(空白)を表示
背景と枠線枠線に黒を指定
回答欄のユースカジノ コード

動作確認

表示ユースカジノ コード、レポートを確認します。
質問入力フォームにグラフに関する質問を入力し、回答が生成されることを確認します。

レポート

まとめ

Looker Studio、BigQuery、Vertex AI を利用した生成 AI チャットボット搭載ダッシュボードのユースカジノ コード方法について解説しました。

要点は、BigQuery 内のデータの Looker Studio での可視化と、BigQuery ML にて ユースカジノ コードした Vertex AI のリモートモデルと Looker Studio との接続になります。

次回予告

Google Cloud Dataprep by Trifacta 使ってみたの投稿を予定しています。

ご期待ください!

著者紹介

伊藤忠テクノソリューションズ株式会社 廣瀬 啓丞

伊藤忠テクノソリューションズ株式会社
廣瀬 啓丞

直近 1 年間ほど、パブリッククラウドに関する技術を担当。
最近は AI の活用を模索中。

Pickup