LangChainとRAGで実現する生成AIシステム|基本から実装方法・活用事例まで解説

技術 生成AI

最終更新日:2025/2/14

本記事について

近年、大規模言語モデル(LLM)の進化が目覚ましく、多くの分野で活用されています。ただ、LLMには知識の限界やリアルタイム対応などの課題があります。そこで、フレームワークの LangChain と RAG(検索拡張生成)を組み合わせることで、LLMの能力を最大限に活かし、より高度なAIシステムの構築が可能になります。

本記事では、LangChain と RAG の基本的な仕組みから、具体的な実装方法、そして実際の活用事例まで解説します。生成AIシステムの開発に便利なツールについて理解を深め、自社における最適なAI活用を実現するためにぜひご覧ください。

1 LangChainとは?概要と仕組み

LangChainとは、大規模言語モデル(LLM)を活用したアプリケーション開発を支援するフレームワークです。外部リソースとGPTなどのLLMを連携することで、LLMの能力を最大限に引き出し、幅広いタスクに対応した柔軟なシステムの構築が可能です。

また、一般的な言語モデルでは難しい長文プロンプトの入力や最新情報を反映した回答も、LangChain を用いることで実現します。さらに、チャットボットやFAQシステム、データ分析の自動化など、多岐にわたる用途に対応できます。

企業向け生成AIツールの開発、文書検索や情報整理に特化したアプリケーション構築などのシーンで役立ちます。

1-1 LangChainとLLMの違い

LLMは、自然言語の生成と理解を主な目的とした言語モデルです。大量のテキストデータを学習し、自然な文章を作成できるシステムそのものを指します。

一方で、LangChain は LLM を活用したアプリケーション開発を支援するフレームワークです。LLMを利用しながら、データの取得や処理、入力と出力の支援など、さまざまな機能により、LLMの能力を最大限に発揮できるようサポートします。

2 LangChain の主な機能・モジュール

LangChain では、プロンプトやLLMなど複数の機能やモジュールによって構成されています。ここでは、主な6つの機能について詳しく解説します。

2-1 プロンプトテンプレート機能(Prompt Template)

プロンプトテンプレート機能(Prompt Template)は、名前のとおりプロンプトをテンプレート化する機能です。テンプレートの文字列の一部に変数を埋め込み、プログラム側でプロンプトを制御できる状態を構築します。

ユーザー入力に応じた動的なプロンプトを生成し、プロンプトの最適化を促すことが可能です。また、一部のキーワードのみ変更できるようにする、といった使い方も可能になり、柔軟な応答が実現します。  

LangChain を用いることで、コーディングの負担を軽減できる上、複数名で開発する際の記述方法を統一できます。

2-2 チェーン機能(Chains)

チェーン機能(Chains)は、複数のプロンプトを実行するための機能です。通常の言語モデルでは、ユーザーのプロンプトに対してAIが回答する、という手順が繰り返されます。一方、チェーン機能を用いることで、複数プロンプトの連続入力や、先のプロンプトに対する回答を次のプロンプトの内容に組み込む、といったことが可能になります。

チェーン機能には以下3つの種類に分けられます。

  • シンプルチェーン(Simple Chain):チェーンの最小単位で、複数つなげることで機能を強化できる
  • 連続チェーン(Sequential Chain):複数のチェーンを連続でつなげて入力できる
  • カスタムチェーン(Custom Chain):自由にチェーンをつなぎあわせることができる

チェーン機能により、複数のプロンプトを実行することで、より正確な回答を得られます。

2-3 メモリ機能(Memory)

メモリ機能(Memory)とは、言語モデルとの会話や処理の履歴を保存する機能です。LLMに対話内容を保存する機能が備わっていない場合、記録するための仕組みを新たに作る必要があります。メモリ機能を使うことで、LLMの出力内容を記録し、必要に応じて再利用することで、文脈を意識した応答が実現します。

また、前述したチェーン機能にメモリ機能を用いることで、複数のチェーン全体を通して同一の前提条件を設定する、といった使い方もできます。

