langchain-dependencies について
langchain-dependenciesは、LangChainエコシステムのパッケージ、実行環境要件、バージョン制約を解説するスキルガイドです。PythonとTypeScriptのプロジェクトで依存関係を選び、アップグレードを管理する開発者向けです。
主な機能
- 01コアパッケージの要件
- 02PythonとTypeScriptの実行環境ガイド
- 03モデルと連携パッケージの一覧
- 04バージョン管理とアップグレードの指針
- 05依存関係で起きやすい問題
活用シーン
- 01LangGraphプロジェクトの依存関係設定
- 02モデルやベクトルストア連携パッケージの選択
- 03アップグレード時のバージョン衝突回避
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ langchain-ai/ skills-benchmarks --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 |
コアパッケージ
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 |
Python — 一般的なツールおよび検索用パッケージ
これらのパッケージには厳格な互換性要件があります。特別な理由がない限り、利用可能な最新バージョンを使用してください。
| パッケージ | 追加機能 | 備考 |
|---|---|---|
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 が必要 |
### TypeScript — 常に必要ですlangchain-community の安定性に関する注意: このパッケージはセマンティックバージョニングに準拠していません。マイナーリリースに破壊的変更が含まれることがあります。専用の統合パッケージ(例:
langchain-chroma、langchain-tavily)がある場合は、そちらを優先してください。個別にバージョン管理されており、より安定しています。
| パッケージ | 役割 | 最小バージョン |
|---|---|---|
@langchain/core | 基本型とインターフェース(ピア依存関係) | 1.0 |
langchain | エージェント、チェーン、検索 | 1.0 |
langsmith | トレーシング、評価、データセット | 0.3.0 |
TypeScript — オーケストレーション(いずれか1つを選択)
| パッケージ | 使用する場面 | 最小バージョン |
|---|---|---|
@langchain/langgraph | カスタムグラフを直接構築する場合 | 1.0 |
deepagents | Deep Agents フレームワークを使用する場合 | latest |
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 ベクトルストア | 専用の統合パッケージです。最新バージョンを推奨します |
@langchain/coreは明示的にインストールする必要があります。yarn ワークスペースやモノレポではピア依存関係であり、常に自動でホイストされるとは限りません。
最小限のプロジェクトテンプレート
LangGraph プロジェクトの最小限の依存関係セット(プロバイダーに依存しません)。 ``` # requirements.txt langchain>=1.0,<2.0 langchain-core>=1.0,<2.0 langgraph>=1.0,<2.0 langsmith>=0.3.0Add your model provider, e.g.:
langchain-openai
langchain-anthropic
langchain-google-genai
</python>
</ex-langgraph-python>
<ex-langgraph-typescript>
<typescript>
LangGraph プロジェクトの最小限の package.json 依存関係(プロバイダーに依存しません)。
```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
</python>
</ex-deepagents-python>
<ex-deepagents-typescript>
<typescript>
Deep Agents プロジェクトの最小限の package.json 依存関係(プロバイダーに依存しません)。
```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.
</python>
</ex-with-tools-python>
<ex-with-tools-typescript>
<typescript>
LangGraph プロジェクトに Tavily 検索とベクトルストアを追加します。
```json
{
"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_TRACING=true
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.4CORRECT: LangChain 1.0 LTS
langchain>=1.0,<2.0
</fix-legacy-version>
<fix-community-unpinned>
`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
同等の専用統合パッケージが存在する場合(例:コミュニティ版のChroma統合ではなく`langchain-chroma`)、そちらへの切り替えも検討してください。
</fix-community-unpinned>
<fix-community-tool-outdated>
`langchain-tavily`やベクトルストア統合などのコミュニティ製ツールパッケージは、LangChainのアップデートに合わせて互換性に関する修正をリリースします。古いバージョンに固定すると、インポートエラーやツールスキーマの不具合が発生する可能性があります。
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
</fix-community-tool-outdated>
<fix-community-import-deprecated>
以前は`langchain-community`に含まれていた多くのツールに、現在は更新されたインポートパスを持つ専用パッケージがあります。必ず専用パッケージからインポートしてください。
```python
# 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/
各項目に、正しいパッケージとインポートパスが記載されています。専用パッケージが存在する場合は、そちらを使用してください。コミュニティ版のパスも引き続き機能する可能性がありますが、レガシーとみなされます。
`@langchain/core`はピア依存関係です。特にモノレポでは、必ずpackage.jsonに含めてください。 ```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" } }
</typescript>
</fix-core-not-installed>
<fix-python-version>
<python>
LangChain 1.0ではPython 3.9以前はサポートされていません。
```python
# Verify before installing
import sys
assert sys.version_info >= (3, 10), "Python 3.10+ required for LangChain 1.0"
Node.js 20未満は公式にはサポートされていません。
```bash
# Verify before installing
node --version # must be v20.x or higher
```