Vertex AI Search による社内ドキュメント検索システムの構築
平山 容丈 氏
RELATED POST関連記事
RECENT POST「プロフェッショナル」の最新記事
POPULAR POST人気記事ランキング
TOPIC トピック一覧
この記事が気に入ったら
いいねしよう!
目次
平山 容丈 氏
近年、急激に需要が伸びている「生成 AI」について、 ChatGPT や Gemini などの汎用的なサービスを利用されている方は多いかと思います。本記事では、コンタクトセンターのナレッジの検索を「生成 AI」を用いて行う、より一歩踏み込んだ「生成 AI 」の活用方法について紹介いたします。
Chat GPT 等の会話を行う AI を利用しながら、 ”AIに業務に関する知識を持たせられないか?”と漠然とした期待をしている方は多いと思います。が、そんな未来を期待しつつも現状は質問内容を上手く工夫しながらやり繰りしている方がほとんどだと思います。
ですがもし、”社内に蓄積されたドキュメントから、知りたい情報をうまく抽出して要約してくれたり、得たい情報が記載されているドキュメントを探してくれる”そんな AI があったらどうでしょう?
これはまだ、みなさんが想像するような 完璧なAI からはまだ遠いかもしれませんが、今使われている一般的な知識をベースにした 生成AI の次のステップであることには違いありません。
この記事は、そんな今までの生成AIよりちょっと気の利いた(でもちょっと気の利かない) AI を手軽に実現する手法について紹介し、思ったより未来は近づいてきていることがお伝えできればと思います。
今までの生成AIよりちょっと気の利いた AI を作るために、 Google Cloud の Vertex AI というプラットフォームを使います。今回は、その機能の一つである Vertex AI Search and Conversation というサービスを使います。
Vertex AI Search and Conversation にはGoogle の培ってきた技術や知見が詰まっています。このサービスを使うことで、機械学習や AI の専門スキルを持たなくても 生成 AI アプリケーションを作成することができます。
Vertex AI Search and Conversation は、次の機能で構成されています。
名前の通りですね。ここで、後になって混乱しないように、最初に Vertex AI について簡単に説明させてください。Vertex AI は Gemini や Chat GPT を提供するサービスではありません。
これらを利用しやすくしたプラットフォームです。ちょっと難しい言葉を並べてしまいましたが、Vertex AI は 生成AI に特化したサービスではなく、複数のプロダクトの総称であるということが伝われば問題ありません。
閑話休題として、Vertex AI Search に話題を戻しましょう。Vertex AI Search はウェブサイト、構造化データまたは非構造化データをインプットにして、Google品質の検索システムを構築するためのプラットフォームです。
前置きが長くなってもしょうがないので、実際に Vertex AI Search を使って 生成AIアプリケーションを作ってみましょう。
今回は、裁判例検索 から今回は令和1年のうちに下された著作権に関する高等裁判所の判例を元に回答を生成する AI を作成してみます。手順としては
のような流れになります。完成すると、このようなことが出来るようになります。
すでにドキュメントを用意してある方は、この手順をスキップしても構いません。
もし、ドキュメントがない場合、裁判例検索 から利用する判例を一つずつダウンロードします。
実は、このインプットとなるデータの準備が最もコストのかかる部分です。お気づきの通り、数が増えるにしたがって面倒な作業になります。インプットとなるデータが揃えば、実質的な作業の大半は終わったと言っても良いでしょう。
逆に言うと、インプットとなるデータを持っているということは、それだけ大きなアドバンテージとなります。どういう生成AI アプリケーションを作るか?ではなく、どういうデータを持っているか?ということからスタートしてみるのも一つの手だと思います。また、何が出るかは分からないけどデータを登録してみる。というのも、面白いかもしれません。
準備したドキュメントをクラウドのストレージにアップロードします。ここでは、Vertex AI と同じGoogle Cloud の Cloud Storage というサービスを使います。
Cloud Storageはデータの置き場所でしかないので、分別できるように最初はバケットというデータを格納する箱を作成する必要があります。
Cloud Storage のメニューからバケットを選択すると、「+作成する」というボタンが見つかると思うので、それを選択し、ガイドに従って名前等を入力していきます。
今回は以下のような名前を入力しました。
|
手順 |
項目 | 入力値 |
| バケットに名前を付ける | 名前 | copyright-precedents-resources |
| データの保存場所の選択 | ロケーションタイプ | Region |
| ロケーション | asia-northeast1(東京) | |
|
データのストレージ クラスを選択する |
デフォルトのストレージ クラス |
Standard |
|
オブジェクトへのアクセスを制御する方法を選択する
|
公開アクセスの防止 |
オン |
| アクセス制御 |
均一 |
|
|
オブジェクト データを保護する方法を選択する
|
オブジェクトのバージョニング |
無効 |
| バケット保持ポリシー |
無効 |
|
| オブジェクト保持 |
無効 |
|
| 暗号化のタイプ |
Google が管理 |
最後の項目である、"オブジェクト データを保護する方法を選択する" が少し分かりにくい場合は、スクリーンショットを参考にしてみてください。
一通り入力して「作成」ボタンを押すと、公開アクセスの防止という警告が出ると思いますので、"このバケットに対する公開アクセス禁止を適用する"にチェックを入れて「確認」ボタンを押しましょう。これでバケットが作成されます。
作成したバケットを選択し、「ファイルをアップロード」ボタンを選択します。すると、アップロードファイルの選択画面が表示されるので、ドキュメントを一式選択してアップロードして下さい。
データのアップロードも終わり、いよいよアプリケーションの作成に移ります。Vertex AI の「検索と会話」を選択し、続いてアプリというメニューを選択して下さい。(通常では"アプリ"が初期表示されると思います)
「+新しいアプリ」ボタンを押して、アプリケーションを作成しましょう。これも Cloud Storage のバケット作成時と同様にガイドに従って作成することになります。
この例は、以下の要領で入力しています。
|
手順 |
項目 | 入力値 |
| 種類 | アプリの種類の選択 | 検索 |
| 構成 | Enterprise エディションの機能 | オン |
| 高度な LLM 機能 | オン | |
| アプリ名 | copyright-precedents | |
| 会社名または組織名 | ジーアイクラウド株式会社 | |
| アプリのロケーション | global(グローバル) | |
|
データ |
データストア |
※ 下記で作成したデータストアを選択 |
"データ"を入力する段になったら、「+新しいデータストアを作成」ボタンを押して、先ほど作成したCloud Storage のバケットを選択します。
|
手順 |
項目 | 入力値 |
|
ソース |
データソースを選択 | Cloud Storage |
| データ |
Cloud Storage のデータをインポート |
フォルダ |
| Cloud Storage のデータをインポート | ※ 参照ボタンを選択し先ほど作成したバケットを選択 | |
| What kind of data are you importing? | 非構造化ドキュメント | |
|
構成 |
データストア名 |
copyright-precedents-data |
最後に「作成」ボタンを押してアプリケーションの作成はいったん終了です。データのインポートに多少時間がかかりますので、完了までお茶でも飲みながら 生成AI アプリケーションが完成するのを待ちましょう。データの量によってかかる時間は変わりますが、この例の場合は完了まで10分程度かかりました。
ドキュメントのインポートが完了したら「プレビュー」メニューを選択しましょう。そうすると、この章の冒頭で紹介したデモと同様のことが可能になっていると思います。
今回作成したアプリケーションは、データソースを令和1年のうちに下された著作権に関する高等裁判所の判例14件だけに絞っているため、生成される回答に偏りが生まれています。この気の利かない感じが、昔の自分を見ているような気分になって微妙な気持ちになりますが、思ったよりも簡単に 生成AI アプリケーションの構築が出来たのではないでしょうか?
今回は例として高等裁判所の判例を使いましたが、よくあるケースに社則を登録して回答してもらうというものは導入としてよく聞きます。もしかしたら、何のために書いていたのか分からない日報なども、Vertex AI Search を使って取りまとめることによって、何かしらのシナジーが生まれるかもしれません。
もちろん、Vertex AI Search ではなく Chat GPT でこれに似たアプリケーションを作成することも可能ですし、PDFではなく社内システムのDBを使って構築することも可能です。
やり方は色々とありますが、この記事を読んで下さった皆様には、そんな今までできそうで誰もできなかった、コンタクトセンターに蓄積された不定形の情報を形式知に変換する方法のイメージが湧きましたら幸いです。

この記事が気に入ったら
いいねしよう!