本記事は
【Advent Calendar 2024】
25日目の記事です。
🌟🎄
24日目②
▶▶ Merry Christmas!!
🎅🎁
はじめに
クラウド事業推進部の小野内です。今年のアドベントカレンダーの最終日を担当させていただきます。
普段は、Google Cloud のデータ分析基盤の開発・運用をメインで担当しています。Cloud Composer・BigQuery・Cloud Storageあたりのサービスをよく触っています。
最近はLookerの拡張機能であるExplore Assistantを利用した検証を行っています。基本機能や、実際に触ってみて分かったことについてまとめてみました。
※LookerはGoogleCloud社が提供しているデータの分析・可視化が行えるBIツールです。
想定している読者
- Google Cloud 技術に興味ある方
- データ基盤に興味ある方
- 生成AI技術に興味ある方
- Lookerの基礎知識がある方
Explore Assistant とは
Explore Assistant とは、Lookerの拡張機能の一種です。 Lookerの一部機能(参照先データソースの情報を可視化、条件で絞り込みをかけて情報の表示等)を生成AI(Gemini)を利用して使うことができます。
※ここで言う「Looker」とは、Looker Studioではなく、Looker Coreやオリジナルを指します。それぞれの違いについては本記事では割愛しています。
ご紹介するExplore Assistantは、Gemini in Lookerとは別物になります。
基本機能
基本機能としては質問履歴・キャッシュ・分類されたプロンプト・マルチターン・要約機能があります。 それぞれについて紹介します。
- 質問履歴機能
Explore Assistantは、チャット形式で、自然言語(日本語等)を使って質問をすることができます。 質問内容は、Lookerの参照先のデータソース(テーブル)内にある情報についての質問である必要があります。 例えば、テーブル内に、日本の天気に関する情報のみ含まれるとして、海外の天気に関する質問をしても回答が得られない事になります。
質問した内容を履歴として記録できます。以下画面キャプチャ①の部分が該当箇所です。
- キャッシュ機能
Explore Assistantでは、自然言語で質問した結果は、Explore AssistantがLookerに命令して、指定したデータソースのExploreの結果を出してくれます。その際に、URL で結果が出力されるのですが、こちらをキャッシュすることができる機能になります。以下画面キャプチャ②の部分が該当箇所です。
- 分類されたプロンプト機能
Explore Assistantのチャット欄にサンプルの質問集を表示することで、自然言語をユーザで手入力しなくてもサンプルから選択した質問をすることができる機能です。以下画面キャプチャ③の部分が該当箇所です。
- マルチターン機能
一度に複数の質問をしたときに、前の質問内容を保持したり、質問内容にある条件を変更するようなことができます。
少し分かりにくいので補足しますと、例えば、
「東京の天気は?」と質問した後、「明日の天気は?」と続けて質問した場合、Explore Assistant は最初の質問で得られたコンテキスト(東京)を保持し、2番目の質問に答える際に、東京の明日の天気を提供することができるようになります。
「東京のレストランを探して」と指示した後、「イタリアンで、評価の高いお店を教えて」と続けて質問した場合、Explore Assistant は最初の質問で得られたコンテキスト(東京)と、2番目の質問で得られた情報(イタリアン、評価が高い)を組み合わせ、適切なレストラン情報を提供することができます。
- 要約機能
自然言語で問い合わせた結果の要約を表示することができます。
環境構成
GitHubを参考に、環境を構築してます。環境を構築しています。私が構築した環境は以下の構成となっています。
以下番号(④,⑤,⑥)が対応しています。
④Looker オリジナル(SaaS)環境 → BigQuery(接続先のデータソース)
Lookerは接続先のデータソース(BigQuery等)のテーブルに接続して、可視化や分析等を行えます。
⑤Looker オリジナル(SaaS)環境 → BigQuery(Explore Assistantパラメータ格納用)
自然言語で質問をした際に、回答する内容を学習させたり、 Explore IDの内容を定義したりすることができます。
⑥Looker オリジナル(SaaS)環境 → BigQuery ML → 生成AI(Vertex AI)
Lookerから、Vertex AIを利用する際の経路です。BigQuery MLが生成AIのエンドポイントとなっています。自然言語の質問をExplore Assistantが解釈する際等に、この経路が利用されます。
実際に検証してみてわかったこと
Explore Assistantのソースコードは、JavaScriptやPython等の言語で書かれています。 こちらのコードは要件に応じて、カスタマイズ可能です。デフォルトでは、Explore AssistantのUI画面は英語表記なので、こちらを日本語表記に変更したい等の要件がある場合は、プログラムの知識が必要です。
Lookerは、基本機能として参照先のデータソースを可視化(円グラフ等)や分析することができ、これは、Explore Assistantから、自然言語で命令して実施できます。
一方で、その他基本機能としてダッシュボードの作成や分析結果をCSV出力することができますが、Explore Assistantから自然言語で命令して、Lookerに同じことをさせようとしてもできません。 このように、Explore Assistantでは非対応のLooker機能があることが分かりました。
最後に
ここまでいかがでしたでしょうか?皆さんの理解の助けになればうれしいです。 他にもGoogle Cloudに関する記事を投稿していますので、良かったら見ていって下さい。