> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-zh.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 应用结构

LangGraph 应用由一个或多个图、一个配置文件 (`langgraph.json`)、一个指定依赖项的文件以及一个可选的用于指定环境变量的 `.env` 文件组成。

本指南展示了一个典型的应用结构，并说明如何提供必要的配置以通过 [LangSmith 部署](/langsmith/deployment) 来部署应用。

<Info>
  LangSmith 部署是一个用于部署和扩展 LangGraph 智能体的托管平台。它处理基础设施、扩展和运维问题，让你可以直接从代码仓库部署有状态、长时间运行的智能体。更多信息请参阅 [部署文档](/langsmith/deployment)。
</Info>

## 核心概念

要使用 LangSmith 进行部署，需要提供以下信息：

1. 一个 [LangGraph 配置文件](#configuration-file-concepts) (`langgraph.json`)，用于指定应用的依赖项、图和环境变量。
2. 实现应用逻辑的 [图](#graphs)。
3. 一个指定运行应用所需的 [依赖项](#dependencies) 的文件。
4. 应用运行所需的 [环境变量](#environment-variables)。

## 文件结构

以下是应用目录结构的示例：

```plaintext theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
my-app/
├── src # 所有项目代码位于此目录下
│   ├── utils # 可选的图实用工具
│   │   ├── tools.ts # 图的工具
│   │   ├── nodes.ts # 图的节点函数
│   │   └── state.ts # 图的状态定义
│   └── agent.ts # 构建图的代码
├── package.json # 包依赖项
├── .env # 环境变量
└── langgraph.json # LangGraph 配置文件
```

<Note>
  LangGraph 应用的目录结构可能因编程语言和使用的包管理器而异。
</Note>

<a id="configuration-file-concepts" />

## 配置文件

`langgraph.json` 文件是一个 JSON 文件，用于指定部署 LangGraph 应用所需的依赖项、图、环境变量和其他设置。

有关 JSON 文件中所有支持键的详细信息，请参阅 [LangGraph 配置文件参考](/langsmith/cli#configuration-file)。

<Tip>
  [LangGraph CLI](/langsmith/cli) 默认使用当前目录下的配置文件 `langgraph.json`。
</Tip>

### 示例

* 依赖项将从本地目录的依赖项文件（例如 `package.json`）加载。
* 单个图将从文件 `./your_package/your_file.js` 中加载，函数为 `agent`。
* 环境变量 `OPENAI_API_KEY` 内联设置。

```json theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
  "dependencies": ["."],
  "graphs": {
    "my_agent": "./your_package/your_file.js:agent"
  },
  "env": {
    "OPENAI_API_KEY": "secret-key"
  }
}
```

## 依赖项

LangGraph 应用可能依赖其他 TypeScript/JavaScript 库。

通常需要指定以下信息以确保依赖项正确设置：

1. 目录中指定依赖项的文件（例如 `package.json`）。

2. [LangGraph 配置文件](#configuration-file-concepts) 中的 `dependencies` 键，用于指定运行 LangGraph 应用所需的依赖项。

3. 任何额外的二进制文件或系统库可以通过 [LangGraph 配置文件](#configuration-file-concepts) 中的 `dockerfile_lines` 键指定。

## 图

使用 [LangGraph 配置文件](#configuration-file-concepts) 中的 `graphs` 键来指定已部署的 LangGraph 应用中可用的图。

你可以在配置文件中指定一个或多个图。每个图通过一个名称（应唯一）和一个路径来标识，路径指向：(1) 已编译的图，或 (2) 定义图的函数。

## 环境变量

如果你在本地使用已部署的 LangGraph 应用，可以在 [LangGraph 配置文件](#configuration-file-concepts) 的 `env` 键中配置环境变量。

对于生产部署，通常需要在部署环境中配置环境变量。

***

<div className="source-links">
  <Callout icon="edit">
    [Edit this page on GitHub](https://github.com/langchain-ai/docs/edit/main/src/i18n\zh-CN\oss\langgraph\application-structure.mdx) or [file an issue](https://github.com/langchain-ai/docs/issues/new/choose).
  </Callout>

  <Callout icon="terminal-2">
    [Connect these docs](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
  </Callout>
</div>
