RAG(生成AI)

Retrieval-Augmented Generation

RAGとは

RAG(Retrieval-Augmented Generation:検索拡張生成)とは、外部のデータベースや文書から関連情報を検索し、その情報をLLMのコンテキストに追加することで、より正確で最新の回答を生成する手法です。LLM単体の知識の限界を補完し、ハルシネーションを軽減する最も実用的なアプローチとして広く採用されています。

表:RAG(生成AI)の要点まとめ
ひとことで言うと社内文書などを検索し、その内容をもとにAIに答えさせる仕組み。
どこで使う社内規程QA、マニュアル検索、カスタマーサポートの一次対応。
注意点検索の精度が回答の精度を決める。文書の整備と更新が成否を分ける。

RAGの仕組み

RAGは大きく3つのステップで構成されます。まず「インデクシング」段階で、文書をチャンク(断片)に分割しベクトル化してデータベースに格納します。次に「検索」段階で、ユーザーの質問をベクトル化し、類似度の高い文書チャンクを検索します。最後に「生成」段階で、検索された文書チャンクをプロンプトに含めてLLMに回答を生成させます。

図:RAGが社内文書から答えるまで
1質問を受取る「有給は何日?」など
▶
2ベクトル化意味を数値に変換
▶
3文書を検索近い意味の文書を探す
▶
4AIに渡す質問+該当文書をセット
▶
5出典付き回答資料に基づいて答える

※ 追加学習(ファインチューニング)より安く、資料を差し替えるだけで最新化できます。

RAGの応用と発展

企業では社内FAQ、マニュアル、ナレッジベースを活用したカスタマーサポートや社内チャットボットにRAGが活用されています。発展形として、検索結果を再ランキングするAdvanced RAG、複数回の検索と生成を反復するIterative RAG、知識グラフを活用するGraph RAGなどの手法も研究されています。RAGの実装にはLangChain、LlamaIndexといったフレームワークが広く利用されています。