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