メモリ機能には、短期記憶と長期記憶の2種類があります。短期記憶は、1つのやり取りの中でデータを保持する機能で、文章の要約などで使用されます。長期記憶は、複数のやり取りにおけるデータを記録する機能です。ユーザーとの対話で得た情報を更新し、その後の対話に反映させることもできます。

2-4 モデル機能(Model I/O)

モデル機能(Model I/O)は、さまざまなモデルを組み合わせて使用できる機能です。OpenAI社だけでなく、Google 社や Microsoft 社などのプロバイダーが提供するLLMの切り替えや組み合わせに対応しています。開発者のコーディング作業の効率化に役立ちます。

他にも、プロンプトの管理や最適化を行う機能、LLMの出力形式を指定する機能などが含まれています。

モデル機能の例として、大規模言語モデルを呼び出す LLMs や、チャット形式で LLM を利用したい場合に使うチャットモデルなどがあります。

2-5 検索機能(Retrieval)

検索機能(Retrieval)は、外部データを利用するための機能です。PDF や CSV、Excel などの外部データを用いて、LLM の回答精度を強化します。LangChain を使って機能を拡張することで、長文が入力された際にもスムーズに読み込み、高い精度の回答を生成することが可能です。

検索機能は、以下5つの機能で構成されています。

  • ドキュメント変換:読み込んだデータをLLMが扱いやすいように変換する
  • ベクトルストア統合:情報をベクトル形式で保存し、高速かつ正確な検索を実現する
  • ドキュメント検索機能:長い文章を複数のドキュメントに分割し、入力に関連するドキュメントを抽出する
  • 自然言語ベクトル化機能:単語同士の関連性を正しく認識する
  • ドキュメント読み込み機能:100種類以上の外部データからドキュメントを読み込む

2-6 エージェント機能(Agent)

エージェント機能(Agent)は、LLMと多様な外部ツールとを接続し、プロンプトの内容に応じて適切なツールを使い分ける機能です。複数のツールを最適な状態でつなぎ合わせることで、高精度な回答を生成します。

例えば、情報収集用の検索エンジンと、グラフ作成用のPythonコードを組み合わせる、といった使い方が可能です。また、必要な情報を収集して、正しいグラフが作成されるまで修正を繰り返す処理も指定できます。

LangChainに最初から登録されている外部ツールは、Google検索エンジンやWikipediaなどです。エージェント機能を用いることで、ネット検索の最新情報を反映した回答を出力できます。

3 RAG(検索拡張生成)の仕組みと特徴

LangChainとともにAIの分野で注目されている言葉に、RAGがあります。RAG(Retrieval Augmented Generation)は、日本語で「検索拡張生成」もしくは「取得拡張生成」と呼ばれています。最新情報や専門分野の知識を補うことで、LLMがより精度の高い回答を生成することを目的とした技術です。

ここでは、RAGの特徴と、RAGを活用するメリット・デメリットについて解説します。

3-1 RAGとは?基本的な仕組み

RAGは、LLMの生成にて、外部データベースや検索エンジンを利用して必要な情報を自動的に収集し、必要な情報を抽出します。

RAGの基本的な仕組みは、以下3つのプロセスで構成されています。

  • 情報取得プロセス:ユーザーからの質問や指示に対し、外部のソース(企業データベースや書籍、Webサイトなど)から関連情報を検索する  
  • 拡張プロセス:検索された情報をLLMが理解できるよう変換し、LLMに提供する
  • 応答生成プロセス:LLMが質問内容と検索データを基に回答を作成する

通常の生成AIでは、質問に対して「記憶(学習データ)」を基に回答を生成するのに対し、RAGは質問に対して「検索(調べ物)」のプロセスを経由して回答する点が異なります。

3-2 RAGのメリット

