langchain-dependencies について
Python と TypeScript の LangChain パッケージやバージョン制約を選ぶためのリファレンススキルです。開発者が互換性のある依存関係を組み、アップグレードを計画できます。
主な機能
- 01コア依存関係の選定ガイド
- 02Python と TypeScript のパッケージ一覧
- 03オーケストレーションフレームワークの選択
- 04モデルと検索のインテグレーション
- 05バージョン管理とアップグレードの指針
活用シーン
- 01LangChain 1.0 プロジェクトの開始
- 02LangGraph と Deep Agents の選択
- 03コミュニティパッケージのバージョン固定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ langchain-ai/ langchain-skills --skill langchain-dependenciesインストール後、Claude Code で/langchain-dependenciesを入力して読み込まれたか確認します。
詳細
主な原則:
- LangChain 1.0 は現在の LTS リリースです。 新しいプロジェクトは必ず 1.0 以降から始めてください。LangChain 0.3 はレガシー向けのメンテナンスのみです。新しい開発には使用しないでください。
- langchain-core は共有基盤です。他のパッケージと併せて、必ず明示的にインストールしてください。
- langchain-community(Python のみ)はセマンティックバージョニングに従いません。バージョンは慎重に固定してください。
- LangGraph と Deep Agents: ユースケースに基づいて、オーケストレーション方式を 1 つ選んでください。これらは代替となる選択肢であり、両方を必須とするスタックではありません(以下の フレームワークの選択 を参照)。
- プロバイダー連携(モデル、ベクトルストア、ツール)は個別にインストールするため、使用するものだけを導入できます。
環境要件
| 要件 | Python | TypeScript / Node |
|---|---|---|
| ランタイムの最低要件 | Python 3.10+ | Node.js 20+ |
| LangChain | 1.0+ (LTS) | 1.0+ (LTS) |
| LangSmith SDK | >= 0.3.0 | >= 0.3.0 |
フレームワークの選択
エージェントのオーケストレーションレイヤーを**1 つ**選んでください。両方を使う必要はありません。| フレームワーク | 使用する状況 | 追加のコアパッケージ |
|---|---|---|
| LangGraph | グラフをきめ細かく制御したい場合、カスタムワークフロー、ループ、分岐が必要な場合 | langgraph / @langchain/langgraph |
| Deep Agents | 計画、メモリ、ファイルコンテキスト、スキルが最初から組み込まれているものを使いたい場合 | deepagents(LangGraph に依存し、推移的依存関係としてインストールします) |
どちらも langchain + langchain-core + langsmith の上に構築されています。
コアパッケージ
Python — 常に必要
| パッケージ | 役割 | 最低バージョン |
|---|---|---|
langchain | エージェント、チェーン、検索 | 1.0 |
langchain-core | 基本型とインターフェース(ピア依存関係) | 1.0 |
langsmith | トレーシング、評価、データセット | 0.3.0 |
Python — オーケストレーション(どちらか 1 つを選択)
| パッケージ | 使用する状況 | 最低バージョン |
|---|---|---|
langgraph | カスタムグラフを直接構築する場合 | 1.0 |
deepagents | Deep Agents フレームワークを使用する場合 | latest |
Python — モデルプロバイダー(使用するものを選択)
| パッケージ | プロバイダー |
|---|---|
langchain-openai | OpenAI(GPT-4o、o3、…) |
langchain-anthropic | Anthropic(Claude) |
langchain-google-genai | Google(Gemini) |
langchain-mistralai | Mistral |
langchain-groq | Groq(高速推論) |
langchain-cohere | Cohere |
langchain-fireworks | Fireworks AI |
langchain-together | Together AI |
langchain-huggingface | Hugging Face Hub |
langchain-ollama | Ollama(ローカルモデル) |
langchain-aws | AWS Bedrock |
langchain-azure-ai | Azure AI Foundry |
これらのパッケージには、より厳密な互換性要件があります。特別な理由がない限り、利用可能な最新バージョンを使用してください。
| パッケージ | 追加機能 | 備考 |
|---|---|---|
langchain-tavily | Tavily ウェブ検索(TavilySearch) | 専用の統合パッケージです。最新バージョンを推奨します |
langchain-text-splitters | テキスト分割ユーティリティ | セマンティックバージョニングに準拠しています。最新の状態を保ってください |
langchain-community | 1000 以上の統合機能(フォールバック) | セマンティックバージョニングに準拠していません。マイナーバージョン系列を固定してください |
faiss-cpu | FAISS ベクトルストア(ローカル) | langchain-community 経由です。最新バージョンを使用してください |
langchain-chroma | Chroma ベクトルストア | 専用の統合パッケージです。最新バージョンを推奨します |
langchain-pinecone | Pinecone ベクトルストア | 専用の統合パッケージです。最新バージョンを推奨します |
langchain-qdrant | Qdrant ベクトルストア | 専用の統合パッケージです。最新バージョンを推奨します |
langchain-weaviate | Weaviate ベクトルストア | 専用の統合パッケージです。最新バージョンを推奨します |
langsmith[pytest] | LangSmith 用 pytest プラグイン | langsmith >= 0.3.4 が必要です |
langchain-community の安定性に関する注意: このパッケージはセマンティックバージョニングに準拠していません。マイナーリリースに破壊的変更が含まれる場合があります。専用の統合パッケージ(例:
langchain-chroma、langchain-tavily)がある場合は、そちらを優先してください。これらは独立してバージョン管理されており、より安定しています。
TypeScript — 常に必要
| パッケージ | 役割 | 最小バージョン |
|---|---|---|
@langchain/core | 基本型とインターフェース(ピア依存関係) | 1.0 |
langchain | エージェント、チェーン、検索 | 1.0 |
langsmith | トレーシング、評価、データセット | 0.3.0 |
TypeScript — オーケストレーション(いずれかを選択)
| パッケージ | 使用する場合 | 最小バージョン |
|---|---|---|
@langchain/langgraph | カスタムグラフを直接構築する場合 | 1.0 |
deepagents | Deep Agents フレームワークを使用する場合 | 最新 |
TypeScript — モデルプロバイダー(使用するものを選択)
| パッケージ | プロバイダー |
|---|---|
@langchain/openai | OpenAI(GPT-4o、o3、…) |
@langchain/anthropic | Anthropic(Claude) |
@langchain/google-genai | Google(Gemini) |
@langchain/mistralai | Mistral |
@langchain/groq | Groq(高速な推論) |
@langchain/cohere | Cohere |
@langchain/aws | AWS Bedrock |
@langchain/azure-openai | Azure OpenAI |
@langchain/ollama | Ollama(ローカルモデル) |
TypeScript — 一般的なツールと検索パッケージ
| パッケージ | 追加機能 | 備考 |
|---|---|---|
@langchain/tavily | Tavily ウェブ検索(TavilySearch) | 専用の統合パッケージです。最新バージョンを推奨します |
@langchain/community | 幅広いコミュニティ統合機能 | 使用は控えめにし、専用パッケージを優先してください |
@langchain/pinecone | Pinecone ベクトルストア | 専用の統合パッケージです。最新バージョンを推奨します |
@langchain/qdrant | Qdrant ベクトルストア | 専用の統合パッケージです。最新バージョンを推奨します |
@langchain/weaviate | Weaviate ベクトルストア | 専用の統合パッケージです。最新バージョンを推奨します |
yarn ワークスペースやモノレポでは、
@langchain/coreを明示的にインストールする必要があります。これはピア依存関係であり、自動的にホイストされるとは限りません。
最小限のプロジェクトテンプレート
LangGraph プロジェクト向けの最小限の依存関係セット(プロバイダーに依存しません)。# requirements.txt
langchain>=1.0,<2.0
langchain-core>=1.0,<2.0
langgraph>=1.0,<2.0
langsmith>=0.3.0
# Add your model provider, e.g.:
# langchain-openai
# langchain-anthropic
# langchain-google-genai
LangGraph プロジェクト向けの最小限の package.json 依存関係(プロバイダーに依存しません)。
{
"dependencies": {
"@langchain/core": "^1.0.0",
"langchain": "^1.0.0",
"@langchain/langgraph": "^1.0.0",
"langsmith": "^0.3.0"
}
}
Deep Agents プロジェクト向けの最小限の依存関係セット(プロバイダーに依存しません)。
# requirements.txt
deepagents # bundles langgraph internally
langchain>=1.0,<2.0
langchain-core>=1.0,<2.0
langsmith>=0.3.0
# Add your model provider, e.g.:
# langchain-anthropic
# langchain-openai
Deep Agents プロジェクト向けの最小限の package.json 依存関係(プロバイダーに依存しません)。
{
"dependencies": {
"deepagents": "latest",
"@langchain/core": "^1.0.0",
"langchain": "^1.0.0",
"langsmith": "^0.3.0"
}
}
LangGraph プロジェクトに Tavily 検索とベクトルストアを追加します。
# requirements.txt
langchain>=1.0,<2.0
langchain-core>=1.0,<2.0
langgraph>=1.0,<2.0
langsmith>=0.3.0
# Web search
langchain-tavily # use latest; partner package, semver
# Vector store — pick one:
langchain-chroma # use latest; partner package, semver
# langchain-pinecone # use latest; partner package, semver
# langchain-qdrant # use latest; partner package, semver
# Text processing
langchain-text-splitters # use latest; semver
# Your model provider:
# langchain-openai / langchain-anthropic / etc.
LangGraph プロジェクトに Tavily 検索とベクトルストアを追加します。
{
"dependencies": {
"@langchain/core": "^1.0.0",
"langchain": "^1.0.0",
"@langchain/langgraph": "^1.0.0",
"langsmith": "^0.3.0",
"@langchain/tavily": "latest",
"@langchain/pinecone": "latest"
}
}
バージョン管理ポリシーとアップグレード戦略
| パッケージグループ | バージョン管理 | 安全なアップグレード戦略 |
|---|---|---|
langchain、langchain-core | 厳密なセマンティックバージョニング(1.0 LTS) | マイナー更新を許可:>=1.0,<2.0 |
langgraph / @langchain/langgraph | 厳密なセマンティックバージョニング(v1 LTS) | マイナー更新を許可:>=1.0,<2.0 |
langsmith | 厳密なセマンティックバージョニング | マイナー更新を許可:>=0.3.0 |
専用の統合パッケージ(例:langchain-tavily、langchain-chroma) | 独立したバージョン管理 | マイナー更新を許可し、最新版を使用 |
langchain-community | セマンティックバージョニングではありません | マイナーバージョンを固定:>=0.4.0,<0.5.0 |
deepagents | プロジェクトのリリースに準拠 | 本番環境ではテスト済みのバージョンに固定 |
セマンティックバージョニングに準拠するすべてのパッケージでは、破壊的変更はメジャーバージョン(1.x → 2.x)でのみ発生します。非推奨の機能は、警告とともに1.x系列全体で引き続き動作します。
langchain-community よりも専用の統合パッケージを優先してください。 専用パッケージがある場合(例:langchain-community の Chroma 統合ではなく langchain-chroma)、そちらを使用してください。専用パッケージは独立してバージョン管理され、より十分にテストされています。
コミュニティのツールパッケージ(Tavily、ベクトルストアなど)は、プロジェクトでロックされた環境が必要な場合を除き、最新版を維持してください。 これらのパッケージは、LangChain/LangGraph の更新に合わせて互換性修正を頻繁にリリースします。
環境変数
すべてのキーは実行時に環境から読み込まれます。実際に使用するサービスのキーのみを設定してください。# LangSmith (always recommended for observability)
LANGSMITH_API_KEY=<your-key>
LANGSMITH_PROJECT=<project-name> # optional, defaults to "default"
# Model provider — set the one(s) you use
OPENAI_API_KEY=<your-key>
ANTHROPIC_API_KEY=<your-key>
GOOGLE_API_KEY=<your-key>
MISTRAL_API_KEY=<your-key>
GROQ_API_KEY=<your-key>
COHERE_API_KEY=<your-key>
FIREWORKS_API_KEY=<your-key>
TOGETHER_API_KEY=<your-key>
HUGGINGFACEHUB_API_TOKEN=<your-key>
# Common tool/retrieval services
TAVILY_API_KEY=<your-key> # for Tavily search
PINECONE_API_KEY=<your-key> # for Pinecone
よくある間違い
LangChain 0.3 で新しいプロジェクトを始めないでください。2026年12月まではメンテナンスのみのリリースです。# WRONG: legacy, no new features, security patches only
langchain>=0.3,<0.4
# CORRECT: LangChain 1.0 LTS
langchain>=1.0,<2.0
`langchain-community` はマイナーバージョンの更新で動作しなくなることがあります。セマンティックバージョニングには従っていません。
# WRONG: allows minor-version updates that may be breaking
langchain-community>=0.4
# CORRECT: pin to exact minor series
langchain-community>=0.4.0,<0.5.0
また、同等の専用インテグレーションパッケージがある場合は、そちらへの切り替えも検討してください(例:community の Chroma インテグレーションではなく langchain-chroma)。
# RISKY: old pin may be incompatible with LangChain 1.0
langchain-tavily==0.0.1
# BETTER: allow latest within the current major
langchain-tavily>=0.1
以前は `langchain-community` に含まれていた多くのツールに、現在は更新されたインポートパスを持つ専用パッケージがあります。必ず専用パッケージからのインポートを優先してください。
# WRONG — deprecated community import path
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_community.tools import WikipediaQueryRun
from langchain_community.vectorstores import Chroma
from langchain_community.vectorstores import Pinecone
# CORRECT — use dedicated package imports
from langchain_tavily import TavilySearch # pip: langchain-tavily (TavilySearchResults is deprecated)
from langchain_community.tools import WikipediaQueryRun # no dedicated pkg yet
from langchain_chroma import Chroma # pip: langchain-chroma
from langchain_pinecone import PineconeVectorStore # pip: langchain-pinecone
各インテグレーションの現在の正式なインポート方法を確認するには、インテグレーションディレクトリを検索してください: https://python.langchain.com/docs/integrations/tools/
各項目に、正しいパッケージとインポートパスが記載されています。専用パッケージがある場合は、それを使用してください。community のパスも引き続き動作することがありますが、レガシーと見なされています。
`@langchain/core` はピア依存関係です。特にモノレポでは、package.json に必ず含めてください。// WRONG: missing @langchain/core (breaks in yarn workspaces / strict hoisting)
{
"dependencies": {
"@langchain/langgraph": "^1.0.0"
}
}
// CORRECT: always list @langchain/core explicitly
{
"dependencies": {
"@langchain/core": "^1.0.0",
"@langchain/langgraph": "^1.0.0"
}
}
Python 3.9 以下は LangChain 1.0 でサポートされていません。
# Verify before installing
import sys
assert sys.version_info >= (3, 10), "Python 3.10+ required for LangChain 1.0"
Node.js 20 未満は公式にはサポートされていません。
# Verify before installing
node --version # must be v20.x or higher