langchain-dependencies

Phiên bản gói hệ sinh thái LangChain, phụ thuộc và hướng dẫn cài đặt cho Python và TypeScript. Bắt đầu tất cả các dự án mới trên LangChain 1.0 LTS; phiên bản 0.3 chỉ bảo trì kế thừa. Luôn cài đặt langchain-core một cách rõ ràng cùng với các gói khác. Chọn một lớp điều phối: LangGraph để kiểm soát đồ thị chi tiết, hoặc Deep Agents để lập kế hoạch và bộ nhớ tích hợp sẵn. Ghim langchain-community một cách thận trọng vào các phiên bản phụ chính xác (ví dụ: >=0.4.0,<0.5.0) vì nó không...

npx skills add https://github.com/langchain-ai/langchain-skills --skill langchain-dependencies
The LangChain ecosystem is split into focused, independently-versioned packages. Understanding which packages you need — and their version constraints — prevents incompatibilities and keeps upgrades predictable.

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

RequirementPythonTypeScript / Node
Runtime minimumPython 3.10+Node.js 20+
LangChain1.0+ (LTS)1.0+ (LTS)
LangSmith SDK>= 0.3.0>= 0.3.0

Framework Choice

Pick **one** agent orchestration layer. You do not need both.
FrameworkWhen to useCore extra package
LangGraphNeed fine-grained graph control, custom workflows, loops, or branchinglanggraph / @langchain/langgraph
Deep AgentsWant batteries-included planning, memory, file context, and skills out of the boxdeepagents (depends on LangGraph; installs it as a transitive dep)

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


Core Packages

Python — always required

PackageRoleMin version
langchainAgents, chains, retrieval1.0
langchain-coreBase types & interfaces (peer dep)1.0
langsmithTracing, evaluation, datasets0.3.0

Python — orchestration (pick one)

PackageUse whenMin version
langgraphBuilding custom graphs directly1.0
deepagentsUsing the Deep Agents frameworklatest

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

PackageProvider
langchain-openaiOpenAI (GPT-4o, o3, …)
langchain-anthropicAnthropic (Claude)
langchain-google-genaiGoogle (Gemini)
langchain-mistralaiMistral
langchain-groqGroq (fast inference)
langchain-cohereCohere
langchain-fireworksFireworks AI
langchain-togetherTogether AI
langchain-huggingfaceHugging Face Hub
langchain-ollamaOllama (local models)
langchain-awsAWS Bedrock
langchain-azure-aiAzure 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.

PackageAddsNotes
langchain-tavilyTavily web search (TavilySearch)Dedicated integration package; prefer latest
langchain-text-splittersText chunking utilitiesSemver, keep current
langchain-community1000+ integrations (fallback)NOT semver — pin to minor series
faiss-cpuFAISS vector store (local)Via langchain-community; use latest
langchain-chromaChroma vector storeDedicated integration package; prefer latest
langchain-pineconePinecone vector storeDedicated integration package; prefer latest
langchain-qdrantQdrant vector storeDedicated integration package; prefer latest
langchain-weaviateWeaviate vector storeDedicated integration package; prefer latest
langsmith[pytest]pytest plugin for LangSmithRequires 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

PackageRoleMin version
@langchain/coreBase types & interfaces (peer dep)1.0
langchainAgents, chains, retrieval1.0
langsmithTracing, evaluation, datasets0.3.0

TypeScript — orchestration (pick one)

PackageUse whenMin version
@langchain/langgraphBuilding custom graphs directly1.0
deepagentsUsing the Deep Agents frameworklatest

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

PackageProvider
@langchain/openaiOpenAI (GPT-4o, o3, …)
@langchain/anthropicAnthropic (Claude)
@langchain/google-genaiGoogle (Gemini)
@langchain/mistralaiMistral
@langchain/groqGroq (fast inference)
@langchain/cohereCohere
@langchain/awsAWS Bedrock
@langchain/azure-openaiAzure OpenAI
@langchain/ollamaOllama (local models)

TypeScript — common tool & retrieval packages

PackageAddsNotes
@langchain/tavilyTavily web search (TavilySearch)Dedicated integration package; prefer latest
@langchain/communityBroad set of community integrationsUse sparingly; prefer dedicated packages
@langchain/pineconePinecone vector storeDedicated integration package; prefer latest
@langchain/qdrantQdrant vector storeDedicated integration package; prefer latest
@langchain/weaviateWeaviate vector storeDedicated 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