RAGを活用することで、以下のようなメリットが期待できます。

  • 応答精度の向上:エビデンスに基づき、より正確で一貫性のある回答を出力できる
  • リアルタイム性:最新情報をデータソースとして利用し、回答に反映できる
  • 専門知識の補完:特定分野に特化した情報を参照し、より高度な回答を生成できる
  • カスタマイズ性の向上:データソースを自由に選び、特化型RAGシステムを構築できる
  • コスト削減:モデルのトレーニングにかかるコストを節約できる
  • ハルシネーションの軽減:誤った回答を出すリスクを減らせる
  • 作業時間の短縮:人間による情報収集や検索の作業が不要で、負担軽減になる

RAGは、動的なFAQ応答システムの構築や、医療分野での症例データを基にした診断支援などにも用いられます。

3-3 RAGのデメリット

一方で、RAGには以下のようなデメリットも考えられます。

  • 回答時間がかかる:検索処理が発生するため、ユーザーの待ち時間が増える
  • 計算コストがかかる:検索処理や情報統合処理にかかるコストが追加される
  • 検索精度に依存する:回答品質が検索システムの性能に左右される
  • データソースの管理負担が増える:データソースの品質や鮮度を維持する管理体制が必要

RAGの回答精度は、検索された情報の信頼性や関連性に大きく左右されます。検索精度が低い場合、LLMに誤った情報が伝わり、正確ではない内容を生成する可能性があるため注意が必要です。

プロンプトの調整や信頼性の高い情報源の選択など、導入体制を確立した上でRAGを利用することが重要です。

関連記事:生成AIのビジネス活用で良く出てくる「RAG」とは?特徴や業界別活用事例を分かりやすく解説

4 LangChainを活用したRAGを開発するメリット 

LangChainは、RAGを実装するための強力なツールです。組み合わせによって開発を最適化でき、簡潔なコードで複雑な処理も実行できるなど、さまざまなメリットが見込めます。ここでは、LangChainを使ったRAG開発の主なメリットを紹介します。

4-1 応答精度の向上

LangChainの柔軟性と、RAGの正確な情報検索を組み合わせて使うことで、生成AIの回答精度が向上します。LangChainの検索機能では、外部のデータソースから関連情報を効率的に検索し、LLMに提供します。

これにより、LLM そのものの知識に加え、最新の情報や専門知識を活用した回答をスムーズに行えるようになります。特に、情報の更新頻度が高い分野や、専門用語がよく使われる分野では、LangChain の有効性が発揮されるでしょう。

4-2 リアルタイムで的確な情報提供が可能

ChatGPT などの生成AIツールでは、最新更新までのデータしか蓄積されておらず、最新情報に関する質問には回答できない場合があります。

LangChain を用いることで、生成AIが最新の情報を活用した回答を提供できます。リアルタイム性が求められる場面でも、的確な情報提供が可能です。例えば、ニュース記事や株価情報などから必要な情報を抽出し、LLMが刻々と変化する状況に対応した情報提供を実現します。

4-3 プロンプトの効率的な管理

LangChainは、プロンプトを効率的に管理しており、自然な流れで対話を進められます。プロンプトテンプレート機能により、豊富なプロンプトテンプレートから目的に応じた入力を選択するため、一貫性のある応答を生成します。

また、特定のニーズに対して適切な回答をスムーズに導き出せるようになり、ユーザー体験の向上やアプリケーションの品質向上にも寄与します。

4-4 応答内容の柔軟性が増す

また、LangChainでは、LLMの応答内容を柔軟にする機能を搭載しています。例えば、特定キーワードの強調や回答形式の指定などにより、ニーズに合わせて柔軟に回答を提供できます。

また、LangChain が生成AIにおける文脈理解を促すため、定型応答だけでなく、複雑な質問にも対応できます。

4-5 RAGのカスタマイズも可能

LangChainは、RAGのさまざまな要素をカスタマイズする機能を提供します。例えば、検索アルゴリズムやデータソースを自由に選択する、検索結果の順位を調整するなどです。

