LoginSignup
0
0

[Gemini in BigQuery] Natural language chat(自然言語)を使ってBig QueryでSQLを自動生成してもらう②(プレビュー版)

Last updated at Posted at 2024-05-27

はじめに

こんにちは。
2024年4月に発表されたGemini for Google Cloudの中から、今回もNatural language chatの挙動を検証してみました。

事前説明

Google CloudのコンソールでNatural language chatについて以下の説明が記載されています。

Through a natural language chat interface, you can quickly chat with Gemini Code Assist to get answers to your coding questions, or receive guidance on cloud best practices. Chat is available in the Google Cloud Console, and IDEs such as Visual Studio Code and JetBrains IntelliJ, via the Cloud Code IDE extensions.

つまり、自然言語チャットを通じてコーディングの質問をして回答を得たり、べスプラに誘導して貰えるサービスをサポートしているようです。

なお、2024年5月20日時点では英語のみのサービス提供であると書いていたのだが、どうやら順次日本語サポートを開始している模様。
image.png

前提

Gemini for Google Cloud APIを有効にしてからBig Queryコンソールに移動。
右上のペインから鉛筆マークを押下、「自動生成」にチェックが入っていることを確認。
image.png

検証はBig Queryのパブリックデータ
(bigquery-public-data.chicago_taxi_trips.taxi_trips)を使用していく。

実機検証①

コンソール上でコード生成して貰うにはコメントの先頭に「#」を置く。
「bigquery-public-data.chicago_taxi_trips.taxi_tripsのテーブルのチップ金額のトップ10を出して」とコメントを書く。Enterを押下するとクエリが生成される。
image.png
image.png

存在しないカラムを含んだクエリを返してきた。
image.png

日本語からtipsカラムを推測出来なかったように見える。

正しいクエリに微調整する。

# bigquery-public-data.chicago_taxi_trips.taxi_tripsのテーブルのチップ金額のトップ10を出して
SELECT
-   tip_amount
+   tips
  FROM
    `bigquery-public-data`.chicago_taxi_trips.taxi_trips
ORDER BY
-   tip_amount DESC
+   tips DESC
LIMIT 10

修正ver.のクエリ動作結果は期待値通り。

image.png

実機検証②

要求を少し増やす。
「# bigquery-public-data.chicago_taxi_trips.taxi_tripsテーブルのトータル走行距離上位25件のタクシーIDと会社、trip_milesの合計マイル数を表示、先頭のカラムとして走行距離が大きい順に一意の番号を付与して」
image.png

こんなクエリが返ってきたらいいな…の期待値例(筆者作成クエリ)
SELECT
  ROW_NUMBER() OVER (ORDER BY SUM(trip_miles) DESC) AS rank,
  taxi_id,
  company,
  SUM(trip_miles) AS total_miles
FROM
  `bigquery-public-data.chicago_taxi_trips.taxi_trips`
GROUP BY
  taxi_id,
  company
ORDER BY
  total_miles DESC
LIMIT
  25;

結果、期待値と完全に一致するクエリが返された。

image.png
image.png

(所感)明示的な指示をしてあげれば期待通りのことをしてくれる。(人間の新卒と同じ)

後述

英語版の環境には公式に掲載された全6個のアシスタント機能のプレビューが提供されている。2024年5月現在は日本語版環境で試せるのはそのうち2個。

image.png

なお、英語環境でハンズオンさせて貰った感じExplanation(クエリの説明)機能が好みだった。「長文コード読めるけど読むの面倒くさいな~」と考えてしまう怠惰な私にぴったりだった。何十行にも渡るクエリをコンソール上でハイライトすると「In summary, this query identifies the top 10 users with the highest average~」など10秒以内に理解できる文章で説明してくれる。

自然言語の別の方法はこちらの記事で紹介。

[Gemini × Big Query] Natural language chat(自然言語)を使ってBig QueryでSQLを自動生成してもらう(プレビュー版)

参考

<公式>Gemini のアシスタント機能を使用してクエリを作成する
<公式>Gemini Code Assist を使用して、API、インテグレーション、自動化フローを構築する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0