検索拡張生成
LLM が回答を生成する際に、外部の信頼できる情報源 (社内文書、データベース、最新の Web 情報など) から関連情報を検索・取得 (Retrieval) し、その情報をコンテキストとして利用して回答を生成 (Generation) させる仕組み
RAG が必要とされる背景
LLM は、大量のデータで学習することで高い文章生成能力を持つが、以下のような課題がある
情報の鮮度の問題: LLM の知識は学習時点のもので固定されており、最新の出来事や情報に対応できない
専門知識の欠如: 企業特有の機密情報や、特定の分野に特化した社内文書などの独自知識を持っていないため、それらに基づいた質問に答えられない
RAG は、これらの課題を、モデルを再学習させることなく解決する手段として注目されている
RAGの仕組み
RAG システムは、主に以下の 2 つのフェーズで動作
検索 (Retrieval) フェーズ: ユーザーが質問を入力すると、RAG システムはまず、外部の知識ベース (データベース、ドキュメントなど) に対して、その質問に最も関連性の高い情報を検索し、抽出する
生成 (Generation) フェーズ: 検索フェーズで抽出された関連情報 (コンテキスト) と、ユーザーの質問を、まとめて LLM に入力 (プロンプトとして追加) する