独立服务器主要用于开发目的。此部署选项提供了灵活性,但要求您管理自己的基础设施和配置。每个环境都可能差异很大,因此,解决配置问题可能具有挑战性。对于生产工作负载,我们建议使用LangSmith 部署,它提供标准化的部署模式和更全面的支持选项。
这是直接部署 LangGraph 服务器而不使用 LangSmith 平台的设置页面。请查阅自托管选项以了解:
- 独立服务器:本指南涵盖的内容(无 UI,仅服务器)。
- LangSmith:用于具有 UI 的完整 LangSmith 平台。
- LangSmith 部署:用于基于 UI 的部署管理。
先决条件
- 使用LangGraph CLI在本地测试您的应用程序。
-
使用LangGraph CLI构建 Docker 镜像(即
langgraph build)。 - 数据平面部署需要以下环境变量。
-
REDIS_URI:Redis 实例的连接详细信息。Redis 将用作发布/订阅代理,以实现从后台运行流式传输实时输出。REDIS_URI的值必须是有效的Redis 连接 URI。共享 Redis 实例 多个自托管部署可以共享同一个 Redis 实例。例如,对于部署 A,REDIS_URI可以设置为redis://<hostname_1>:<port>/1;对于部署 B,REDIS_URI可以设置为redis://<hostname_1>:<port>/2。1和2是同一实例中的不同数据库编号,但<hostname_1>是共享的。不能将相同的数据库编号用于单独的部署。 -
DATABASE_URI:Postgres 连接详细信息。Postgres 将用于存储助手、线程、运行、持久化线程状态和长期内存,以及以“精确一次”语义管理后台任务队列的状态。DATABASE_URI的值必须是有效的Postgres 连接 URI。共享 Postgres 实例 多个自托管部署可以共享同一个 Postgres 实例。例如,对于部署 A,DATABASE_URI可以设置为postgres://<user>:<password>@/<database_name_1>?host=<hostname_1>;对于部署 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将 LangGraph 服务器部署到 Kubernetes 集群。Docker
运行以下docker命令
- 您需要将
my-image替换为您在先决条件步骤中构建的镜像名称(来自langgraph build)
REDIS_URI、DATABASE_URI和LANGSMITH_API_KEY提供适当的值。- 如果您的应用程序需要其他环境变量,您可以以类似的方式传递它们。
Docker Compose
Docker Compose YAML 文件docker compose up。 这将启动一个在端口8123上运行的 LangGraph 服务器(如果您想更改此端口,可以通过更改langgraph-api卷中的端口来更改)。您可以通过运行以下命令来测试应用程序是否正常:以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。