【ラングチェイン】

LangChain とは?

最終更新:
💡 LLMアプリを、モデルやツールの部品で組み立てる

言語モデル、ツール、プロンプトなどを組み合わせてAIアプリやエージェントを開発するためのオープンソースのフレームワーク。モデルや外部データとの連携を共通の部品で扱える。

📌 このページのポイント
LangChain:部品を組み合わせる 検索を先に行うRAGの構成例 関連文書を検索 質問と文書を準備 モデルを呼ぶ 回答を受け取る 文書ローダー・検索・モデルなどを連携 エージェントではツール選択のループも 組み合わせただけで正確さは保証されない
図は順序を決めたRAGの例。エージェントではモデルがツールなどを選ぶループを構成できます。
ひよこ ひよこ
LangChainって何がうれしいの?
ペンギン先生 ペンギン先生
言語モデルを呼ぶ処理に、外部ツールやデータ、プロンプトなどを組み合わせてアプリを作るための部品があるんだ。モデルごとの連携を共通の形で扱えるよ。ただし組み合わせただけで、回答の正確さまで保証されるわけではないね。
ひよこ ひよこ
決まった処理とエージェントはどう違うの?
ペンギン先生 ペンギン先生
あらかじめ決めた順序で処理する流れに対し、エージェントはモデルが次に使うツールなどを判断するループを持つよ。公式のLangChainではcreate_agentなどで構成する。より細かく状態や流れを設計する仕組みとしてLangGraphもあるんだ。
ひよこ ひよこ
RAGを作るときは何を組み合わせる?
ペンギン先生 ペンギン先生
文書を読み込む、分割する、検索に使う表現を作る、関連する文書を取り出す、といった部品があるよ。検索結果をモデルへ渡して回答の材料にする。検索を先に行う構成や、エージェントが必要に応じて検索する構成などがあるね。
ひよこ ひよこ
LangChainとLangSmithは同じもの?
ペンギン先生 ペンギン先生
役割が違うよ。LangChainはアプリやエージェントを組み立てる側で、LangSmithは実行の追跡・デバッグ・評価などを支える。処理を組み合わせたら、ツールの入力や出力、モデルの回答を実際に確認することが大切だね。
ひよこ ひよこ
古いサンプルもそのまま使える?
ペンギン先生 ペンギン先生
APIやパッケージ構成は変わることがあるので、使うバージョンに合う公式資料を確認しよう。Python版とJavaScript/TypeScript版では書き方も違う。モデルの利用条件や、ツールに与える権限もアプリ側で設計する必要があるよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「LangChain」って出てきたら「言語モデルとツールを組み合わせる開発フレームワーク」と思えばだいたいOK!
📖 おまけ:英語の意味
「LangChain」 = 言語と鎖を組み合わせた名前
💬 LangはLanguage(言語)、Chainは鎖を連想させる名前だよ。現在の公式資料では、モデルやツールを組み合わせたエージェント作成などを説明しているんだ

参考資料

← 用語集にもどる