メインコンテンツへスキップ
見出し画像

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に読ませる」ことに特化したライブラリです。

    PDF
    CSV
    Webサイト
    社内文書
    データベース

    LlamaIndexは、これらを数行のコードでインデックス化できます。

    そして、「東京の観光地15選を教えて」のような質問に対して、保存したデータの中から関連情報を検索し、LLMへ渡して回答させることができます。


    あなたへのおすすめ