
RAGとは何か?なぜ生成AIで急速に普及したのか ─ LangChainとLlamaIndexがもたらした革命
RAGとは何か?
RAG(Retrieval-Augmented Generation:検索拡張生成)は、生成AIモデルであるLLMに情報を加えて強化することです。
生成AIは「知っていること」だけをもとに文章を作るので、最新情報や企業独自のデータ、専門性の高い情報を間違うことがあります。そのため、検索などで「新しい情報」を加えて回答を作る必要があります。
RAGは、AIが回答を作る前に必要な情報を検索し、その内容を参考にしながら回答を生成する仕組みのことです。
AIの知識を増やすのではなく、必要なときに知識を取りに行く技術
後から情報を加えることで、生成AIの精度を高める研究が盛んにおこなわれています。
LangChainとLlamaIndex革命
RAGを実際に作ろうとすると「文書の読み込み → 分割 → ベクトル化 → 検索 → AIへ受け渡し」という多くの部品を組み合わせる必要があります。
この作業を劇的に簡単にしたのが、LangChainとLlamaIndexという革新的なフレームワークで、2022年頃にChatGPTが出た同時期頃にされました。
LangChainは、LLMやベクトルデータベース、検索機能などを統一的に扱えるフレームワークとして、LlamaIndexはPDFやCSV、Webサイトなど、自分のデータをAIに読ませることに特化しています。
この二つが登場したことで、RAGをゼロから実装しなくてもよくなったことで、初心者でも気軽にRAGを試せるようになりました。
LangChainで何ができる?
LangChainは、LLMアプリケーションを作るための部品箱です。
PDFを読む
↓
PDFを読む
↓
ベクトル化する
↓
検索する
↓
LLMへ渡す
LangChainは、これらを1つのパイプラインとして組み立てられるようにしてくれます。OpenAI、Ollama、Chroma、FAISSなど、さまざまなライブラリを共通のインターフェースで扱えるのが特徴です。
LlamaIndexで何ができる?
LlamaIndexは、「自分のデータをAIに読ませる」ことに特化したライブラリです。
CSV
Webサイト
社内文書
データベース
LlamaIndexは、これらを数行のコードでインデックス化できます。
そして、「東京の観光地15選を教えて」のような質問に対して、保存したデータの中から関連情報を検索し、LLMへ渡して回答させることができます。