【Agent Builder使ってみた】ねえGemini、都内の空いてるサウナないの？

## もちろん、空いているサウナを見つけるお手伝いをします！
>(Gemini)
>もちろん、空いているサウナを見つけるお手伝いをします！

>サウナ探しにおすすめのツール
サウナイキタイ: https://sauna-ikitai.com/tokyo
各施設の混雑状況や口コミがリアルタイムで確認できます。
平日夜の混雑状況を絞り込んで検索することも可能です。

>平日夜におすすめのサウナ施設例
RAKU SPA 1010神田: 御茶ノ水駅近くにある24時間営業の施設で、3種類のサウナが楽しめます。
ウェルビー栄: 大須観音駅近くにある大型のサウナ施設で、様々な種類のサウナや岩盤浴が楽しめます。
北欧: 上野駅近くにある男性専用のサウナ施設で、本格的なサウナが楽しめます。

さすがGeminiくん、優良サイトも紹介しながら案も提示してくれました。
が、RAKU SPA神田と北欧は超人気混雑必須。ウェルビー栄に至っては名古屋、、、
まあGeminiもいくら凄いとはいえ完璧ではないですよね。
ということで自分でサウナ検索アプリを作ってみることにしました。

## 検索アプリを簡単に作れる、そうAgent Builderならね
サウナの正確な情報が取れる自分のための検索アプリがほしい。
今回はGoogle CloudのVertex AI Agent Builderを使ってみました。
以下2機能をお試し検証。
1. WEB検索
2. データベース検索

実際の手順は以下のlabを参考にしています。

https://www.cloudskillsboost.google/paths/371/course_templates/1122/labs/495117?locale=ja

ポチポチと画面を進めていくだけで簡単に検索アプリが作れる優れた仕組みです。
とはいえ検索アプリを作るためにはソースとする情報が重要。
今回は自分も愛用させていただいているサウナイキタイ様のサイトの情報を拝借。

### 1. WEB検索
まずはWEB検索から。特定のURL配下を検索できるアプリを簡単に作れます。
Google検索を特定のサイト配下に絞ったバージョンが簡単に作れるイメージです。
必要なのは検索したいサイトのURLだけです。

<details><summary>実装手順</summary>
まずは作りたいアプリの種類を選択して作成。ウェブサイト検索を選択して、画面を進めてアプリを作成。

![スクリーンショット 2024-12-08 23.17.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/f5526cc4-f77b-8ce6-2f79-22c6c089be57.png)

次に上記検索アプリの検索ソースをどこにするかを選択
今回はウェブサイトのコンテンツを選択

![スクリーンショット 2024-12-08 23.19.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/623486cc-7ca6-af45-2817-7e43bf32d1ae.png)

URLにサウナイキタイのURLを入力

![スクリーンショット 2024-12-08 23.34.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/d85114a3-ae3b-006d-9df0-aa64b05cf61d.png)

アプリケーションが完成

![スクリーンショット 2024-12-08 23.37.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/54bd088c-b1c2-fb26-4143-67bdb9c86d64.png)

</details>

ここまで実装するのに5分程度。恐るべしAgentBuilder 。
では早速検索をしてみます。

![スクリーンショット 2024-12-08 23.45.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/541eca14-2abb-cc27-8f0e-9083ccf36e6e.png)

サウナイキタイの口コミページから情報を拾って、検索結果を表示してくれました。
中身が気になれば実際に検索結果をクリックしてサイトの中身を見ることもできます。


### 2. データベース検索
次にデータベース検索。こちらはデータベースに入っている情報を検索できるアプリが作れます。BigQueryやCloudSQLなど様々なデータベースをソースとして使用可能。今回はBigQueryをソースにして検証してみました。前準備としてBigQueryにサウナイキタイの情報を入れる必要があるので、検証用にBigQueryにデータを格納。（データ格納は割愛）


<details><summary>実装手順</summary>

先ほどと同じくウェブサイト検索を選択し、アプリを作成

![スクリーンショット 2024-12-08 23.17.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/f5526cc4-f77b-8ce6-2f79-22c6c089be57.png)

今回はデータソースにBigQueryを選択

![スクリーンショット 2024-12-08 23.19.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/623486cc-7ca6-af45-2817-7e43bf32d1ae.png)

BigQueryの中は色々なデータ構造を選べるようになっています。
今回は構造化データを格納しているので構造化を選択して、
BigQueryのデータセット名を入力

![スクリーンショット 2024-12-13 23.25.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/d89b152f-c918-2d98-7460-0d4ec50d8739.png)

</details>

BigQueryへのデータ格納部分を除けばここまで10分程度。
ではこちらも早速検索してみます。
![スクリーンショット 2024-12-14 0.11.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/daf0f4a8-08b7-60fb-f5bc-ba2e17903723.png)
検索はできたもののデータベースの中身がそのまま出てしまいました。
実は検索結果の出し方もポチポチと設定していくことで変えることができます。
とりあえずタイトルをサウナ名、サブタイトルに場所を表示するように変更。
![スクリーンショット 2024-12-14 0.23.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/535c4346-33b5-29b0-1ead-23e2768872c7.png)

これで先ほどまでと同じように東京のサウナを検索してみます。
![スクリーンショット 2024-12-14 0.31.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956121/568f5b80-bcb2-e13d-7e5f-a13058c79cfe.png)

URLでの検索と違い構造化されたデータから検索することが可能なため精度も高く、検索結果のカスタマイズも自由に可能なのでもしデータベース化できるのであればぜひこの使い方をやってみてください。

## 結果、Agent Buiderが凄すぎる
今回は簡易的な検証でしたが、実際には以下も可能です。
・検索アプリを公開
・検索精度向上（チューニングや高度な検索機能など）
・Geminiを利用して検索結果表示
これらがノーコードですぐに作れるAgent Buiderは本当にすごい・・・

## そして、サウナイキタイも凄い
色々と検証してみましたが、やっぱりサウナイキタイがよく出来過ぎているので、サウナ検索に関しては自作アプリではなくサウナイキタイを使うことにします。

(参考）

https://sauna-ikitai.com/