LangChain Docs を “分かりやすく体系化” するとこうなる
LangChain のドキュメントは大きく次の 5 つの領域に分かれています:
1. Models(モデル)
LLM や Embedding、画像モデルなど 外部AIモデル を扱うためのモジュール。
含まれる内容
Large Language Models(OpenAI, Anthropic, Azure, HuggingFace など)
ChatModels(チャット用インターフェース)
Embeddings(ベクトル化)
Text-to-Speech / Speech-to-Text
Vision Models
学べること
「複雑な API 呼び出しを、統一的なインターフェースで扱える」
例えば OpenAI と HuggingFace のモデルを同じコードスタイルで使えるようになる。
from langchain_community.llms import HuggingFaceHub
llm = HuggingFaceHub(repo_id=”mistralai/Mistral-7B-Instruct-v0.2″)
2. Prompts(プロンプト)
LLM に渡す指示文を構築・生成・管理する部分。
できること
Prompt Templates(テンプレート化)
Few-shot の自動選択
パラメータ差し込み
出力フォーマット強制(JSON化など)
学べること
「プロンプトをコードとして管理する仕組み」
from langchain.prompts import PromptTemplate
prompt = PromptTemplate.from_template(“要約して: {text}”)
prompt.format(text=”これはテスト文です”)
3. Chains(チェーン)
LLM・ツール・データ処理を パイプラインとしてつなぐ仕組み。
代表例
LLMChain
SequentialChain(複数ステップ実行)
SimpleSequentialChain
学べること
LLM → 加工 → LLM という流れを組み立てる。
from langchain.chains import LLMChain
chain = LLMChain(llm=llm, prompt=prompt)
chain.run(“こんにちは”)
4. Agents(エージェント)
LLM が “自分でツールを選んで使う” 仕組み。
LangChain の最も特徴的な部分。
エージェントでできること
ツール使用(検索、計算、API呼び出し)
思考の分岐(ReAct)
マルチステップ問題解決
学べること
AI に “行動する力” を与える方法。
agent = initialize_agent(
tools=[search_tool, calculator],
llm=llm,
agent=”zero-shot-react-description”,
)
agent.run(“東京の天気を調べて摂氏で教えて”)
5. Retrieval(RAG:検索 + LLM)
外部データを読み込んで検索させる仕組み。
企業で一番使われるのがこれ。
主な機能
VectorStores(Chroma, Pinecone, Qdrant, FAISS)
Document loader(PDF, HTML, Notion, URL)
Retriever(検索器)
RAG チェーン全般
学べること
大量の社内文書を元に答えるチャットボットの実装方法。
from langchain.vectorstores import Chroma
db = Chroma.from_texts(texts, embeddings)
retriever = db.as_retriever()
🌟 補足モジュール
■ Memory(記憶)
チャットの文脈保持の仕組み。
会話履歴の保持
要約ベースのメモリ
永続化
■ Tools(ツール)
Python実行
Google検索
Database Query
API呼び出し
■ Output Parsers
JSON抽出
自然言語 → 構造化データ化