2024年3月15日に行われましたデータ連携利活用WGの「RAG分科会」についての活動報告をまとめます。
RAGの定義について
RAG:Retrieval-Augmented Generation とは日本語では「検索拡張生成」と訳されることが多いようですが、定義としては文脈によって様々です。狭義の定義としては、大規模言語モデル(LLM)にてVectorStoreを用いて企業や組織の独自情報をプロンプトに追加することで、専用のチャットシステム等を作る手法とされていることが多く、技術者向けの説明ではそのような前提で様々なコンテンツが存在しています。
当分科会では、RAGの定義を広く取り、「LLMに含まれない外部の情報を踏まえる手法全般のこと」としました。例えばLLMの機能としてネット検索を行ったうえで回答する場合や、ファイルを添付するようなものもRAGに当てはまります。
公開データを用いた検証
多くの企業や組織では、自組織のデータをLLMに読み込ませたうえで回答する仕組みを検討しています。分科会として機密情報を扱っての検証は結果の公表に支障をきたす可能性もあるので、誰もが閲覧できる公開データを元に、そのデータの活用を検証することとしました。
対象のデータは「政府、各省庁発行の〇〇白書等、公開文書」としました。
1ファイルを対象とした検証
まずは手軽に検証できるLLMに添付ファイルとして読み込む手法を実施しました。対象の文書はIT関連の参加者が馴染みのある「情報通信白書」の令和5年版としました。ファイルサイズは22.5MB、ページ数は307ページのドキュメントです。
ChatGPTへの添付
2024年3月現在で一番メジャーなLMMである「ChatGPT」を使用し、ファイルを添付して読み込ませます。GPT3.5をベースとする無料利用できるものでは添付できないためGPT4をベースとしたChatGPT Plusを使用して実施します。
結果、「直接的な情報は見つかりませんでした。」という回答が返ってきました。数回実施すると正しい情報が返答されることも有りえますが、安定した回答が得られるものではなさそうと考えます。
ファイルサイズの削減と図表の軽減
情報通信白書を閲覧したことがある方であればご存知かと思いますが、情報通信白書は冒頭部分に図表を多く使った全体の概要の記載があります。概要なのでその後の本文と内容は重複しますし、図表の読み込みや解釈に問題がある可能性もあると考え、冒頭部分及び表紙や目次を削除したファイルを作成して再度ChatGPTに読み込ませてみました。ファイルサイズは9.3MBと半分以下に削減されています。
結果としては期待される内容が返ってきました。添付として簡単にLLMで読み込ませる手法とはいえ、データサイズや形式の整理が有効であることが確認されました。
「GPTs」の作成と「Knowledge」への登録
ChatGPTの有料版である ChatGPT Plus 以上の契約ユーザーであれば「GPTs」という独自のチャットを作成、共有する仕組みが提供されています。プログラム作成を必要としないいわゆる「ノーコード」環境である「GPTs」はその手軽さから一気に利用が拡大しているサービスです。このGPTsのKnowledgeという設定項目ファイルをアップロードすると、そのファイルを参考情報として利用した回答が得られます。情報通信白書のオリジナルをそのまま参照できるのであれば、こちらの手法のほうが手軽に実施できると考え、検証を行いました。
結果は添付として実施した場合のように安定した結果は得られませんでした。GPTsを利用する場合でもデータの整理、加工が有効と考えられます。
ChatGPT以外のLLMでの検証
ChatGPT以外のメジャーなLLMでも合わせて検証を実施してみました。
2024年3月時点で、専門機関による精度でGPT4に並ぶ、Claudeでの検証を実施してみました。
Claudeでは無料環境でも添付ファイルを踏まえた実行が可能で、今回のデータであるPDFも読み込むことが可能です。ただ、読み込んだファイル自体もプロンプトのサイズとしてカウントされ、無料版で許可される上限を大幅に超過してしまいました。有料版ではこの上限が緩和されるものの無制限ではないので添付での独自ファイルの利用は難しいと考えます。
次に、GoogleのGeminiでも検証を実施しようと考えましたが、Geminiの場合は画像ファイルの読み込みと解析には対応しているものの、PDFは読み込めない状況でした。
複数ファイルでの検証
次に各種ドキュメントを一気に扱う方法を検証します。
本格的なVectorStoreを使用した狭義のRAGシステムの構築は人的リソースや時間も必要となり、実施できる企業や組織は一部の先進的なところのみと考え、手軽に実施可能な「Google Drive」を利用する方法を検討します。前述のGoogle Geminiは添付ファイルとしてPDFを読み込むことはできませんでしたが、Googleの各種サービスを参照元とすることが可能です。例えばGoogleの代表的なサービスである「GMail」もアクセス許可をすれば参照の対象となるため、これまでのメール内容を踏まえた回答をGeminiにさせることが可能です。今回は事前にアクセス許可をしたうえでGoogleのストレージサービスである「Google Drive」にファイルを格納して参照させてみます。
「@Google Drive」をプロンプトにつけることで明示的に参照を指示することが可能です。
結果は期待したものが返答されました。さらに、回答の文末には参照されたドキュメントが一覧され、ソース情報をチェックすることも可能でした。どの文書のどこに書かれている内容なのか気にするような場合は大きな1ファイルではなく分割することで場所を特定できる効果も得られます。
まとめ
今回紹介した複数手法のうち、どれを使うとしてもファイルの分割、加工、修正は効果があると考えます。現状、手軽に試すのであればGoogle Driveは有効な手段として考えられます。
ただし、注意点としては情報漏洩に関する規約等のチェックは必ず必要です。また、これらの情報は2024年3月時点の情報です。進化の早い生成AI関連の技術で、状況が変わることも考えられますので、ご自身による確認を必ず行ってください。
Information
データ連携活用WGおよびRAG分科会では随時メンバー募集中です。
調査や実証実験等に積極的に関わりたい方はご連絡ください。
GAISのお問い合わせよりのご連絡をお待ちしております。