
5
RAGサポート
5.6
LLMを使ったアプリケーション開発において、RAG(Retrieval Augmented Generation)
(仕組みの詳細は3.7 を参照のこと)は、重要な役割を果たします。LLMは学習時に得た知識
に基づいて回答しますが、一般向けに公開されていない情報や最新情報など学習時に得られな
かった情報には対応できません。これを実現するのがRAG です。RAGでは質問に関連する情
報をインデックスから検索し、その情報をコンテキストに追加してLLMに渡すことで、より
正確な回答を生成します。
RAGの基本ステップは、次のとおりです。
1. インデックスの作成:ドキュメントからテキストを抽出(5.6.1)・分割(5.6.2)し、埋め
込みベクトルに変換(5.6.3)してからインデックスに格納(5.6.4)します。
2. 情報の検索(5.6.5):ユーザの質問に関連する情報をインデックスから検索します。
3. 回答の生成(5.6.6):検索された情報を LLMに渡して回答を生成します。
LangChainでは、インデックスの作成から情報の検索、回答の生成までRAGの実現に必要
な機能を全て提供しています。以降、本節では、これらの機能について順に説明します。
5.6.1
テキストの抽出
LangChainでは、様々なドキュメントからテキストを抽出する機能をドキュメントローダと
して提供しています。表 5.6.1に、LangChain でサポートされているドキュメントタイプと ...