Vertex AIの根拠づけ機能を使ってみる(コンソール版)
Vertex AIのtext-bison モデルと chat-bison モデルで根拠づけ(グラウンディング)が利用可能となり使ってみたので投稿します。
赤枠の箇所で有効化できます。
グラウンディング(Grounding)とは
LLMが問い合わせに対して特定の情報源(データベースや文献)などの外部情報を基に出力する手法です。
特定の情報を基にすることで事実と異なる内容(ハルシネーション)やもっともらしいウソの出力を防ぎます。
Grounding は、生成 AI が外部情報を文脈として理解し、その情報を基により正確な結果を出力する手法であり、特に大規模言語モデル(LLM)の導入において重要な役割を果たします。
やったこと
二種類のテキストでグラウンディング機能を使ってみました。
1.生成AI(Palm2)が知らないと思われる言葉についてのテキスト
2.実在するモノについて虚偽の情報を記載したテキスト
生成AI(Palm2)が知らないと思われる言葉で比較
「ごめんなさいたま」という言葉を問い合わせます。
・グラウンディングなし
埼玉県の情報が出力されました。
・グランディングあり
以下のテキストをVertex AI Serchから検索できるようにして実行しました。
(思い付きで試しており、意味を間違えていたらごめんなさい)
「ごめんなさいたま」とは埼玉県民が謝罪する時に使う言葉です。
テキストの通りに出力さました。
※グラウンディングあり(ごめんなさいたま.txtなしの場合)
分からないと出力されました。
グラウンディング機能の有効無効だけでも出力される内容が変わる可能性がありそうです。
実在する単語で比較
リンゴについて問い合わせます。
後述しますがグラウンディング用のテキストには、虚偽の情報を記載しています。
・グラウンディングなし
リンゴについて詳しく情報が出力されました。
・グランディングあり
以下のテキストを検索できるようにしました。リンゴについて虚偽の情報を記載しています。
リンゴは青いくて四角い野菜です。
とても辛い味がします。
フォーマットはテキストと似ていますが、見た目や色などは現実的なデータに変換されています。
またグラウンディングの参照元も表示されていません。
参照元の情報も精査している可能性がありそうです。
使ってみた結果は以上となります。
参考になれば幸いです。
使い方
グラウンディングを使うために前準備が必要となるため手順を記載します。
根拠付けを有効化するにはVertex AI Serchを用意し関連付ける必要があります。
Vertex AI Serchの準備
コンソールのプロダクト選択から「検索と会話」を選択します。
-
アプリ画面から「新しいアプリを作成」
-
種別は「検索」に設定
-
構成のアプリ名や会社・組織名は適当に入力
-
データで検索するためのデータストアを作成・選択
検索対象のデータをインポートします。
検索先のバケットやデータセットを用意してない場合、適当にバケットなどを作成し選択します。
-
「作成」を選択
アプリのプレビューで以下のように検索できていれば成功です。
アプリ作成後にデータをインポートする
手順4でデータをインポートしていない場合
アプリ作成後のデータストアの画面、またはアプリ一覧の「接続されたデータストア」から移動し
「+データをインポート」からインポートできます。
(別日のスクショのためアプリ名にズレがあります)
以上でVertex AI Serchの準備は完了です。
Vertex AI Serchに接続
根拠付けを有効化し⚙カスタマイズで検索先のVertex AI Serchを設定します。
・Vertex AI Serchのパス
以下の形式で設定します。
projects/{project_id}/locations/global/collections/{collection_name}/dataStores/{datastore_name}
{project_id}にプロジェクトID、
{datastore_name}にVertex AI SerchのアプリIDに変更してください。
{collections}は基本的にdefault_collectionで大丈夫です。
以上で設定が完了です。
プロンプトのResponseでグラウンディングが反映されていれば成功です。
Discussion