mcpField
L
langchain-dependencies

langchain-dependencies

github.com/langchain-ai开发11961 次安装10 周前更新
代码仓库

关于 langchain-dependencies

langchain-dependencies 是介绍 LangChain 生态包、运行环境要求和版本约束的技能指南,帮助开发者为 Python 和 TypeScript 项目选择依赖并管理升级。

主要功能

  1. 01核心软件包要求
  2. 02Python 与 TypeScript 运行环境指南
  3. 03模型与集成软件包清单
  4. 04版本管理与升级建议
  5. 05常见依赖问题说明

适用场景

  1. 01配置 LangGraph 项目的依赖
  2. 02选择模型和向量存储集成包
  3. 03升级时避免版本冲突

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/langchain-ai/skills-benchmarks --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: 根据用例选择一种编排方式——它们是替代方案,并非必需搭配的技术栈(请参阅下文的框架选择)。
  • Provider 集成(模型、向量存储、工具)需单独安装,这样只需引入实际使用的部分。

环境要求

要求PythonTypeScript / Node
最低运行时版本Python 3.10+Node.js 20+
LangChain1.0+(LTS)1.0+(LTS)
LangSmith SDK>= 0.3.0>= 0.3.0

核心包

Python — 始终必需
包作用最低版本
langchainAgent、链、检索1.0
langchain-core基础类型和接口(peer dep)1.0
langsmith跟踪、评估、数据集0.3.0
Python — 编排(任选其一)
包适用场景最低版本
langgraph直接构建自定义图1.0
deepagents使用 Deep Agents 框架latest
Python — 模型 Provider(选择你使用的包)
包Provider
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
langchainAgent、链、检索1.0
langsmith跟踪、评估、数据集0.3.0
TypeScript — 编排(任选其一)
包适用场景最低版本
@langchain/langgraph直接构建自定义图1.0
deepagents使用 Deep 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 向量存储专用集成包;优先使用最新版

必须显式安装 @langchain/core,尤其是在 yarn 工作区和 monorepo 中——它是一个对等依赖,不一定会自动提升安装。


最简项目模板

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

</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-chroma,而不是 langchain-community 的 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.4

CORRECT: 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

如果存在等效的专用集成软件包,也可以考虑切换到该软件包(例如,使用 `langchain-chroma`,而不是社区版 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 中,尤其是在 monorepo 中。 ```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"
官方不支持低于 20 的 Node.js 版本。 ```bash # Verify before installing node --version # must be v20.x or higher ```

评论

支持 Markdown