これにより、特定の用途に特化したRAGシステムの構築が容易になります。具体的には、LangChainによる複数データソースの統合し、マルチドキュメント対応のRAGを構築するといった使い方が可能です。

5 LangChainを使ったRAGの実装方法

ここからは、LangChainを活用したRAGの実装手順を具体的に紹介します。LangChainの機能性を最大限に活かすために、Python の使用が推奨されています。Pythonを使った開発手順を見ていきましょう。

5-1 導入環境の構築

LangChainを導入する前に、システムが要件を満たしているか、導入環境を確認しましょう。Pythonのバージョンやライブラリの互換性をチェックし、適切に設定されているかを検討します。

また、開発に必要なツールを準備します。Pythonのライブラリと、LLMプロバイダ(OpenAIなど)のAPIキーをインストールする必要があります。

例として、OpenAI の API キーの取得方法を以下に示します。

  1. OpenAI の公式サイトで「API reference」を選択する
  2. アカウントを作成する
  3. 「+ Create new secret key」をクリックしてAPIキーを発行する
  4. API キーをコピーして、Python に設定する

必要に応じて、LangChain のドキュメントやGitHubのリポジトリで、開発に必要な情報を確認できます。

5-2 RAGの実装準備

次に、RAG の実装準備を行います。テキストファイルや文書、外部データベースなど必要なデータソースを用意します。PDF やWebサイトなど、さまざまな形式のデータを利用できます。LangChain で扱いやすいように、データを適切な量に分割しておくとスムーズです。

5-3 LangChainのインストールと基本設定の調整

LangChain のインストールは、Python パッケージマネージャ(pip)を使うことで簡単に完了します。また、特定のプロジェクト要件に合うよう、設定の調整が必要です。使用する言語モデルや API キー、リクエストのタイムアウト設定など、プロジェクトに合わせて設定することで、LangChain をより効率的に活用できる環境を構築できます。

6 LangChainの基本実装とコード例

実際の RAG 実装例として、プロンプトを送信し、結果を取得して生成モデルに入力するコード例を以下に示します

from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA
from langchain.llms import OpenAI

# LLMの準備
llm = OpenAI(temperature=0)

# Embeddingの準備
embeddings = OpenAIEmbeddings()

# ベクトルストアの準備
db = FAISS.from_texts(["hoge", "fuga", "piyo"], embeddings)

# QAチェーンの準備
qa = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=db.as_retriever())

# 質問応答
query = "hogeとは?"
result = qa.run(query)
print(result)

上記は、ユーザーの質問を受け取って、検索を行い、集めた情報を基に生成モデルが応答を生成するプロセスです。LangChainを活用することで、一連のプロセスを簡潔なコードでまとめることができ、効率的にRAGを実装できます。

7 LangChainを使ったRAGの主な活用シーン

LangChainを使ったRAGは、以下のようなシーンや用途で活用できます。

  • カスタマーサポート対応の効率化、個別対応の実現
  • 製品マニュアルやFAQを基にした回答生成の自動化
  • 社内情報検索システム・ナレッジマネジメントの構築
  • 多言語対応の生成AIエージェント
  • 社内の膨大なドキュメントの整理
  • ECサイトにおける関連商品やサポート情報の説明
  • 購入者のレビューに基づく回答の提供
  • 医療ガイドラインや論文データベースの検索の自動化
  • 医療現場での対応の効率化
  • 法律文書や契約書からの情報抽出

LangChain を使った RAG を応用することで、多様な分野において業務効率化や業務負担の軽減を促すことが可能です。

8 企業におけるLangChainとRAGの開発・活用事例

ここからは、LangChainとRAGによる企業の開発事例や活用事例を紹介します。

8-1 楽天AI for Business:通信業界に特化した最新AIソリューション開発

楽天グループ株式会社は、LangChain を使用したAIプラットフォーム「楽天AI for Business」を展開しています。楽天AI for Business は、最先端のAI技術を用いて、ユーザーの課題解決を行うことを目的としています。市場分析や業務改善、顧客との関係性の強化といった企業活動を総合的に支援でき、さまざまな業務の最適化を促します。

