LangChain 設定とエラークラス
RunnableConfig 設定項目
| フィールド | 型 | 説明 |
|---|---|---|
| configurable | dict | 実行時設定。最もよく使うのは: thread_id(Checkpointer 用) |
| recursion_limit | int | 最大再帰深度(デフォルト 9999) |
| metadata | dict | 追加メタデータ |
| tags | list[str] | タグリスト(トレースのフィルタリングやグループ化に使用) |
| callbacks | list[BaseCallbackHandler] | コールバックハンドラー |
例
config = {
"configurable": {"thread_id": "user-001"},
"metadata": {"source": "web"},
"tags": ["production", "chat"],
}
result = agent.invoke(inputs, config=config)
"configurable": {"thread_id": "user-001"},
"metadata": {"source": "web"},
"tags": ["production", "chat"],
}
result = agent.invoke(inputs, config=config)
Checkpointer 実装クラス
| 类 | インポートパス | 永続化 |
|---|---|---|
| InMemorySaver | langgraph.checkpoint.memory | 否 |
| SqliteSaver | langgraph.checkpoint.sqlite | である |
| PostgresSaver | langgraph.checkpoint.postgres | である |
例
# メモリ
from langgraph.checkpoint.memory import InMemorySaver
checkpointer = InMemorySaver()
# SQLite
from langgraph.checkpoint.sqlite import SqliteSaver
checkpointer = SqliteSaver.from_conn_string("checkpoints.db")
# PostgreSQL
# from langgraph.checkpoint.postgres import PostgresSaver
# checkpointer = PostgresSaver.from_conn_string("postgresql://...")
from langgraph.checkpoint.memory import InMemorySaver
checkpointer = InMemorySaver()
# SQLite
from langgraph.checkpoint.sqlite import SqliteSaver
checkpointer = SqliteSaver.from_conn_string("checkpoints.db")
# PostgreSQL
# from langgraph.checkpoint.postgres import PostgresSaver
# checkpointer = PostgresSaver.from_conn_string("postgresql://...")
Store 実装クラス
| 类 | インポートパス | 永続化 |
|---|---|---|
| InMemoryStore | langgraph.store.memory | 否 |
| PostgresStore | langgraph.store.postgres | である |
例
from langgraph.store.memory import InMemoryStore
store = InMemoryStore()
store.put(("namespace",), "key", {"data": "value"})
item = store.get(("namespace",), "key")
items = store.search(("namespace",))
store.delete(("namespace",), "key")
store = InMemoryStore()
store.put(("namespace",), "key", {"data": "value"})
item = store.get(("namespace",), "key")
items = store.search(("namespace",))
store.delete(("namespace",), "key")
よくある例外クラス
| 例外 | 発生源 | 説明 |
|---|---|---|
| ToolException | langchain.tools | ツール内部の例外。Agent はこれを捕捉して再判断できます |
| ImportError | Python 組み込み | 依存パッケージの欠落。エラーメッセージにインストールコマンドが表示されます |
| ValueError | Python 組み込み | パラメータ検証の失敗、または設定エラー |
| NotImplementedError | Python 組み込み | Middleware メソッドが未実装(例:同期のみ定義されているのに非同期で呼び出した場合) |
| StructuredOutputError | langchain.agents.structured_output | 構造化出力に関連するエラー(形式不一致、複数出力など) |
| StructuredOutputValidationError | langchain.agents.structured_output | 構造化出力の検証失敗 |
| MultipleStructuredOutputsError | langchain.agents.structured_output | モデルが複数の構造化出力を返した |
| TimeoutError | Python 組み込み / 各 SDK | リクエストタイムアウト |
LaunchDarkly 設定チェックリスト
| チェック項目 | コマンド/方法 |
|---|---|
| Python バージョン | python --version(3.10+ が必要) |
| langchain バージョン | python -c "import langchain; print(langchain.__version__)" |
| 依存パッケージのインストール | pip list | grep langchain |
| API Key の設定 | python -c "import os; from dotenv import load_dotenv; load_dotenv(); print(os.getenv('DEEPSEEK_API_KEY', 'NOT SET')[:10])" |
| モデルの接続性 | init_chat_model() を使用して簡単なリクエストを送信しテストする |
その他の拡張本チュートリアルの API リファレンスは LangChain v1.3.0 に基づいています。LangChain は現在も急速に発展しているため、最新の API 情報については必ず最新の公式ドキュメントを参照することをお勧めします。