概览
你需要管理一个简化的 ,其中包括 Agent Server 及其所需的后端服务(PostgreSQL、Redis 等):
这种方式让你可以完全控制扩展、部署以及 CI/CD 流水线,同时仍可选择与 LangSmith 集成,以进行跟踪和评估。
工作流
- 使用
langgraph-cli或 Studio 在本地定义并测试图。 - 将代理打包为 Docker 镜像。
- 将 Agent Server 部署到你选择的计算平台(Kubernetes、Docker、虚拟机)。
- 你也可以配置 LangSmith API 密钥和端点,让服务器将跟踪信息和评估结果发送回 LangSmith(自托管版或 SaaS 版)。
支持的计算平台
- Kubernetes:使用 LangSmith Helm chart 在 Kubernetes 集群中运行 Agent Server。这是生产级部署的推荐选项。
- Docker:在任何支持 Docker 的计算平台上运行(本地开发机、虚拟机、ECS 等)。这最适合开发或小规模工作负载。
前提条件
- 使用 LangGraph CLI 在本地测试你的应用。
-
使用 LangGraph CLI 构建 Docker 镜像(即
langgraph build)。 - 数据平面部署需要以下环境变量。
-
REDIS_URI:Redis 实例的连接信息。Redis 将作为发布-订阅代理,用于从后台运行中流式传输实时输出。REDIS_URI的值必须是有效的 Redis 连接 URI。共享 Redis 实例 多个自托管部署可以共享同一个 Redis 实例。例如,对于Deployment A,可以将REDIS_URI设置为redis://<hostname_1>:<port>/1;对于Deployment B,可以将REDIS_URI设置为redis://<hostname_1>:<port>/2。1和2是同一实例中的不同数据库编号,而<hostname_1>是共享的。不同部署不能使用相同的数据库编号。 -
DATABASE_URI:Postgres 连接信息。Postgres 将用于存储 assistants、threads、runs,持久化线程状态和长期记忆,并以“恰好一次”语义管理后台任务队列的状态。DATABASE_URI的值必须是有效的 Postgres 连接 URI。共享 Postgres 实例 多个自托管部署可以共享同一个 Postgres 实例。例如,对于Deployment A,可以将DATABASE_URI设置为postgres://<user>:<password>@/<database_name_1>?host=<hostname_1>;对于Deployment B,可以将DATABASE_URI设置为postgres://<user>:<password>@/<database_name_2>?host=<hostname_1>。<database_name_1>和database_name_2是同一实例中的不同数据库,而<hostname_1>是共享的。不同部署不能使用同一个数据库。 -
LANGSMITH_API_KEY:LangSmith API 密钥。 -
LANGGRAPH_CLOUD_LICENSE_KEY:LangSmith 许可证密钥。服务器启动时将使用此密钥进行一次身份验证。 -
LANGSMITH_ENDPOINT:要将跟踪信息发送到自托管 LangSmith 实例,请将LANGSMITH_ENDPOINT设置为自托管 LangSmith 实例的主机名。 -
你的网络需要能够向
https://beacon.langchain.com出站连接。如果未在气隙模式下运行,则许可证验证和使用情况报告需要此连接。详情请参阅出站连接文档。
Kubernetes
使用此 Helm chart 将 Agent Server 部署到 Kubernetes 集群。这是生产环境独立服务器部署的推荐设置。 Helm chart(v0.2.6 及更高版本)支持使用捆绑实例(开发/测试)或外部部署(生产)进行 MongoDB 检查点存储。在 values 文件中设置mongo.enabled: true。完整配置详情请参阅配置检查点后端。
Docker
此docker 示例用于本地开发和测试。
运行以下 docker 命令:
- 你需要将
my-image替换为前提步骤中构建的镜像名称(通过langgraph build构建)。
REDIS_URI、DATABASE_URI 和 LANGSMITH_API_KEY 提供适当的值。- 如果你的应用需要其他环境变量,可以使用类似方式传入。
Docker Compose
此 Docker Compose 示例用于本地开发和测试。 使用以下 Docker Compose 文件:docker compose up。
使用 MongoDB 进行检查点存储
使用 MongoDB 进行检查点存储
要将检查点存储在 MongoDB 而不是 PostgreSQL 中,请添加 MongoDB 服务并配置检查点后端。在 有关 MongoDB 配置选项的更多详情,请参阅配置检查点后端。
langgraph.json 中将后端设置为 "mongo",或使用 LS_DEFAULT_CHECKPOINTER_BACKEND 环境变量。其他所有服务器数据仍然需要 PostgreSQL。8123 上启动一个 Agent Server(如有需要,请更改 langgraph-api 中的端口映射)。测试应用是否运行正常:
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