システム上では、RAG 機能により、ファイルをアップロードし、必要なドキュメント情報を検索して、社員の質問に回答することが可能です。正しい情報を迅速に参照することで、事実と異なる内容を生成してしまうハルシネーションを抑制できます。

また、システムに入力された情報は、AIの学習に無断で利用される心配がなく、高い安全性の基で活用できる点も安心です。職種別のテンプレートが豊富で、経験の浅い社員でも高精度なアウトプットが可能です。

8-2 医療法人フルーツ:AIチャットプロトタイプ開発

医療法人フルーツと株式会社 mofmof は共同で、LangChain と RAG 活用したメモアプリのプロトタイプを、2ヶ月という短期間で開発しました。メモアプリは、医療法人フルーツが持つ知識を活用し、外部の知識ベースから事実を検索してLLMに回答を生成させる仕組みです。

プロジェクトは、開発支援サービス「サクッとMVPラボ」の支援を受けています。株式会社mofmofにとって、LangChain と OpenAI の最初の開発事例として成功を収めており、短期間でのアプリケーション開発の可能性を示しています。

8-3 株式会社くすりの窓口:RAG活用による生成AIチャットボットの導入

くすりの窓口は、RAG を活用した生成AIチャットボットを導入しました。同社では、さまざまな医薬関連サービスを提供するにあたって、問い合わせ対応の品質向上と効率化が課題でした。また、顧客からの問い合わせ内容が多岐にわたるため、社員ごとに回答がバラついてしまい、顧客満足度を低下させる可能性も懸念していたと言います。

問題解決に向けて、RAG による精度向上や問い合わせ対応システムへの組み込みを活かした PoC 検証用のAIチャットボットを開発。プロジェクト開始から約1ヶ月後には、生成AIチャットボットの検証用環境が構築され、検証や改善が進められています。

生成AIチャットボットは、Slackアプリ上で質問すると関連する回答が得られる仕組みです。また、LLM には OpenAI を採用し、情報源のドキュメントを扱うために安全性の高い環境とRAGをAWS(Amazon Webサービス)上で構築しています。

8-4 デロイト トーマツ コンサルティング合同会社:多機能RAGアプリ開発

デロイト トーマツは、企業の独自データをLLMで活用するために、多機能RAGアプリを開発しました。RAGの精度と利便性を向上させるためにアプリが開発され、多くの機能が搭載されています。

具体的には、複合的な質問を分解して回答する「サブクエリ検索」や、図や表などを理解して回答する「マルチモーダル対応」、業界や自社独自の用語を登録できる「独自用語集」などが使えます。

加えて、回答精度を高めるために、評価の高い回答を優先的に表示する「回答キャッシュ」や、管理者が登録したFAQデータに基づいて回答する「FAQ回答」などが搭載されています。クライアントのニーズに合わせて、生成AIの実装に活用することで、RAG開発の期間短縮や品質向上が見込まれています。

9 まとめ

LLMを活用したAIシステム開発を効率化するフレームワーク「LangChain」と、LLMの知識不足を補う「RAG(検索拡張生成)」は、いずれもLLMアプリケーションの開発を後押しする技術です。

LangChain と RAG を組み合わせることで、開発の効率化に役立つ多くの機能が簡単に利用でき、企業はより高度なAIシステムを構築可能です。LangChainとRAGの技術を、生成AIの導入や自社システムの開発に向けて効果的に活用しましょう。

「FirstContact」は、コストパフォーマンスに優れたAIチャットボットです。業界最安の月額料金で、AI搭載チャットボットを利用できます。また、開発会社ならではの柔軟なカスタマイズ力により、機能追加や他システムとの連携も可能です。まずは、下記よりお気軽にご相談ください。

まだまだ間に合う生成AIの業務利用

