2025年6月5日 Looker の生成 AI 拡張機能 Query Insights を試す Looker 検索する Popular tags 生成AI(Generative AI) Vertex AI Search Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL Category Google Cloud Author tom SHARE 目次 Query Insights とは バックエンドを構築する フロントエンドを構築する 動作確認 日本語対応 まとめ Content Google Cloud のデータ分析プラットフォーム Looker の生成 AI 拡張機能「Query Insights」を試してみました。Query Insights は、Explore で作成したクエリから得られるインサイトを要約して提示してくれる Looker の拡張機能です。 本記事では、2025 年 5 月時点 (リビジョン: e271022) での検証をもとに、Query Insights の概要、構築手順、日本語化についてご紹介します。今後のアップデートにより、機能、操作方法、構築手順などが変更される可能性がある点にご留意ください。 Query Insights とは Query Insights は、Looker の生成 AI 拡張機能です。Explore で作成したクエリ結果を自然言語で要約し、データの概要やインサイトを生成します。これにより、専門的な知識がなくてもデータの内容を容易に把握でき、複雑なクエリ結果も直感的に理解できるようになります。 [補足] Looker の 生成 AI 拡張機能 Looker では、Query Insights の他にも様々な生成 AI 拡張機能が提供されています。以下の記事もぜひご覧ください。 自然言語でデータを可視化できるLookerのExplore Assistantを試してみた Looker の生成 AI 拡張機能 Dashboard Summarization を試す Query Insightsのソースコードは、GitHub で公開されています。本記事では、GitHub のLooker Query Insights Extension を参照しながら、以下の手順で Query Insights の構築と機能の確認を行います。 バックエンドの構築 フロントエンドの構築 動作確認 さらに、日本語環境で Looker を利用するユーザーのために、Query Insights を日本語に対応させる方法もご紹介します。 構築前の準備 Query Insights を構築する前に、以下の環境が整っていることを確認してください。 Google Cloud プロジェクト: バックエンドを構築するために使用します。 サービスアカウント: Looker が Google Cloud に接続するために使用します。 Looker 空のプロジェクト: Query Insights を設定するために使用します。 バックエンドを構築する まず、バックエンドの構築から始めましょう。GitHub の Query Insights Backend の手順に従い、リポジトリからクローンしたソースコードを Terraform でデプロイします。 1. GitHub リポジトリからソースコードをクローンします。 git clone https://github.com/looker-open-source/looker-query-insights.git 2. terraform ディレクトリに移動します。 cd looker-query-insights/query-insights-backend/terraform 3. 環境変数を定義します。スクリプトのプレースホルダは実際の値に置き換えてください。今回は Windows を使用するため、set コマンドを用いて環境変数を定義します。 set TF_VAR_project_id=<PROJECT_ID> set TF_VAR_service_account=<LOOKER BIGQUERY SA> 値 説明 例 <PROJECT_ID> 準備済みの Google Cloud のプロジェクト ID。 project-id <LOOKER BIGQUERY SA> 準備済みのサービスアカウントのメールアドレス。 sa@project-id.iam.gserviceaccount.com 4. バックエンドをデプロイします。 terraform init terraform plan terraform apply 5. バックエンドが正常にデプロイされているかテストします。BigQuery のクエリエディタで次のクエリを実行します。 SELECT ml_generate_text_llm_result AS generated_content FROM ML.GENERATE_TEXT( MODEL `query_insights.query_insights_llm`, ( SELECT "hi" as prompt ), STRUCT( 0.05 AS temperature, 1024 AS max_output_tokens, 0.98 AS top_p, TRUE AS flatten_json_output, 1 AS top_k) ) [補足] モデルが見つからないというエラーが発生した場合 クエリ実行時に Not found: Model project-id:query_insights.query_insights_llm というエラーメッセージが表示された場合は、以下の手順を試してみてください。 Google Cloud コンソールを開き、BigQuery に移動します。 画面下部にある「ジョブ履歴」を開きます。 ジョブの一覧から「create_looker_llm_model-yyyymmddhhmmss」という ID のジョブを探して選択します。 選択したジョブの詳細画面でクエリをコピーし、クエリエディタで実行します。 再度テストクエリを実行し、正常に動作するか確認します。 フロントエンドを構築する 続いて、Query Insights Extension Frontend Deployment の手順に従い、フロントエンドの構築を行います。リポジトリからクローンしたフロントエンドのソースコードをビルドし、生成されたファイルをLooker にアップロードします。その後、Looker Extension の設定を行い、Looker で使用できるようにします。 フロントエンドのソースコードをビルドする 1. query-insights-extension ディレクトリに移動します。 cd query-insights-extension 2. 依存関係をインストールします。 npm install 3. .env ファイルを作成します。.env_example ファイルをコピーして .env ファイルとして保存します。ファイルに実際の値を設定します。 値 説明 例 VERTEX_BIGQUERY_LOOKER_CONNECTION_NAME Google Cloud への接続で使用する Looker 内の接続名。任意のものを指定。 connection_name VERTEX_BIGQUERY_MODEL_ID 予測に使用するモデル ID。 project-id.query_insights.query_insights_llm [補足] モデル ID の確認 予測に使用するモデル ID は BigQuery から確認できます。 Google Cloud コンソールを開き、BigQuery に移動します。 左側のナビゲーションメニューからデータセット「query_insights」を選択します。 データセット内にある「モデル」の一覧から、「query_insights_llm」を選択します。 モデルの詳細画面から「モデル ID」を確認します。 4. フロントエンドのソースコードをビルドします。今回は Windows を使用するため、package.json ファイルの build コマンドのスクリプトを次のように修正します。 "scripts": { // その他処理 "build": "set BABEL_ENV=build && webpack --config webpack.prod.js", // その他処理 ソースコードをビルドします。ビルドが完了すると、dist フォルダの中に bundle.js という名前のビルド済みファイルが生成されます。 npm run build Looker で接続を作成する BigQuery サービス アカウントによる認証 および Looker の BigQuery への接続 の手順に従い、Looker の接続を作成します。サービスアカウントは準備済みのサービスアカウントを使用します。また、接続名は「フロントエンドのソースコードをビルドする」で指定した接続名を使用してください。 Looker Extension を設定する 1. Looker にログインし、左側のナビゲーションメニューにある「開発」を選択します。準備済みの Looker の空プロジェクトを選択します。 2.「フロントエンドのソースコードをビルドする」で生成した bundle.js ファイルを、Looker プロジェクトのファイルブラウザにドラッグ&ドロップしてアップロードします。 3. query-insights-extension フォルダにある manifest.lkml ファイルを Looker プロジェクトのファイルブラウザにドラッグ&ドロップしてアップロードします。 4. モデルを作成し、何らかの接続にアクセスできるよう接続を追加します。モデルは使用されないため、任意の接続を追加していただいて構いません。また、警告が表示される include 行はコメントアウトしておきましょう。 connection: "connection_name" # include: "/views/*.view.lkml" # include all views in the views/ folder in this project # include: "/**/*.view.lkml" # include all views in this project # include: "my_dashboard.dashboard.lookml" # include a LookML dashboard called my_dashboard # # Select the views that should be a part of this model, # # and define the joins that connect them together. # # explore: order_items { # join: orders { # relationship: many_to_one # sql_on: ${orders.id} = ${order_items.order_id} ;; # } # # join: users { # relationship: many_to_one # sql_on: ${users.id} = ${orders.user_id} ;; # } # } 5. Git を構成します。今回は Bare リポジトリを使用します。 6. 変更をコミットし、本番環境にデプロイします。 動作確認 最後に、GitHub の Usage を参照に Query Insights の動作確認を行います。 1. Looker の Explore でデータ分析用のクエリを作成します。今回は BigQuery の公開データセットである theLook eCommerce を使用し、国・年齢層ごとのユーザー数を集計するクエリを実行します。 2. ビジュアリゼーションタイプとして「Query Insights」を選択します。 3. クエリ結果が自然言語で要約され、データの概要が生成されます。 “このデータは、年齢層と国別に分類されたユーザーの分布を示しています。すべての年齢層において、中国が最も多くのユーザー数を誇り、次いでアメリカとブラジルが続きます。どの国においても、ユーザーの大半は20歳から59歳の年齢層に集中しており、70歳以上の層では大きく減少しています。” LLM をカスタマイズする Query Insights は LLM の振る舞いをカスタマイズできます。LLM タブでは、以下の 3 つのパラメータを使用して生成される出力を調整できます。 モデルの Temperature: 生成される出力の変動性を調整します。 プロンプトタイプ:「要約」または「感情分析」が選択でき、出力の目的を設定します。 クエリの説明 / コンテキスト: 特定の指示や情報を追加します。LLM に送信されるプロンプトに追加されます。 例えば、LLM タブの「3. Set Query Description / Context」のフィールドに、次のように入力して Query Insights を再度動作させてみましょう。 絵文字を交えてカジュアルなトーンで回答してください。 絵文字を交えたカジュアルなトーンで回答が出力されました。このように Query Insights は出力スタイルを柔軟に制御できるので、ニーズに合わせてカスタマイズしてみてください。 日本語対応 Query Insights は、デフォルトでは英語でのインタフェース表示および回答が出力されます。そのため、日本語環境で Looker を利用するユーザーにとっては、そのままでは活用しにくい場合があります。そこで、Query Insights を日本語に対応させる方法をご紹介します。 回答の日本語化 Query Insights が出力する回答を日本語に対応させる方法はいくつかあります。1 つは、LLM タブの「3. Set Query Description / Context」のフィールドに日本語で回答するよう指示を追加する方法です。この方法はお手軽ですが、クエリを実行するたびに入力する必要があります。 そこで、恒常的に回答を日本語化するために、LLM に送信されるデフォルトのプロンプト自体に日本語で回答するよう指示を追加する方法をご紹介します。プロンプトは、looker-query-insights/query-insights-extension/src/composables/useLookerVertexMessage.js ファイル内に記述されています。 const sendMessage = async (fields, data, type, temperature, additionalContext) => { loading.value = true; const truncatedData = truncateDataForLLM(data, maxRows, tokenLimit, estimateTokens) const contents = ` Context ---------- You are a developer who will either provide a rich summary or analyze the sentiment of given a query's result set and some metadata in a paragraph and under 50 words. You must answer in Japanese. // この行を追加します。 Instructions: - use the Type to inform what action to perform // その他処理 インタフェースの日本語対応 Query Insights のインタフェースを日本語に対応させるには、looker-query-insights/query-insights-extension/src/constants.js ファイルを次のように置き換えます。 export const vizConfigSettings = { temperature: { type: "number", label: "1. モデルの Temperature", display: "number", default: 0.2, required: true, section: 'LLM' }, prompt: { type: "string", label: "2. プロンプトタイプ", values: [{ 要約: "summarize" }, { 感情分析: "sentiment" }], display: "radio", default: "summarize", required: true, section: 'LLM' }, query: { type: "string", label: "3. クエリの説明 / コンテキスト", display: "text", required: false, section: 'LLM' }, title: { order: 1, type: "string", label: "タイトル", display: "text", required: false, section: "表示" }, themeColor: { order: 2, type: "array", label: "テーマカラー", display: "colors", section: "表示" }, backgroundColor: { type: "array", label: "背景色", display: "color", section: "表示" }, cardColor: { type: "array", label: "カードの色", display: "color", section: "表示" }, headerColor: { type: "array", label: "ヘッダーの色", display: "color", section: "表示" }, textColor: { type: "array", label: "テキストの色", display: "color", section: "表示" }, shadowColor: { type: "array", label: "影の色", display: "color", section: "表示" }, insightImage: { type: "string", label: "画像 URL", default: "https://img.icons8.com/ios/50/light-on--v1.png", section: "表示" } } まとめ 本記事では、Google Cloud の Looker の生成 AI 拡張機能 Query Insights を構築し、機能を試してみました。この拡張機能を使用することで、専門的な知識がなくてもデータの内容を容易に把握でき、複雑なクエリ結果も直感的に理解できるようになります。データ分析の効率を上げたい方は、ぜひ Query Insights を活用してみてください。 関連コンテンツ 自然言語でデータを可視化できるLookerのExplore Assistantを試してみた by tenon 2024年9月26日 Looker の生成 AI 拡張機能 Dashboard Summarization を試す by tomon 2025年4月3日 頂きましたご意見につきましては、今後のより良い商品開発・サービス改善に活かしていきたいと考えております。 よく分かった よく分からない もっと知りたい Author tom 株式会社システムサポート 大阪支社所属のエンジニアです。2023 年 9 月から Google Cloud に携わっています。 Looker 2025年6月5日 Looker の生成 AI 拡張機能 Query Insights を試す Category Google Cloud 前の記事を読む Qiita Conference 2025 に参加しました! 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 ホワイトペーパー 新着記事 2025年6月5日 Google Cloud Looker の生成 AI 拡張機能 Query Insights を試す 2025年6月4日 ブログ Qiita Conference 2025 に参加しました! 2025年6月2日 モバイル Firebase Studioを触ってみた HOME Google Cloud Looker の生成 AI 拡張機能 Query Insights を試す ご意見・ご相談・料金のお見積もりなど、お気軽にお問い合わせください。 お問い合わせはこちら Categories お知らせ イベント・セミナー Google Cloud Google Workspace モバイル インフラ 技術開発 ブログ 4koma Tags 生成AI(Generative AI) Vertex AI Search Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL STSエンジニアリングマガジン 「サイタル」 当サイトではクッキー(Cookie)、Googleアナリティクスを利用します。 「同意する」をクリックいただくことで、サイト上での最高のエクスペリエンスをご提供いたします。 ※詳細は以下をご覧ください。 外部送信ポリシー プライバシーポリシー同意する同意しない