mcpField
L
langchain-dependencies

langchain-dependencies

github.com/langchain-ai開発1.3k16.2k 回インストール3 日前に更新
リポジトリ

langchain-dependencies について

Python と TypeScript の LangChain パッケージやバージョン制約を選ぶためのリファレンススキルです。開発者が互換性のある依存関係を組み、アップグレードを計画できます。

主な機能

  1. 01コア依存関係の選定ガイド
  2. 02Python と TypeScript のパッケージ一覧
  3. 03オーケストレーションフレームワークの選択
  4. 04モデルと検索のインテグレーション
  5. 05バージョン管理とアップグレードの指針

活用シーン

  1. 01LangChain 1.0 プロジェクトの開始
  2. 02LangGraph と Deep Agents の選択
  3. 03コミュニティパッケージのバージョン固定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/langchain-ai/langchain-skills --skill langchain-dependencies

インストール後、Claude Code で/langchain-dependenciesを入力して読み込まれたか確認します。

詳細

LangChain エコシステムは、用途に特化し、それぞれ独立してバージョン管理されるパッケージに分かれています。必要なパッケージとそのバージョン制約を把握しておくことで、互換性の問題を防ぎ、予測可能なアップグレードが可能になります。

主な原則:

  • LangChain 1.0 は現在の LTS リリースです。 新しいプロジェクトは必ず 1.0 以降から始めてください。LangChain 0.3 はレガシー向けのメンテナンスのみです。新しい開発には使用しないでください。
  • langchain-core は共有基盤です。他のパッケージと併せて、必ず明示的にインストールしてください。
  • langchain-community(Python のみ)はセマンティックバージョニングに従いません。バージョンは慎重に固定してください。
  • LangGraph と Deep Agents: ユースケースに基づいて、オーケストレーション方式を 1 つ選んでください。これらは代替となる選択肢であり、両方を必須とするスタックではありません(以下の フレームワークの選択 を参照)。
  • プロバイダー連携(モデル、ベクトルストア、ツール)は個別にインストールするため、使用するものだけを導入できます。

環境要件

要件PythonTypeScript / Node
ランタイムの最低要件Python 3.10+Node.js 20+
LangChain1.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
deepagentsDeep Agents フレームワークを使用する場合latest
Python — モデルプロバイダー(使用するものを選択)
パッケージプロバイダー
langchain-openaiOpenAI(GPT-4o、o3、…)
langchain-anthropicAnthropic(Claude)
langchain-google-genaiGoogle(Gemini)
langchain-mistralaiMistral
langchain-groqGroq(高速推論)
langchain-cohereCohere
langchain-fireworksFireworks AI
langchain-togetherTogether AI
langchain-huggingfaceHugging Face Hub
langchain-ollamaOllama(ローカルモデル)
langchain-awsAWS Bedrock
langchain-azure-aiAzure AI Foundry
### Python — 一般的なツールと検索パッケージ

これらのパッケージには、より厳密な互換性要件があります。特別な理由がない限り、利用可能な最新バージョンを使用してください。

パッケージ追加機能備考
langchain-tavilyTavily ウェブ検索(TavilySearch)専用の統合パッケージです。最新バージョンを推奨します
langchain-text-splittersテキスト分割ユーティリティセマンティックバージョニングに準拠しています。最新の状態を保ってください
langchain-community1000 以上の統合機能(フォールバック)セマンティックバージョニングに準拠していません。マイナーバージョン系列を固定してください
faiss-cpuFAISS ベクトルストア(ローカル)langchain-community 経由です。最新バージョンを使用してください
langchain-chromaChroma ベクトルストア専用の統合パッケージです。最新バージョンを推奨します
langchain-pineconePinecone ベクトルストア専用の統合パッケージです。最新バージョンを推奨します
langchain-qdrantQdrant ベクトルストア専用の統合パッケージです。最新バージョンを推奨します
langchain-weaviateWeaviate ベクトルストア専用の統合パッケージです。最新バージョンを推奨します
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
deepagentsDeep Agents フレームワークを使用する場合最新
TypeScript — モデルプロバイダー(使用するものを選択)
パッケージプロバイダー
@langchain/openaiOpenAI(GPT-4o、o3、…)
@langchain/anthropicAnthropic(Claude)
@langchain/google-genaiGoogle(Gemini)
@langchain/mistralaiMistral
@langchain/groqGroq(高速な推論)
@langchain/cohereCohere
@langchain/awsAWS Bedrock
@langchain/azure-openaiAzure OpenAI
@langchain/ollamaOllama(ローカルモデル)
TypeScript — 一般的なツールと検索パッケージ
パッケージ追加機能備考
@langchain/tavilyTavily ウェブ検索(TavilySearch)専用の統合パッケージです。最新バージョンを推奨します
@langchain/community幅広いコミュニティ統合機能使用は控えめにし、専用パッケージを優先してください
@langchain/pineconePinecone ベクトルストア専用の統合パッケージです。最新バージョンを推奨します
@langchain/qdrantQdrant ベクトルストア専用の統合パッケージです。最新バージョンを推奨します
@langchain/weaviateWeaviate ベクトルストア専用の統合パッケージです。最新バージョンを推奨します

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)。

`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
以前は `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

コメント