フォーム読み込み中
こんにちは!クラウドエンジニアの姜です。
この記事は、ソフトバンク アドベントカレンダー2023 の 7日目の記事です。
今年のGoogle Cloud Next '23 では、ほぼ生成AI の発表といっても過言ではないぐらい、たくさんのAI 関連の発表がありました。アップデートの内容はWeekly Google Cloudでも紹介をしていますので、参照してください。アップデートの一つとして注目を浴びていたのは、Duet AI シリーズです。Duet AI for Google Workspace はご存知の方が多いかもしれませんが、実は、Google Cloud でもDuet AI があり、公式名称はDuet AI in Google Cloud です。
Duet AI in Google Cloud の中でも、さらに注目されているDuet AI in BigQuery を試してみたので、今回はその内容を取り上げたいと思います!
Duet AI in BigQuery は、今現在プレビューの段階で利用するには申請が必要ですが、プレビューでも日本語対応しています。申請方法については、公式サイトを確認してみてください。
BigQuery についてはここでは触れませんが、「Google Cloud の請求情報を BigQuery に自動投入してLooker Studio (旧称:Data Portal)で分析してみた」記事を4回にわたって公開しておりましたので、本記事の最後にある関連記事リンクをご確認ください。公開から少し時間が経っている記事なので、UI や仕様等、多少変更された可能性もありますが、その点はご了承ください。
本題に入る前に、まずDuet AI in Google Cloud について簡単に紹介します。
今現在Google Cloud のDuet AI による支援の種類には、大きく分けて3つあります。
では、早速Duet AI in BigQuery を試してみたいと思います!
今回利用するデータセットは、Google Cloud で公開されているCDC が収集、統計したアメリカの出生データが含まれているものです。データには、住んでいる地域、母親の年齢と人種、民族と出身国、婚姻状況、教育など、母親の幅広い人口統計情報も含まれています。
<プロンプト内容>(*)
テーブル"bigquery-public-data.sdoh_cdc_wonder_natality.county_natality"からデータを10個抽出して
(*) プロンプトはコメントとして記載しますが、今回の記事ではプロンプトの前に# をつけてプロンプトを表現しています。
<レスポンス>
<プロンプト内容>
テーブル"bigquery-public-data.sdoh_cdc_wonder_natality.county_natality"から住居地と出生人口を10個抽出して
<レスポンス>
フィールド名が正しくなかったので、エラーが出ました。
今度は、フィールド名を指定して試してみます。
<プロンプト内容>
テーブル"bigquery-public-data.sdoh_cdc_wonder_natality.county_natality"からCOUNTY_OF_RESIDENCEとBIRTHSを10個抽出して
<レスポンス>
フィールド名を指定すると正しいクエリが生成されました。これは、プロンプトを書く時の一つのポイントかと思います。
<プロンプト内容>
テーブル"bigquery-public-data.sdoh_cdc_wonder_natality.county_natality"からAve_Age_of_Motherの値が30以下のデータを抽出して
<レスポンス>
<プロンプト内容>
テーブル"bigquery-public-data.sdoh_cdc_wonder_natality.county_natality"からAve_Age_of_Motherの降順にデータを抽出して
<レスポンス>
<プロンプト内容>
テーブル"bigquery-public-data.sdoh_cdc_wonder_natality.county_natality"からCounty_of_Residence別のBirths情報をCounty_of_Residenceの名前順に出して
<レスポンス>
<プロンプト内容>
SELECT
Year,
County_of_Residence,
SUM(Births)
FROM
`bigquery-public-data.sdoh_cdc_wonder_natality.county_natality`
GROUP BY
1,2
ORDER BY
County_of_Residence
NULLS LAST
# 上記のクエリは何の処理してるの?
<レスポンス>
Duet AI in BigQuery をさまざまなパターンで試してみました。
まだプレビュー段階ではありますが、結果から見ると、きちんと内容を理解したうえで、正しいクエリを出してくれたり、クエリの内容を解釈してくれています。
一方、フィールド名を指定していない場合や少し複雑な命令をした場合、プロンプト内容によっては生成したコードを微修正する必要がやはり出てきたので、プロンプトの重要性を改めて認識しました。一般リリースするときは、もっと精度のよい強力なDuet AI であることを期待します。
個人的な意見ですが、Duet AI の力を借りてクエリを書こうとしているほとんどの方は、SQL の基本知識があるので、生成されたクエリで例えば8割正解でも残り2割を修正する力があると思います。割合はあくまで例ですが、一からクエリを書かなくてよいという面では十分工数削減できると思います。
また、コードを読む立場の方の中には、これからSQL 始める方やSQL あまり知らないがクエリを読んで内容を理解する必要がある方もいらっしゃるかと思います。本記事で取り上げた内容以外でも色々触ってみた感想としては、結構高い精度でクエリを解釈してくれたので、クエリやコードへの恐怖心をなくして、Duet AI の力を借りてコードを理解でき、さらに勉強にもつながるのではと思います。
最後に番外としてCloud コンソールのDuet AI 会話アシスタンス機能を試した内容を載せて終わりにしたいと思います。
最後までお読みいただきありがとうございました!
<プロンプト内容>
BigQuery を利用する際のベストプラクティスを教えてください。
<レスポンス>
条件に該当するページがございません