Vertex AI Search(旧称Gen App Builder )を使ってみる

# 概要
Vertex AI SearchがGAになったので試してみる

https://cloud.google.com/blog/ja/topics/google-cloud-next/next-2023-wrap-up#:~:text=2.%20Vertex%20AI%20Search%20%E3%81%A8%20Vertex%20AI%20Conversation%EF%BC%88%E6%97%A7%E5%90%8D%E3%81%AF%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%20Enterprise%20Search%20on%20Generative%20AI%20App%20Builder%20%E3%81%A8%20Conversational%20AI%20on%20Generative%20AI%20App%20Builder%EF%BC%89%E3%81%AF%E3%80%81%E3%81%A8%E3%82%82%E3%81%AB%E4%B8%80%E8%88%AC%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%82%89%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E7%94%9F%E6%88%90%20chatbot%20%E3%81%A8%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E6%A4%9C%E7%B4%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%82%92%E8%BF%85%E9%80%9F%E3%81%8B%E3%81%A4%E7%B0%A1%E5%8D%98%E3%81%AB%E6%A7%8B%E7%AF%89%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82

https://cloud.google.com/enterprise-search?hl=ja



# pdfを検索してみる
1. 初回は以下のような画面が出るので使う場合は利用規約に同意し、CONTINUE AND ACTIVATE THE APIをクリックする(コンソール上は旧称のGen App Builderのまま)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/79393739-4f62-6e60-f836-c9835ff4b6b7.png)


2.アプリの作成で種類を選ぶ
　今回はEnterpriseSearchを試したいので検索を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/7b55c781-58c0-a0bd-a48e-5b440264ca86.png)


3.構成でアプリ名とロケーションを決める
　アプリ名は自由に設定可能だが、IDは一意のものにする必要がある(EDITも可能)。Google Cloudプロジェクトと同じ仕様。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/6b2f0f62-bccc-2255-77c8-8a6e336ded2f.png)
　ロケーションは現状3つ。今回は特にこだわりはないのでGlobalを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/11da5d3f-b4dc-6c7b-7c63-c41526860086.png)

4.データストアの作成
　ソースは下図から選択可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/4ec2b19c-7c25-25e3-f3bc-c3845929717e.png)
 今回は[こちら](https://cloud.google.com/generative-ai-app-builder/docs/try-enterprise-search)のドキュメントに記載のあった `gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs` (非構造化データサンプル)を利用する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/93d984cf-73fb-d625-c1bd-d644c7e22b38.png)

　データストアもアプリ同様にIDは一意のものとなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/96705a8c-5470-3135-6ed7-754d92c02a9b.png)

　作成するとインポート処理が行われる。ステータスは下図のアクティビティタブから確認可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/ace608fa-5685-4ef5-b65e-669987910bf3.png)

　インポートが完了すると下図のようになる。今回は5分ほどかかった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/86ace0d8-9647-d01b-b453-91f082f65130.png)

5.検索してみる
プレビューの画面から検索することができる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/8908b762-0339-1e31-3a41-f1b72faf8037.png)

「google」で検索した例。pdfの内容から検索できている。
　検索も2秒程度でありそこまで遅くはないイメージ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/36744bda-4e8e-4e88-0ae6-f8f8354ce432.png)

# webアプリにする
統合画面からウィジェットを選択し、許可するドメイン(今回はローカルで試すためlocalhost)を入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/d8d9b4e3-0166-f03e-aca4-00710e00d38e.png)

コピーしたコードをhtmlに記載すると利用できる
![image.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/1da85d96-d387-c52c-1382-e379e3b51fdf.gif)


APIを利用することもできます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/3a61a405-197b-af6e-303f-1c49a4b5bebc.png)



# 日本語を試す
公式には日本語対応はされていないが、Duet AI in Google Cloudもそれなりに日本語を使うことができているので試してみる

1.検索に日本語(対象は英語pdf)
　一応使うことはできそう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/ef18ef79-3937-87c1-85fc-87bf52a862ea.png)

2.対象も日本語にしてみる
　以下のpdfをGCSに入れてみる(pdfの内容自体は本記事とは関係ないです)

https://lp.cloudplatformonline.com/rs/808-GJW-314/images/Google_Cloud_GCPHandson_infra1122.pdf

https://lp.cloudplatformonline.com/rs/808-GJW-314/images/App%20Modernization%20OnAir_0203_Session.pdf

GCSに配置
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/2c0808ab-321a-bccc-c961-9d6ee2d7add6.png)

問題なくインポートできた
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/bf9cf1d4-f68f-1aed-984a-00e63bdf4da5.png)

検索もうまくできていそう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2876448/91be361d-a606-6ca0-9383-758503eb0a31.png)


# おわりに
Vertex AI Searchを試してみました。
簡単にEnterpriseSearchが実装できそうなので今後活用機会が増えていきそうです。