360 Secure SkillHub
360 安全技能中心

langchain-dependencies

该 Skill 是 LangChain、LangGraph、LangSmith 与 Deep Agents 的依赖参考,按 Python 和 TypeScript 说明核心包、模型/工具/向量库集成包、最低版本、环境变量和版本锁定策略,并列出常见安装错误;不执行安装、不做实时版本查询,也不生成项目代码。

langchain-ai
热度 0.00
最近更新 2026-10-19 02:34:03
分类:开发依赖:纯提示词应用场景:API 集成 / DevOps / 模板 / 概念解释

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add langchain-ai/langchain-skills/langchain-dependencies
Metadata
name
langchain-dependencies
description
INVOKE THIS SKILL when setting up a new project or when asked about package versions, installation, or dependency management for LangChain, LangGraph, LangSmith, or Deep Agents. Covers required packages, minimum versions, environment requirements, versioning best practices, and common community tool packages for both Python and TypeScript.

Key principles:

  • LangChain 1.0 is the current LTS release. Always start new projects on 1.0+. LangChain 0.3 is legacy maintenance-only — do not use it for new work.
  • langchain-core is the shared foundation: always install it explicitly alongside any other package.
  • langchain-community (Python only) does NOT follow semantic versioning; pin it conservatively.
  • LangGraph vs Deep Agents: choose one orchestration approach based on your use case — they are alternatives, not a required stack (see Framework Choice below).
  • Provider integrations (model, vector store, tools) are installed separately so you only pull in what you use.

Environment Requirements

Requirement Python TypeScript / Node
Runtime minimum Python 3.10+ Node.js 20+
LangChain 1.0+ (LTS) 1.0+ (LTS)
LangSmith SDK >= 0.3.0 >= 0.3.0

Framework Choice

Framework When to use Core extra package
LangGraph Need fine-grained graph control, custom workflows, loops, or branching langgraph / @langchain/langgraph
Deep Agents Want batteries-included planning, memory, file context, and skills out of the box deepagents (depends on LangGraph; installs it as a transitive dep)

Both sit on top of langchain + langchain-core + langsmith.


Core Packages

Python — always required

Package Role Min version
langchain Agents, chains, retrieval 1.0
langchain-core Base types & interfaces (peer dep) 1.0
langsmith Tracing, evaluation, datasets 0.3.0

Python — orchestration (pick one)

Package Use when Min version
langgraph Building custom graphs directly 1.0
deepagents Using the Deep Agents framework latest

Python — model providers (pick the one(s) you use)

Package Provider
langchain-openai OpenAI (GPT-4o, o3, …)
langchain-anthropic Anthropic (Claude)
langchain-google-genai Google (Gemini)
langchain-mistralai Mistral
langchain-groq Groq (fast inference)
langchain-cohere Cohere
langchain-fireworks Fireworks AI
langchain-together Together AI
langchain-huggingface Hugging Face Hub
langchain-ollama Ollama (local models)
langchain-aws AWS Bedrock
langchain-azure-ai Azure AI Foundry

Python — common tool & retrieval packages

These packages have tighter compatibility requirements — use the latest available version unless you have a specific reason not to.

Package Adds Notes
langchain-tavily Tavily web search (TavilySearch) Dedicated integration package; prefer latest
langchain-text-splitters Text chunking utilities Semver, keep current
langchain-community 1000+ integrations (fallback) NOT semver — pin to minor series
faiss-cpu FAISS vector store (local) Via langchain-community; use latest
langchain-chroma Chroma vector store Dedicated integration package; prefer latest
langchain-pinecone Pinecone vector store Dedicated integration package; prefer latest
langchain-qdrant Qdrant vector store Dedicated integration package; prefer latest
langchain-weaviate Weaviate vector store Dedicated integration package; prefer latest
langsmith[pytest] pytest plugin for LangSmith Requires langsmith >= 0.3.4

