AI・機械学習
中級
LangChain(ランクチェーン)
LLMアプリケーション構築のためのPython/TypeScriptフレームワーク。チェーン・エージェント・メモリを組み合わせて複雑なAIワークフローを実装できる。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
LLM
エージェント
RAG
Python
AI開発
LangChainとは
LangChainは2022年にHarrison Chase氏が開発したLLMアプリケーション構築用フレームワーク。PythonとTypeScript両方で利用でき、GitHub Stars 10万超の最大級OSS LLMフレームワークに成長した。
主要コンポーネント
1. Chain(チェーン)
複数のLLM呼び出しや処理ステップをパイプライン化する基本単位。LangChain Expression Language(LCEL)で宣言的に定義できる。
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
prompt = ChatPromptTemplate.from_template("次の質問に答えて: {question}")
model = ChatOpenAI(model="gpt-4o")
chain = prompt | model
result = chain.invoke({"question": "LangChainとは?"})
2. Agent(エージェント)
LLMが自律的にツールを選択・実行するコンポーネント。ReAct(Reasoning + Acting)パターンで「考える→行動する→観察する」を繰り返す。
3. Memory(メモリ)
会話履歴や中間結果を保持する機能。ConversationBufferMemory、ConversationSummaryMemory等の種類がある。
4. Retriever(リトリーバー)
ベクトルストアや全文検索エンジンから関連文書を取得するコンポーネント。RAG構築の核心部分。
RAGパイプラインの実装例
from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings
from langchain.chains import RetrievalQA
# ドキュメントをベクトル化してストア作成
vectorstore = FAISS.from_documents(docs, OpenAIEmbeddings())
retriever = vectorstore.as_retriever(search_kwargs={"k": 5})
# RAGチェーン構築
qa_chain = RetrievalQA.from_chain_type(
llm=ChatOpenAI(model="gpt-4o"),
retriever=retriever
)
LangChain v0.3の変更点
2024年にv0.3がリリースされ、コアパッケージが整理された:
langchain-core: 基本インターフェースlangchain: 高レベルチェーンlangchain-community: サードパーティ統合langchain-openai/langchain-anthropic: プロバイダー別パッケージ
LangSmith(可観測性)
LangChainの公式トレーシングプラットフォーム。各ステップの入出力・レイテンシ・コストを可視化し、プロダクション運用を支援する。
LangChainとLangGraph
シンプルな線形パイプラインはLangChainのLCELで十分。複雑な分岐・ループ・マルチエージェント協調が必要な場合はLangGraphへの移行が推奨される。
適用事例
- ドキュメントQ&Aシステム(社内FAQ・製品マニュアル検索)
- コードアシスタント(GitHubリポジトリ解析)
- カスタマーサポートボット(CRM統合)
- データ分析エージェント(SQL自動生成)