ChatGPT APIとは?料金体系からシステム組み込み手順まで徹底解説
ChatGPT APIの基本から料金体系、自社システムへの組み込み手順まで徹底解...
LangChainの基本から実践的な使い方まで初心者向けに解説。主要機能(Chain、Memory、Retrieval、Agent)の仕組みと、RAGやチャットボット開発などの活用事例をわかりやすく紹介します。
「LangChainって聞いたことはあるけど、何ができるの?」
「生成AIを使ったアプリを作りたいけど、どう始めればいい?」
このような疑問を持っている方は多いのではないでしょうか。
LangChainは、ChatGPTなどの大規模言語モデル(LLM)を活用したアプリケーション開発を効率化するフレームワークです。本記事では、LangChainの基本から活用事例まで、初心者向けにわかりやすく解説します。

LangChainは、大規模言語モデル(LLM)を活用したアプリケーション開発のためのオープンソース・フレームワークです。2022年10月にHarrison Chase氏によって開発され、現在GitHubで最も急成長しているオープンソースプロジェクトの一つとなっています。
簡単に言えば、LangChainはChatGPTやGPT-4などのLLMを「つなぎ合わせて」、より高度なアプリケーションを構築するための開発ツールキットです。
LangChainを使わない場合:
LangChainを使う場合:

ChatGPTのAPIを直接使うのとは何が違うんですか?

ChatGPT APIだけだと、単発の質問と回答しかできません。LangChainを使うと、複数の処理を連結したり、外部のデータベースと連携したり、会話の文脈を記憶させたりと、より複雑で実用的なアプリケーションを簡単に作れるようになります。
従来のLLM活用には、以下のような課題がありました。
1. 複数のLLMの使い分けが難しい:OpenAI、Anthropic、Googleなど、プロバイダーごとにAPIの仕様が異なる
2. 外部データとの連携が複雑:社内文書やデータベースとLLMを組み合わせるのが大変
3. プロンプトエンジニアリングが属人化:効果的なプロンプトの管理・再利用が難しい
LangChainは、これらすべてを解決する統合的なソリューションを提供しています。

LangChainには、LLMアプリケーション開発に必要な機能がすべて揃っています。
複数の処理を鎖のようにつなげて実行する機能です。「Chain」がLangChainの名前の由来でもあります。
処理の流れの例:
1. ユーザーから質問を受け取る
2. 必要に応じてデータベースを検索
3. LLMに質問+検索結果をプロンプトとして渡す
4. LLMの回答を受け取り、ユーザーに返却
このような複数ステップの処理を、一つのChainとして定義・管理できます。
会話の履歴や状態を保存し、文脈を継続できるようにする機能です。
通常のLLM APIでは、毎回の会話がリセットされてしまいます。Memoryを使うことで、チャットボットが過去のやり取りを覚えて、文脈に沿った回答ができるようになります。
主な記憶方式:
大量のドキュメントから、質問に関連する情報だけを検索・抽出する機能です。
LLMは一度に処理できるテキスト量に制限があります。100ページ以上のドキュメント全文をプロンプトに入れることはできません。
Retrievalの仕組み:
1. 膨大なドキュメントをあらかじめベクトル化してデータベースに保存
2. ユーザーの質問を同じくベクトル化
3. ベクトル近傍検索で関連性の高い文書を取得
4. その文書をLLMにコンテキストとして渡して回答を生成
これが、いわゆるRAG(Retrieval-Augmented Generation)の基本的な仕組みです。
LLMが自律的に判断して、必要なツールを使いながらタスクを完了する機能です。
最もワクワクする機能と言えるでしょう。Agentを使うと、LLMが状況に応じて検索エンジンを使ったり、計算を実行したり、データベースにアクセスしたりと、複合的なタスクを自動で処理できます。
Agentの動作例:
1. ユーザーの指示を受け取る
2. LLMが「どのツールを使うべきか」を自律的に判断
3. 必要なツールを呼び出して中間結果を取得
4. 最終的な回答を生成
異なるLLMプロバイダーを統一されたインターフェースで扱える機能です。
OpenAI、Anthropic Claude、Google Geminiなど、様々なLLMを同じコードスタイルで利用できます。プロジェクトの途中でモデルを変更したい場合も、コードの修正は最小限で済みます。
処理の実行状況を監視・記録する機能です。
ログ記録、データのストリーミング、トークン使用量のカウントなど、本番運用に必要な監視機能を実装できます。
LangChainを活用したAIシステム開発を支援 
LangChainはPythonで使用するのが最も一般的です。基本的な使い方を見ていきましょう。
まず、必要なパッケージをインストールします。
“`bash
pip install langchain
pip install langchain-openai
pip install langchain-community
“`
最もシンプルなLangChainの使用例です。
“`python
from langchain_openai import ChatOpenAI
from langchain.schema import HumanMessage, SystemMessage
import os
os.environ[“OPENAI_API_KEY”] = “your-api-key-here”
llm = ChatOpenAI(model=”gpt-4″, temperature=0.7)
messages = [
SystemMessage(content=”あなたは親切なAIアシスタントです。”),
HumanMessage(content=”LangChainについて簡潔に説明してください。”)
]
response = llm.invoke(messages)
print(response.content)
“`
同じ形式のプロンプトを繰り返し使う場合は、テンプレートを定義すると便利です。
“`python
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from langchain.schema import HumanMessage
llm = ChatOpenAI(model=”gpt-4″, temperature=0.7)
template = PromptTemplate(
input_variables=[“topic”, “level”],
template=”””
あなたは{level}レベルの学習者向けの教育者です。
「{topic}」について、わかりやすく説明してください。
回答形式:
1. 概要(50文字以内)
2. 詳細説明
3. 実例
“””
)
prompt = template.format(topic=”機械学習”, level=”初心者”)
response = llm.invoke([HumanMessage(content=prompt)])
print(response.content)
“`
Memoryを使って、会話の文脈を保持する例です。
“`python
from langchain_openai import ChatOpenAI
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
llm = ChatOpenAI(model=”gpt-4″, temperature=0.7)
memory = ConversationBufferMemory()
conversation = ConversationChain(
llm=llm,
memory=memory,
verbose=True
)
response1 = conversation.predict(input=”こんにちは、私の名前は田中です。”)
print(response1)
response2 = conversation.predict(input=”私の名前を覚えていますか?”)
print(response2) # 田中さんと認識して回答
“`

