SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2025 セッションレポート(AD)

島津製作所が膨大な資料を活用するために、"Vertex AI Search"を選定したワケ【開発者視点で深掘り】

【14-D-3】Vertex AI Searchで実現する膨大な資料の活用術 ~島津製作所の技術選定から導入までのプロセス公開~

  • X ポスト
  • このエントリーをはてなブックマークに追加

4つの機能を実装、それぞれの問題解決策も解説

 実装した機能は大きく4つ。まずはデータストアの切り替え機能。データストアは質問や検索に対する回答を見つけるために使用する。「規定集や手書き文書など、ドキュメントの種類で検索の範囲を切り替えたいという要望があった」と上間氏は言う。そこでデータストアをドキュメントの種類ごとに作成し、APIを使用してVertex AI Searchにクエリを投げるときに、データストアを選択するように実装。検索画面では、ドロップダウンリストで選択できるようにした。また、拡張性を持たせるために、必要に応じてデータストアの追加や変更ができるようにもしたという。

 2つ目は要約言語モデルの切り替え機能。これは言語モデルごとの回答の精度の変化に対応するためだ。「島津製作所のプロジェクトメンバー様が検証した際に、質問によってはtext-bison@002のほうが、精度が良かったり、Gemini 1.5 Flashのほうが良かったりしたため、言語モデルを選択できるようにしたいという要望があった」(上間氏)

 実装としてはデータストアの切り替え同様、APIを使用してVertex AI Searchにクエリを投げるときに予約言語モデルを選定するようにした。また、拡張性を持たせるため、必要に応じて簡単に追加・変更ができるようにしたという。

 3つ目は、参照ドキュメントを開く機能。検索結果のレスポンスは、クラウドストレージのURIが返ってくるが、ブラウザのアドレスバーにこのURIを設定しても閲覧はできない。島津製作所の要望は「誰がどのドキュメントを見たのかをログに残したい」「回答に使用した参照ドキュメントの確認をしたい」の2つ。

 これを叶える実装方法は次の通り。まず、クエリパラメータでクラウドストレージのURIを受け取り、ユーザーとそのURIをログに残す。次に受け取ったクラウドストレージのURIからドキュメントを閲覧できるURLを生成し、リダイレクトを行うことで参照ドキュメントを開けるようにしたのだ。

 4つ目は監査ログ機能。島津製作所の要望は、「誰がログイン、検索、ドキュメントを参照したのかを残したい」。そこで、Cloud Loggingにログイン情報や検索情報など必要な情報を書き込むようにし、ログシンクで定期的にクラウドストレージに保存(長期保存もできるようにした)。さらにクラウドストレージに保存したログから、BigQueryにインポートして解析することも可能にした。

 実装が完了したところで、島津製作所のプロジェクトメンバーと一緒にテストを実施。すると、いくつか問題や要望が出てきた。

 1つ目は、漢字だけの名詞で質問すると、要約が中国語で生成されるという問題。具体的には「特工申請」と漢字だけで質問すると、中国語で結果が返ってきたという。原因はデフォルトの要約言語がオートになっていたこと。「質問が漢字だけだと中国語と判定されていたようだ」と細谷氏は説明する。例えば「特工申請の方法は」といった文章にすれば問題は無いのだが、毎回文章を打つのは手間である。そこで、「オート/日本語/English」から要約言語を選択できるようにした。

漢字だけの名刺で質問すると要約が中国語で生成されることがある
漢字だけの名詞で質問すると要約が中国語で生成されることがある

 2つ目は産廃と略すと産業廃棄物として認識してくれない問題。「このような業界用語が含まれる場合は、検索モデルのチューニングがおすすめ」と細谷氏はアドバイスする。そのためにはクエリファイル(業界用語が含まれた質問のサンプル)、コーパスファイル(業界用語が含まれた質問に対する回答のサンプル)、トレーニングラベル(クエリとコーパスのペアに対して重みをつける)という3つのファイルを用意する必要がある。これらでチューニングすることで、「業界用語が含まれた質問への対応が可能になる」と上間氏は言う。

 3つ目はOCRで「φ(ファイ)」が「4」や「中」と誤認される問題。一般的に円の直径を表す記号として、φが用いられる。「Aの穴形は」と質問すると、「φ10」が410と返ってきたそうだ。「この問題についてはGoogle Cloudのサポートエンジニアから助言をもらった」と上間氏。Vertex AI Gemini APIを併用し、2回クエリを実行することで、誤認しないようにした。

 具体的には、最初にVertex AI Searchで質問のクエリを実行し、ドキュメントを取得。次に取得したドキュメントと、実行した質問のクエリを使って、Vertex AI Gemini APIで回答を生成した。「この課題は検証、解決の確認まではしたが、今動いている検索サービスには未導入になっている」と上間氏は話す。

 4つ目はVertex AI Searchの要約クォーター制限への対応問題。「負荷試験を行ったところ、ある一定量の負荷をかけるとエラーが発生した」と上間氏。原因は検索の要約には上限値があり、デフォルトが1分間で15回となっていたこと。1分間で15回は達しない認識だったが、将来的に発生するリスクがあり、対応することにした。

 解決策として上間氏が行ったのは、HTTPステータスが「429 Too Many Requests」のエラーとなったとき、少し時間をあけて再リクエストするよう画面に表示すること。規模が大きくなり頻発するようであれば、クォーター上限値アップの申請をGoogle Cloudに出すことにした。

 最後に上間氏は、「スピード感を持ってドキュメント検索システムを構築できたこと、さらにはVertex AI Searchだけではなく、Kendra、Cloud Runなどにも実際触れて検証できたことが良かった」と、今回Vertex AI Searchを使った感想を紹介した。

 そして細谷氏も、「Vertex AI Searchは簡単に構築でき、カスタマイズ性も高いなど、優れたサービス。開発陣の頑張りもあるが、時間があまりない中での開発を助けてくれた」と述べた。

 今回紹介した機能以外にも、要約のプロンプトのカスタマイズ、フォローアップ検索機能のほか、クラウドストレージのACLをインポートすることでドキュメント単位でのアクセス制御もできる。また、プレビュー版であるが、サードパーティのデータソースをVertex AI Searchに接続できるようになっている。「Vertex AI Searchは1年間有効な無料トライアルクレジットも用意されている」と細谷氏。ぜひ、興味のある人は試してみてはどうか。

grasys で身につく一生モノの技術と経験

 現在 grasys では、クラウドインフラの知見を活かし、AIやデータ分析など最先端技術を取り入れたプロジェクトに挑戦しています。技術の幅を広げ、成長したいエンジニアを募集中です。興味のある方はぜひご応募ください!

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2025 セッションレポート連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山出 高士(ヤマデ タカシ)

雑誌や広告写真で活動。東京書籍刊「くらべるシリーズ」でも写真を担当。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社grasys

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21113 2025/04/24 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング