RAG (Retrieval Augmented Generation)とは
以前の投稿でGoogleのNotebook MLを紹介した. Notebook MLはドキュメントを読み込んで, その情報を参照しながら返答を生成するLLMである. 今回はそこで使われているRAGという技術をまとめる.
RAGは, 情報検索とテキスト生成を組み合わせた技術だ. まず, 検索モジュールがユーザーの質問に関連する文書をデータベースから見つけ出す. 次に, 生成モジュールがその文書を使って回答を作成する. この方法により, 最新かつ正確な情報を提供できるのが特徴だ.
RAGの仕組みは次の通りである. ユーザーが質問を入力すると, まず検索モジュールがその質問に最も関連する文書をデータベースから選び出す. この段階で, 複数の文書が選ばれることが多い. その後, 生成モジュールが選ばれた文書をもとに, 質問に対する回答を生成する. 生成モジュールは文書の内容を統合し, 一貫性のある回答を作成するよう設計されている.
具体的には, 検索モジュールはまず質問をベクトル表現に変換し, そのベクトルを用いてデータベース内の文書を検索する. 検索結果として得られた文書群は, 生成モジュールに入力される. 生成モジュールはこれらの文書をもとに, 自然言語処理技術を駆使して最適な回答を生成する. これにより, ユーザーは質問に対する具体的かつ正確な回答を得ることができる.