LangChainにおける「PromptTemplate」と「LLMChain」は、プロンプト設計とモデル実行を結びつける基本的な構成要素です。以下に、それぞれの役割と使い方、そして連携の仕方を詳しく説明します。
1. PromptTemplate(プロンプトテンプレート)
概要
PromptTemplate は、動的なプロンプトを構築するためのテンプレート機能です。プロンプトの中に変数を埋め込むことで、同じ構造のプロンプトを使い回すことができます。
主な用途
-
ユーザー入力や外部情報に応じてプロンプトを自動生成
-
複数の入力に対応する統一された出力形式を設計
-
一貫したフォーマットによるプロンプトエンジニアリング
基本構文(Python例)
補足事項
-
input_variablesはテンプレート内で使用される変数名のリスト -
.format()メソッドで実際の入力に置換
2. LLMChain(LLMチェーン)
概要
LLMChain は、プロンプトの生成(PromptTemplate)とLLM(Large Language Model)の実行を結びつけるチェーン構造です。
主な用途
-
プロンプトテンプレートに基づく一貫した出力生成
-
入力から出力までのプロセスを簡潔に管理
-
複数のコンポーネントを組み合わせたチェーンの一部として利用
基本構文(Python例)
説明
-
llm:使用する大規模言語モデル(OpenAI、Anthropic、HuggingFaceなど) -
prompt:PromptTemplateインスタンス -
.run():入力値を渡して実行
3. PromptTemplate と LLMChain の連携
実行の流れ
-
PromptTemplateでユーザー入力に応じたプロンプトを生成 -
LLMChainがそのプロンプトを LLM に渡して応答を取得 -
応答が
.run()の戻り値として返る
図式的なイメージ
4. 応用例
チャットボット
このコードで、LLMは「富士山の高さは?」という質問に対し、「親切なアシスタント」として回答します。
まとめ
| コンポーネント | 役割 | 主な機能 |
|---|---|---|
| PromptTemplate | プロンプトのテンプレート化 | 動的な変数埋め込み、再利用可能な構文設計 |
| LLMChain | 入力から出力までの処理チェーン | プロンプトの生成とLLM実行の自動連携 |
LangChainを活用するうえで、この2つのコンポーネントは基本かつ重要な構成要素であり、後に紹介される「Chains」「Agents」「Tools」などの高度な構造とも連携していきます。
ChatGPT4o 生成日:2025/06/12