应用程序结构(Application structure)
LangGraph 应用程序由一个或多个图、一个配置文件(langgraph.json)、一个指定依赖项的文件以及一个指定环境变量的可选 .env 文件组成。
本指南展示了应用程序的典型结构,并向你展示如何提供通过 LangSmith 部署部署应用程序所需的配置。
INFO
LangSmith 部署是用于部署和扩展 LangGraph 智能体的托管平台。它负责处理基础设施、扩展和运维问题,因此你可以直接从仓库部署有状态的、长生命周期的智能体。在部署文档中了解更多信息。
核心概念
要使用 LangSmith 进行部署,应提供以下信息:
- LangGraph 配置文件(
langgraph.json),指定应用程序要使用的依赖项、图和环境变量。 - 实现应用程序逻辑的图(graphs)。
- 指定运行应用程序所需依赖项(dependencies)的文件。
- 应用程序运行所需的环境变量(environment variables)。
文件结构
以下是应用程序目录结构的示例:
my-app/
├── src # 所有项目代码位于此处
│ ├── utils # 你的图的可选工具库
│ │ ├── tools.ts # 你的图的工具
│ │ ├── nodes.ts # 你的图的节点函数
│ │ └── state.ts # 你的图的状态定义
│ └── agent.ts # 用于构建你的图的代码
├── package.json # 软件包依赖项
├── .env # 环境变量
└── langgraph.json # LangGraph 配置文件INFO
LangGraph 应用程序的目录结构可能因所使用的编程语言和包管理器而异。
配置文件(Configuration file)
langgraph.json 文件是一个 JSON 文件,用于指定部署 LangGraph 应用程序所需的依赖项、图、环境变量和其他设置。
有关 JSON 文件中所有受支持键的详细信息,请参阅 LangGraph 配置文件参考。
TIP
LangGraph CLI 默认使用当前目录中的配置文件 langgraph.json。
示例
- 依赖项将从本地目录中的依赖项文件(例如
package.json)中加载。 - 单个图将从带有函数
agent的文件./your_package/your_file.js中加载。 - 环境变量
OPENAI_API_KEY内联设置。
{
"dependencies": ["."],
"graphs": {
"my_agent": "./your_package/your_file.js:agent"
},
"env": {
"OPENAI_API_KEY": "secret-key"
}
}依赖项(Dependencies)
LangGraph 应用程序可能依赖于其他 TypeScript/JavaScript 库。
通常需要指定以下信息才能正确设置依赖项:
- 目录中指定依赖项的文件(例如
package.json)。 - LangGraph 配置文件中的
dependencies键,指定运行 LangGraph 应用程序所需的依赖项。 - 任何额外的二进制文件或系统库都可以使用 LangGraph 配置文件中的
dockerfile_lines键指定。
图(Graphs)
使用 LangGraph 配置文件中的 graphs 键指定已部署的 LangGraph 应用程序中哪些图可用。
你可以在配置文件中指定一个或多个图。每个图均由一个名称(该名称应唯一)和一个路径标识,该路径指向:(1) 已编译的图,或 (2) 定义创建图的函数。
环境变量(Environment variables)
如果你在本地使用已部署的 LangGraph 应用程序,可以在 LangGraph 配置文件的 env 键中配置环境变量。
对于生产部署,通常需要在部署环境中配置环境变量。