LangChainの学習は、この基本形から始めて、徐々にRetrievalやAgentなどの高度な機能に進んでいくのがおすすめです。公式ドキュメントも充実していますよ。

LangChainは様々なビジネスシーンで活用されています。
課題: 膨大な社内マニュアルや技術文書から必要な情報を見つけるのに時間がかかる
解決策: LangChainのRetrieval機能を使って、自然言語で質問できる文書検索システムを構築
導入効果:
課題: 24時間対応が必要だが、人員が限られている
解決策: FAQデータや製品マニュアルを学習させた高度なチャットボットを開発
主な機能:
導入効果:
課題: 非エンジニアがデータ分析を行いたいが、SQLやPythonの知識がない
解決策: Agent機能を使って、自然言語の指示からSQLやPythonコードを自動生成・実行
使い方の例:
「先月の売上データから、地域別の販売数量TOP10を円グラフで出して」
→ Agentが自動でSQL実行、集計、グラフ描画まで処理
課題: グローバル展開に伴い、多言語でのサポートが必要
解決策: LangChainで言語判定と翻訳を組み込んだAIアシスタントを構築
対応言語: 英語、中国語、日本語など
特徴: 文化的背景を考慮した回答生成

1. 開発効率の劇的向上
従来は言語モデルごとに異なるコードを書く必要がありましたが、LangChainを使えば短いコードで実装可能です。
2. 複数LLMの使い分けが簡単
コストを抑えたい場面ではGPT-3.5、高品質が必要な場面ではGPT-4など、設定を少し変更するだけで切り替えられます。
3. 豊富なコミュニティサポート
ドキュメントが充実しており、GitHubでのissue対応も活発です。
4. 拡張性の高さ
チャットボット、RAG、自律型エージェントなど、様々なユースケースに対応できます。
1. 学習コストの存在
初心者には少し敷居が高いかもしれません。基本的なPythonの知識が前提となります。
2. 日本語対応の制約
多くのプロンプト例が英語版を想定して作られているため、日本語環境では調整が必要な場合があります。
3. バージョンアップの頻度
急速に発展しているため、バージョンアップのたびに一部の機能が変更されることがあります。長期運用では継続的なメンテナンスが必要です。

LlamaIndexという似たフレームワークも聞いたことがあるのですが、違いは何ですか?

LlamaIndexはRAG特化で、データ検索・取得に強みがあります。一方、LangChainは汎用的なLLMアプリ開発全般をカバーしています。シンプルなRAGを素早く構築したいならLlamaIndex、複雑なワークフローや多機能なアプリを作りたいならLangChainがおすすめです。
| 項目 | LangChain | LlamaIndex |
|---|---|---|
| 得意分野 | 汎用的なLLMアプリ開発 | RAG特化・データ検索 |
| 学習難易度 | 中〜高 | 低〜中 |
| カスタマイズ性 | 非常に高い | 中程度 |
| コミュニティ | 大規模・活発 | 成長中 |
| 主な用途 | チャットボット、エージェント、複合処理 | 文書検索、QAシステム |
LangChainの特徴をまとめると以下の通りです。
| 項目 | 内容 |
|---|---|
| 概要 | LLMアプリ開発のためのオープンソース・フレームワーク |
| 主要機能 | Chain、Memory、Retrieval、Agent、Model I/O |
| 言語 | Python(推奨)、JavaScript/TypeScript |
| 主な用途 | チャットボット、RAG、データ分析、エージェント開発 |
| 対応LLM | OpenAI、Anthropic、Google Gemini、ローカルLLMなど |
LangChainは、生成AIを活用した本格的なアプリケーション開発には欠かせないフレームワークになりつつあります。学習コストはありますが、一度習得すれば開発効率が飛躍的に向上します。
公式ドキュメント(https://docs.langchain.com/)も充実しているので、まずは簡単なチャットボットから始めてみることをおすすめします。
—
ChatGPT APIの基本から料金体系、自社システムへの組み込み手順まで徹底解...
プロンプトエンジニアリングの基本から応用テクニックまで徹底解説。ChatGPTや...
Claude APIの基本から料金体系、APIキーの取得方法、PythonやNo...