本記事を執筆している株式会社バイタリフィはWebやアプリ開発などを中心に顧客のDX化を支援し、 2025年9月で20周年を迎えました。多くのお客様、関係者の皆様に支えられながら、こうして20年間に渡り物づくりに携わる事ができた事、大変感謝申し上げます。

20周年を迎えた当社は新代表にアイスマイリー社(AIメディア)の板羽晃司を代表に迎え、新たに「生成AI」のバイタリフィとして再出発しています。

  • コストパフォーマンスに優れるチャットボット『FirstContact』について、シナリオ型と生成AIをハイブリッド利用できるように製品をバージョンアップ(成果と費用、期待値のバランスに優れた新しい生成AIの活用方法です)
  • これまで利用してきた基幹系システム、もしくはWebやアプリに “生成AI機能を追加して” さらなる業務効率化を推進する
  • 「画像生成AI(トラム社)」「ECレコメンドAI(サンクユー社)」「セキュアGAI(スクーティー社)」などの様々なAIソリューションを用い、バイタリフィグループ全体で顧客のAI化をサポート

これからもバイタリフィはお客様をAIソリューションで支え、変化の激しい現代を生き残れる会社となれるよう、しっかりサポートさせて頂きます。

この画像には alt 属性が指定されておらず、ファイル名は image-18.png です

そんなバイタリフィが提案するチャットボット(生成AI)

バイタリフィが提案するチャットボットは「費用」と「成果」のバランスに優れた、お客様のニーズに合わせられるチャットボットです。例えばこういう事はありませんか?

  • 生成AI機能を搭載したチャットボットを月額30万で利用しているが、そこまで賢くなく?毎月30万を支払うまでの期待値、価値は見いだせていない
  • 最近はどこの会社のホームページにもチャットボットが設置されており、自社には設置できていない、まずは簡単でいいので費用を抑えながら設置してみたい

生成AIは利用しないよりは利用した方が確実に良いのは理解できてきたが、 まだまだ発展途上のため、 どこまで費用かけて成果を求めるのか、そのバランスの判断が現状は難しい所ではないでしょうか?

そこでバイタイリフィでは、お客様のニーズに合わせた、費用と成果のバランスの取れたチャットボット導入を提案しています。

  1. まずは自社Webサイトにチャットボットを設置したい
    →月額2980円で設置可能、顧客とのタッチポイントとしての役割を担わせる
  2. 色々な情報ソース(Webページ、社内ドキュメント)を読み込ませ、それらをAIに学習した上で回答させたい
    →月額6万~ 設置可能、ChatGPTなどが利用可能です
  3. 効果を感じながら少しずつ機能拡張したい
    →月額2万円からスタート、生成AIチャットボットは学習データを取り込めば即戦力になるわけではなく、個社ごとの出力調整が必要となります。 バイタリフィは導入時から即戦力として活用いただけるチャットボットとする為のサポートに注力を行っております。 またカスタマイズ性にすぐれており、段階的に活用の幅を広げるご提案も可能です。 初期は基本的な機能から始め、徐々に高度な機能を追加していくことが可能です。

■「FirstContact」20日間の無料トライアル実施中!

FirstContactではサポート付きで20日間の無料トライアルを実施しています。デモサイトや実際に操作可能な管理画面も用意しています。

※貴社開発用のサイトへの導入も可能!

ご希望のプランのチャットボットでExcelを用いた運用や、LINE/Facebook連携のお試しも可能です。

※自動で有料プランに切り替わることはございません。

導入に不安を抱えている方や、 まずはチャットボットがどんな風に使えるか試してみたい方など弊社の営業担当が サポートさせていただきますので 是非お気軽にお問い合わせください!

投稿者プロフィール

この画像には alt 属性が指定されておらず、ファイル名は こけしくん1.png です

 

株式会社バイタリフィ マーケ担当

株式会社バイタリフィは生成AI活用したSaaS/Web/アプリ/基幹システムの開発会社です。2025年9月で20周年を迎えました。今後もお客様、代理店様、協業会社様と共にDX化をサポートしていきます。