LangGraph 应用由一个或多个图、一个配置文件 (langgraph.json)、一个指定依赖项的文件以及一个可选的 .env 指定环境变量的文件。
本指南展示了一个典型的应用结构,并向您展示如何提供所需的配置以使用 LangSmith 部署.
关键概念
要使用 LangSmith 进行部署,应提供以下信息:
- A LangGraph 配置文件 (
langgraph.json),用于指定应用程序的依赖项、图和环境变量。 - 图 实现应用的逻辑。
- 一个指定 依赖项 的文件,用于运行应用所需。
- 环境变量 应用运行时必需的。
文件结构
以下是应用目录结构的示例:
my-app/
├── src # all project code lies within here
│ ├── utils # optional utilities for your graph
│ │ ├── tools.ts # tools for your graph
│ │ ├── nodes.ts # node functions for your graph
│ │ └── state.ts # state definition of your graph
│ └── agent.ts # code for constructing your graph
├── package.json # package dependencies
├── .env # environment variables
└── langgraph.json # configuration file for LangGraph
<a id="configuration-file-concepts"></a> ## 配置文件
langgraph.json 文件是一个 JSON 文件,用于指定部署 LangGraph 应用所需的依赖项、图、环境变量和其他设置。
请参阅 LangGraph 配置文件参考 以获取 JSON 文件中所有支持的键的详细信息。
示例
- * 加载。依赖项将从本地目录中的依赖项文件加载(例如
package.json). - * 将从文件
./your_package/your_file.js加载一个图,函数名为agent. - * 环境变量
OPENAI_API_KEY是内联设置的。
{
"dependencies": ["."],
"graphs": {
"my_agent": "./your_package/your_file.js:agent"
},
"env": {
"OPENAI_API_KEY": "secret-key"
}
}
依赖项
A LangGraph application may depend on other TypeScript/JavaScript libraries.
通常需要指定以下信息以正确设置依赖项:
- 目录中指定依赖项的文件(例如。
package.json).
- A
dependencies中的 LangGraph 配置文件 指定运行 LangGraph 应用程序所需的依赖项。 - 任何额外的二进制文件或系统库都可以使用
dockerfile_lines中的 LangGraph 配置文件.
图
使用 graphs 中的 LangGraph 配置文件 来指定部署的 LangGraph 应用程序中可用的图。
您可以在配置文件中指定一个或多个图。每个图由一个名称(应该是唯一的)和一个路径标识,该路径指向:(1) 已编译的图,或 (2) 定义图的函数。
环境变量
如果您在本地使用已部署的 LangGraph 应用程序,可以在 env 的 LangGraph 配置文件.
对于生产部署,您通常需要在部署环境中配置环境变量。