跳到内容

如何安装和管理依赖项

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

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

提示

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

如果您使用 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 生态系统包一起使用的一些特殊注意事项。

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