跳到内容

如何安装和管理依赖项

LangGraph.js 是 LangChain 生态系统的一部分,该生态系统包括主要的 langchain 包以及包含与第三方提供商集成的包。它们可以像 @langchain/anthropic(仅包含 Anthropic 聊天模型的集成)那样具体,也可以像 @langchain/community(包含更广泛的社区贡献集成)那样广泛。

这些包以及 LangGraph.js 本身都依赖于 @langchain/core,后者包含这些包所扩展的基础抽象。

为确保所有集成及其类型彼此正确交互,重要的是它们都使用相同版本的 @langchain/core。安装 LangGraph 时,您应该同时安装 @langchain/core

$ npm install @langchain/langgraph @langchain/core

@langchain/core 必须单独安装,因为它是 @langchain/langgraph 的对等依赖项。这有助于包管理器解析单个版本的 @langchain/core

尽管如此,在某些情况下,您的包管理器可能会解析多个核心版本,这可能导致意外的 TypeScript 错误或其他奇怪的行为。如果您需要确保只有一个版本的 @langchain/core,可以在项目的 package.json 中添加一个 "resolutions""overrides" 字段。具体的字段名称将取决于您的包管理器。以下是一些示例

提示

yarnpnpmresolutionspnpm.overrides 字段必须在根 package.json 文件中设置。另请注意,我们为解析指定了精确版本。

如果您使用 yarn,应该设置 "resolutions"

{
  "name": "your-project",
  "version": "0.0.0",
  "private": true,
  "engines": {
    "node": ">=18"
  },
  "dependencies": {
    "@langchain/anthropic": "^0.2.15",
    "@langchain/langgraph": "^0.2.0"
  },
  "resolutions": {
    "@langchain/core": "0.2.31"
  }
}

对于 npm,使用 "overrides"

{
  "name": "your-project",
  "version": "0.0.0",
  "private": true,
  "engines": {
    "node": ">=18"
  },
  "dependencies": {
    "@langchain/anthropic": "^0.2.15",
    "@langchain/langgraph": "^0.2.0"
  },
  "overrides": {
    "@langchain/core": "0.2.31"
  }
}

对于 pnpm,使用嵌套的 "pnpm.overrides" 字段

{
  "name": "your-project",
  "version": "0.0.0",
  "private": true,
  "engines": {
    "node": ">=18"
  },
  "dependencies": {
    "@langchain/anthropic": "^0.2.15",
    "@langchain/langgraph": "^0.2.0"
  },
  "pnpm": {
    "overrides": {
      "@langchain/core": "0.2.31"
    }
  }
}

后续步骤

您现在已经了解了在使用 LangGraph.js 与其他 LangChain 生态系统包时的一些特殊注意事项。

接下来,请查看 一些关于核心功能的“操作指南”