Minimal dependency set for a LangGraph project (provider-agnostic).
# 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
Minimal package.json dependencies for a LangGraph project (provider-agnostic).
{
  "dependencies": {
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "@langchain/langgraph": "^1.0.0",
    "langsmith": "^0.3.0"
  }
}
Minimal dependency set for a Deep Agents project (provider-agnostic).
# 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
Minimal package.json dependencies for a Deep Agents project (provider-agnostic).
{
  "dependencies": {
    "deepagents": "latest",
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "langsmith": "^0.3.0"
  }
}
Adding Tavily search and a vector store to a LangGraph project.
# 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.
Adding Tavily search and a vector store to a LangGraph project.
{
  "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 groupVersioningSafe upgrade strategy
langchain, langchain-coreStrict semver (1.0 LTS)Allow minor: >=1.0,<2.0
langgraph / @langchain/langgraphStrict semver (v1 LTS)Allow minor: >=1.0,<2.0
langsmithStrict semverAllow minor: >=0.3.0
Dedicated integration packages (e.g. langchain-tavily, langchain-chroma)Independently versionedAllow minor updates; use latest
langchain-communityNOT semverPin exact minor: >=0.4.0,<0.5.0
deepagentsFollow project releasesPin 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

All keys are read from the environment at runtime. Set only the keys for services you actually use.
# 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

Never start a new project on LangChain 0.3. It is maintenance-only until December 2026.
# 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` can break on minor version bumps — it does not follow semver.
# 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).

Community tool packages like `langchain-tavily` and vector store integrations release compatibility fixes alongside LangChain updates. Using an old pinned version can cause import errors or broken tool schemas.
# 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
Many tools that used to live in `langchain-community` now have dedicated packages with updated import paths. Always prefer the dedicated package import.
# 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.

`@langchain/core` is a peer dependency — it must be in your package.json, especially in monorepos.
// 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 and below are not supported by LangChain 1.0.
# Verify before installing
import sys
assert sys.version_info >= (3, 10), "Python 3.10+ required for LangChain 1.0"
Node.js below 20 is not officially supported.
# Verify before installing
node --version   # must be v20.x or higher

Thêm skills từ langchain-ai

deepagents-thread-inspector
langchain-ai
Kiểm tra và giải thích các cuộc hội thoại trong kho lưu trữ phiên SQLite cục bộ của Deep Agents Code. Sử dụng như phương án dự phòng khi công cụ theo dõi LangSmith không khả dụng, cho…
deepagents-python-quickstart
langchain-ai
Tạo khung một Deep Agent cục bộ tối thiểu bằng Python bằng cách làm theo hướng dẫn khởi động nhanh chính thức, sử dụng tìm kiếm web gốc của nhà cung cấp thay vì Tavily. Sử dụng khi người dùng muốn…
deepagents-typescript-quickstart
langchain-ai
Tạo khung một Deep Agent tối thiểu cục bộ bằng TypeScript theo hướng dẫn khởi động nhanh chính thức, sử dụng tìm kiếm web gốc của nhà cung cấp thay vì Tavily. Sử dụng khi người dùng…
eval-engineering
langchain-ai
Lặp lại kiểm tra kho lưu trữ agent và các dấu vết do người dùng cung cấp tùy chọn, phỏng vấn người dùng, và tạo, chạy, cũng như kiểm toán các đánh giá Harbor từng cái một. Sử dụng cho…
LangChain RAG Pipeline
langchain-ai
GỌI KỸ NĂNG NÀY khi xây dựng BẤT KỲ hệ thống tạo sinh tăng cường truy xuất (RAG) nào. Bao gồm bộ tải tài liệu, RecursiveCharacterTextSplitter, embeddings (OpenAI),…
LangChain Structured Output & HITL
langchain-ai
langchain-structured-output-&-hitl — một kỹ năng có thể cài đặt cho các tác nhân AI, được xuất bản bởi langchain-ai/langchain-skills.
LangSmith Datasets
langchain-ai
GỌI KỸ NĂNG NÀY khi tạo bộ dữ liệu đánh giá từ trace HOẶC tải bộ dữ liệu lên LangSmith HOẶC truy vấn bộ dữ liệu. Bao gồm các loại bộ dữ liệu (final_response,…
langsmith-evaluator
langchain-ai
GỌI KỸ NĂNG NÀY khi xây dựng pipeline đánh giá cho LangSmith. Bao gồm ba thành phần cốt lõi: (1) Tạo Evaluator - LLM-as-Judge, mã tùy chỉnh; (2)…