LangChainのアーキテクチャ:モデル、プロンプト、チェーン
3つの構成要素を学びます。ChatModels、PromptTemplates、それらを組み合わせるチェーンです。
「LangChainのアーキテクチャ:モデル、プロンプト、チェーン」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
LangChainを使う理由
LangChainは、LLMアプリを構築するためのPythonフレームワークとして最も広く使われています。次の機能を提供します:
- 主要なすべてのLLMプロバイダー向けアダプター
- さまざまなデータソース用のローダーとパーサー
- メモリ、エージェント、チェーンのプリミティブ
- ベクトルストアとの統合
批判する人は肥大化していると指摘し、支持する人は幅広さを評価しています。ここでは、安定した中核部分であるLCELに焦点を当てます。
3つの基本概念
- モデル — 呼び出すLLMとChatModel
- プロンプト — メッセージを生成するテンプレート
- チェーン — プロンプト -> モデル -> パーサーをパイプでつなぐ構成
モデル
プロバイダー間で統一されたインターフェース:
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
openai_model = ChatOpenAI(model='gpt-4o-mini', temperature=0.2)
claude_model = ChatAnthropic(model='claude-sonnet-4-5')
resp = openai_model.invoke('Hello!')
print(resp.content)プロンプトテンプレート
変数を使って再利用できるプロンプト:
from langchain.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
('system', 'You are a {role} assistant.'),
('user', '{question}')
])
messages = prompt.invoke({'role': 'SQL', 'question': 'How do I delete rows?'})
print(messages.to_messages())チェーン: パイプ演算子
プロンプト、モデル、パーサーを|で組み合わせます:
from langchain.schema.output_parser import StrOutputParser
chain = prompt | openai_model | StrOutputParser()
result = chain.invoke({'role': 'SQL', 'question': 'How do I delete rows?'})
print(result)出力パーサー
モデルの生の出力をPythonの型に変換します:
from langchain.output_parsers import PydanticOutputParser
from pydantic import BaseModel
class Plan(BaseModel):
steps: list[str]
parser = PydanticOutputParser(pydantic_object=Plan)
chain = prompt | model | parserRunnableとRunnableプロトコル
すべてのチェーン要素は、次の機能を持つRunnableです:
.invoke(input)— 同期実行.ainvoke(input)— 非同期実行.stream(input)— トークンストリーミング.batch(inputs)— 並列バッチ処理
パイプ演算子でこれらを組み合わせます。
Streaming
for chunk in chain.stream({'role': 'helpful', 'question': 'Tell a story.'}):
print(chunk, end='', flush=True)Batch
results = chain.batch([
{'role': 'SQL', 'question': 'Q1'},
{'role': 'SQL', 'question': 'Q2'}
])
# Runs in parallel.実行時の設定
呼び出しごとにモデルのパラメーターを上書きします:
result = chain.invoke(
{'role': 'helpful', 'question': '...'},
config={'configurable': {'temperature': 0.0}}
)LangChain Hub
コミュニティが選定したプロンプトを取得します:
from langchain import hub
rag_prompt = hub.pull('rlm/rag-prompt')LangChainを使わない場合
非常に単純なエージェント(モデル呼び出し1回とツール1つ)では、LangChainは過剰設計です。呼び出しを直接記述してください。合成可能性、リトライ、可観測性、テスト済みの統合機能が必要な場合にLangChainを使用します。
チェーン演算子
LangChainで|演算子は何をしますか?
まとめ
モデル、プロンプト、チェーンを|でつなぎます。次は、LangChainエコシステムにおけるローダーとベクトルストアです。
よくある質問
「LangChainのアーキテクチャ:モデル、プロンプト、チェーン」レッスンは無料ですか?
はい。「LangChainのアーキテクチャ:モデル、プロンプト、チェーン」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「LangChainのアーキテクチャ:モデル、プロンプト、チェーン」で何を学びますか?
3つの構成要素を学びます。ChatModels、PromptTemplates、それらを組み合わせるチェーンです。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「LangChainのアーキテクチャ:モデル、プロンプト、チェーン」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- LangChainのアーキテクチャ:モデル、プロンプト、チェーン
- ローダー、スプリッター、ベクトルストア
- LCEL(LangChain Expression Language)
- RAGチェーンをエンドツーエンドで構築する