langchain-community stability note: This package is NOT on semantic versioning. Minor releases can contain breaking changes. Prefer dedicated integration packages (e.g. langchain-chroma, langchain-tavily) when they exist — they are independently versioned and more stable.

TypeScript — always required

Package Role Min version
@langchain/core Base types & interfaces (peer dep) 1.0
langchain Agents, chains, retrieval 1.0
langsmith Tracing, evaluation, datasets 0.3.0

TypeScript — orchestration (pick one)

Package Use when Min version
@langchain/langgraph Building custom graphs directly 1.0
deepagents Using the Deep Agents framework latest

TypeScript — model providers (pick the one(s) you use)

Package Provider
@langchain/openai OpenAI (GPT-4o, o3, …)
@langchain/anthropic Anthropic (Claude)
@langchain/google-genai Google (Gemini)
@langchain/mistralai Mistral
@langchain/groq Groq (fast inference)
@langchain/cohere Cohere
@langchain/aws AWS Bedrock
@langchain/azure-openai Azure OpenAI
@langchain/ollama Ollama (local models)

TypeScript — common tool & retrieval packages

Package Adds Notes
@langchain/tavily Tavily web search (TavilySearch) Dedicated integration package; prefer latest
@langchain/community Broad set of community integrations Use sparingly; prefer dedicated packages
@langchain/pinecone Pinecone vector store Dedicated integration package; prefer latest
@langchain/qdrant Qdrant vector store Dedicated integration package; prefer latest
@langchain/weaviate Weaviate vector store Dedicated integration package; prefer latest

@langchain/core must be installed explicitly in yarn workspaces and monorepos — it is a peer dependency and will not always be hoisted automatically.


Minimal Project Templates

# 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
{
  "dependencies": {
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "@langchain/langgraph": "^1.0.0",
    "langsmith": "^0.3.0"
  }
}
# 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
{
  "dependencies": {
    "deepagents": "latest",
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "langsmith": "^0.3.0"
  }
}
# 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.
{
  "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"
  }
}

Versioning Policy & Upgrade Strategy

Package group Versioning Safe upgrade strategy
langchain, langchain-core Strict semver (1.0 LTS) Allow minor: >=1.0,<2.0
langgraph / @langchain/langgraph Strict semver (v1 LTS) Allow minor: >=1.0,<2.0
langsmith Strict semver Allow minor: >=0.3.0
Dedicated integration packages (e.g. langchain-tavily, langchain-chroma) Independently versioned Allow minor updates; use latest
langchain-community NOT semver Pin exact minor: >=0.4.0,<0.5.0
deepagents Follow project releases Pin to tested version in production

Breaking changes only happen in major versions (1.x → 2.x) for all semver-compliant packages. Deprecated features remain functional across the entire 1.x series with warnings.

Prefer dedicated integration packages over langchain-community. When a dedicated package exists (e.g. langchain-chroma instead of langchain-community's Chroma integration), use it — dedicated packages are independently versioned and better tested.

Community tool packages (Tavily, vector stores, etc.) should be kept at latest unless your project requires a locked environment. These packages frequently release compatibility fixes alongside LangChain/LangGraph updates.


Environment Variables

# 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

Common Mistakes

# WRONG: legacy, no new features, security patches only
langchain>=0.3,<0.4

# CORRECT: LangChain 1.0 LTS
langchain>=1.0,<2.0
# 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

Also consider switching to the equivalent dedicated integration package if one exists (e.g. langchain-chroma instead of the community Chroma integration).

# 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
# 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

To find the current canonical import for any integration, search the integrations directory: https://python.langchain.com/docs/integrations/tools/

Each entry shows the correct package and import path. If a dedicated package exists, use it — the community path may still work but is considered legacy.

// 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"
  }
}
# Verify before installing
import sys
assert sys.version_info >= (3, 10), "Python 3.10+ required for LangChain 1.0"
# Verify before installing
node --version   # must be v20.x or higher