LangChainとは
LLMアプリケーションの構築を、部品の組み合わせ(チェーン)として簡単にするPython/JavaScriptフレームワーク
ひとことで言うと
AIアプリを部品の組み合わせのように作れる、開発用のフレームワーク。
概要
LangChainとは、LLMを使ったアプリケーションを構築するためのオープンソースのフレームワーク。 プロンプトの組み立て、外部データソースとの連携、ツール呼び出し、複数ステップの処理の連結(チェーン)等を、あらかじめ用意された部品(コンポーネント)を組み合わせる形で実装できるようにする。 RAGパイプラインの構築や、AIエージェントの実装によく利用され、Python版・JavaScript版が提供されている。 対応するLLMプロバイダ・ベクトルデータベース・ツールの種類が非常に多く、様々な外部サービスと連携するLLMアプリケーションの試作を素早く行える点が広く使われる理由の1つになっている。
背景
LLM活用が広がるにつれ、プロンプト管理・外部データ連携・ツール呼び出しといった、多くのLLMアプリケーションに共通する処理を毎回ゼロから実装する非効率が生じていた。 LangChainは、こうした共通処理を再利用可能な部品として提供することで開発を効率化するために開発された。
歴史
2022年10月: Harrison ChaseがLangChainを公開。 LLMアプリケーション開発の共通基盤として急速に普及し、その後の派生プロジェクト(LangGraph等)を含むエコシステムに発展した。
アーキテクチャ
プロンプトテンプレート、LLM呼び出しのラッパー、外部データ取得用のリトリーバー、ツール呼び出し、これらを連結するチェーンといったコンポーネント群から構成される。 各コンポーネントは共通のインターフェースを持ち、組み合わせて1つの処理フローを構築できる。
利点
- RAG・ツール呼び出し等、LLMアプリケーションでよく使われる処理を部品として再利用できる
- 対応するLLMプロバイダ・データソース・ツールの種類が豊富で、エコシステムが大きい
欠点
- 抽象化の層が多く、内部の挙動を細かく制御・デバッグしたい場合に複雑さを感じることがある
- バージョンアップの頻度が高く、APIの変更に追従する保守コストがかかりやすい
比較
関連用語
よくある質問
参考文献
- Official WebsiteLangChain
- GitHublangchain-ai/langchain