安装
-
确保已安装 Docker(例如:
docker --version)。 -
安装 CLI:
-
验证安装
快速命令
对于 JS,请使用
npx @langchain/langgraph-cli <command>(如果已全局安装,也可以使用 langgraphjs)。
配置文件
要构建和运行有效的应用程序,LangGraph CLI 需要一个符合此架构的 JSON 配置文件。该文件包含以下属性:LangGraph CLI 默认使用当前目录中名为 langgraph.json 的配置文件。
- Python
- JS
示例
- Python
- JS
基本配置
使用 Wolfi 基础镜像
可以使用image_distro 字段指定基础镜像的 Linux 发行版。有效选项包括 debian、wolfi、bookworm 和 bullseye。推荐使用 Wolfi,因为它可以提供更小、更安全的镜像。此功能适用于 langgraph-cli>=0.2.11。向存储添加语义搜索
所有部署都自带由数据库支持的 BaseStore。在langgraph.json 中添加 "index" 配置,即可在部署的 BaseStore 中启用语义搜索。index.fields 配置决定要嵌入文档中的哪些部分:- 如果省略或设置为
["$"],则会嵌入整个文档 - 若要嵌入特定字段,请使用 JSON 路径表示法:
["metadata.title", "content.text"] - 缺少指定字段的文档仍会被存储,但这些字段不会生成嵌入
- 在调用
put时,仍可以通过index参数覆盖特定条目要嵌入的字段
常见模型维度
openai:text-embedding-3-large:3072openai:text-embedding-3-small:1536openai:text-embedding-ada-002:1536cohere:embed-english-v3.0:1024cohere:embed-english-light-v3.0:384cohere:embed-multilingual-v3.0:1024cohere:embed-multilingual-light-v3.0:384
使用自定义嵌入函数进行语义搜索
如果希望使用自定义嵌入函数进行语义搜索,可以传入自定义嵌入函数的路径:embed 字段可以引用一个自定义函数,该函数接收字符串列表并返回嵌入列表。实现示例:添加自定义身份验证
配置存储条目的生存时间
可以使用store.ttl 键配置 BaseStore 中条目/记忆的默认数据过期时间。该设置决定条目在最后一次访问后保留多长时间(读取操作是否刷新计时器取决于 refresh_on_read)。请注意,可以通过修改 get、search 等操作中的相应参数,针对每次调用覆盖这些默认值。ttl 配置是一个包含以下可选字段的对象:refresh_on_read:如果为true(默认值),通过get或search访问条目时会重置其过期计时器。设置为false后,只有写入操作(put)会刷新 TTL。default_ttl:条目的默认生命周期,单位为分钟。仅应用于新创建的条目;现有条目不会被修改。如果未设置,条目默认不会过期。sweep_interval_minutes:系统运行后台进程删除过期条目的频率,单位为分钟。如果未设置,则不会自动执行清理。
配置检查点生存时间
可以使用checkpointer 键配置检查点的生存时间(TTL)。该设置决定检查点数据在根据指定策略(例如删除)自动处理前保留多长时间。支持以下两个可选子对象:ttl:包含strategy、sweep_interval_minutes、default_ttl和sweep_limit(Agent server v0.8+),这些字段共同决定检查点的过期方式。serde(Agent server v0.5+):用于控制检查点负载的反序列化行为。
配置检查点器 serde
checkpointer.serde 对象用于调整反序列化行为:allowed_json_modules定义一个允许列表,指定服务器可以从以 “json” 模式保存的负载中反序列化的自定义 Python 对象。这是一个由[path, to, module, file, symbol]序列组成的列表。如果省略,则只允许 LangChain 安全默认值。也可以不安全地将其设置为true,允许反序列化任何模块。pickle_fallback:JSON 解码失败时是否回退到 pickle 反序列化。
自定义 HTTP 中间件和标头
http 块用于精细调整请求处理:-
middleware_order:选择"auth_first",先运行身份验证,再运行中间件;或者选择"middleware_first"(默认值),反转这一顺序。 -
enable_custom_route_auth:将身份验证扩展到通过http.app挂载的路由。 -
configurable_headers/logging_headers:每项都接受一个包含可选includes和excludes数组的对象;支持通配符,并且会先处理排除项,再处理包含项。 -
cors:自定义服务器的 CORS(跨域资源共享)配置。以下是用于配置 CORS 的langgraph.json文件示例:自定义服务器的 CORS 配置会覆盖设置CORS_ALLOW_ORIGINS环境变量的功能。
配置 Webhook
可以为出站 Webhook 请求配置自定义标头和 URL 限制:固定 API 版本
(在 v0.3.7 中添加)可以使用api_version 键固定 Agent Server 的 API 版本。如果希望确保服务器使用特定版本的 API,这会很有用。
默认情况下,Cloud 部署中的构建使用服务器的最新稳定版本。可以将 api_version 键设置为特定版本来固定版本。禁用内置路由
可以使用http 配置块中的布尔标志,按需禁用内置 HTTP 路由组。这对于希望尽量减少服务器公开接口范围的生产部署非常有用。例如,要禁用系统信息和文档路由:disable_meta 设置为 true 会禁用以下路由:/— 根健康检查/info— 服务器版本和配置信息/metrics— Prometheus 和 JSON 指标/docs— API 文档 UI/openapi.json— OpenAPI 规范
disable_meta,/ok 健康检查端点仍然可用,因此 Kubernetes 等编排器仍可以执行存活性和就绪性探测。其他路由禁用标志包括 disable_assistants、disable_runs、disable_threads、disable_store 和 disable_ui。有关 MCP、A2A 和 Webhook,请参阅相应指南:禁用 MCP、禁用 A2A、禁用 Webhook。命令
用法- Python
- JS
LangGraph CLI 的基础命令是
langgraph。dev
- Python
- JS
以开发模式运行 LangGraph API 服务器,支持热重载和调试功能。此轻量级服务器无需安装 Docker,适合开发和测试。状态会持久化到本地目录。安装此命令要求安装 用法选项
目前,CLI 仅支持 Python >= 3.11。
"inmem" extra:build
- Python
- JS
构建 LangSmith API 服务器 Docker 镜像。用法选项
*仅 JS 部署支持,对 Python 部署没有影响。
deploy
- Python
此命令处于测试阶段,仍在积极开发中。预计会频繁更新和改进。
- 具有 Deployments 访问权限的 LangSmith API 密钥。
- (可选)本地构建需要安装 Docker 并运行 Docker 守护进程。远程构建不需要 Docker。安装 Docker Desktop。
仅适用于 LangSmith Cloud。
langgraph build 标志(--platform、-t、--pull、--no-pull、-c)。详情请参阅 langgraph build --help。选项对于新的按使用量计费方式,请传递
--deployment-type serverless 或 --deployment-type dedicated。在 2026 年 10 月 1 日之前仍使用旧版定价的组织,请传递 --deployment-type dev 或 --deployment-type prod,以创建开发或生产部署。有关过渡时间表,请参阅管理账单。通过其他方式(例如 LangSmith UI 或 GitHub 集成)创建的部署,也可以使用
langgraph deploy 命令进行更新。deploy list
列出 LangSmith 部署。用法deploy revisions
[Beta] 管理部署修订版本。用法命令
deploy revisions list
[Beta] 列出 LangSmith 部署的修订版本。使用 deploy list 列出部署 ID。用法deploy delete
删除 LangSmith 部署。使用 deploy list 查找要删除的部署 ID。用法deploy logs
获取 LangSmith 部署日志。使用 deploy 获取代理运行时日志,或使用 build 获取远程构建日志。用法up
- Python
- JS
启动 LangGraph API 服务器。进行本地测试时,需要具有 LangSmith 访问权限的 LangSmith API 密钥。用于生产环境时,需要许可证密钥。用法选项
dockerfile
- Python
- JS
生成用于构建 LangSmith API 服务器 Docker 镜像的 Dockerfile。用法选项这会生成一个类似如下内容的 Dockerfile:
示例:
langgraph dockerfile 命令会将 langgraph.json 文件中的所有配置转换为 Dockerfile 命令。使用此命令时,每次更新 langgraph.json 文件后都必须重新运行该命令。否则,在构建或运行 Dockerfile 时不会反映这些更改。Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

