【ラングチェイン】

LangChain とは?

最終更新:
💡 LLMアプリ開発のレゴブロック
📌 このページのポイント
LangChain — LLMアプリ構築のチェーン構造 ユーザー入力 Chain(チェーン) Prompt テンプレート LLM GPT等 Output パーサー 回答 主要コンポーネント Memory 会話履歴の保持 コンテキスト管理 Retriever 外部データ検索 RAG対応 Tools 外部API呼び出し 計算・検索など Agents 自律的な判断 ツール選択・実行
LangChainのイメージ
ひよこ ひよこ
LangChainって最近よく聞くけど、何がうれしいの?
ペンギン先生 ペンギン先生
LLMに「質問して→回答をもらう」だけじゃなくて、データベース検索やAPI呼び出しを組み合わせた複雑なアプリを、パーツを組み合わせるみたいに作れるんだよ
ひよこ ひよこ
ChainとかAgentってどう違うの?
ペンギン先生 ペンギン先生
Chainは処理の順番が決まっている「パイプライン」で、Agentは状況に応じてLLM自身がどのツールを使うか判断する「自律型」だね。Agentのほうが柔軟だけどその分制御が難しいよ
ひよこ ひよこ
RAGを作るのに便利って聞いたけど?
ペンギン先生 ペンギン先生
そうだね。ドキュメントを読み込んでベクトル化して、質問に関連する部分を検索して、LLMに渡して回答させる、という一連の流れをLangChainなら数十行で書けるんだ
ひよこ ひよこ
おもしろい!弱点はないの?
ペンギン先生 ペンギン先生
ベテランの間でもよく議論になるんだけど、LangChainは抽象化レイヤーが厚すぎてデバッグが大変という批判があるんだ。内部で何が起きているか追いにくくて、本番運用でトラブルシュートに苦労するケースがあるよ
ひよこ ひよこ
便利すぎるのも困りものなんだね……
ペンギン先生 ペンギン先生
そうなんだ。最近はLangChainの反省を活かした軽量フレームワークLlamaIndexやLiteLLMなど)も増えているし、LangChain自体もLCEL(LangChain Expression Language)という新しい書き方で再設計を進めているよ。フレームワーク選びは「自分がどこまで制御したいか」で決めるのが大事だね
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「LangChain」って出てきたら「LLMを使ったアプリを部品の組み合わせでサクサク作れるフレームワーク」と思えればだいたいOK!
📖 おまけ:英語の意味
「LangChain」 = 言語の鎖
💬 「Lang」はLanguage(言語)、「Chain」は鎖。LLMへの問いかけを鎖のようにつないで複雑な処理を実現するイメージから名付けられたんだよ
← 用語集にもどる