Skip to main content
本文档描述了 LangGraph CLI 和 Agent Server 中数据的处理方式,涵盖内存服务器(langgraph dev)和本地 Docker 服务器(langgraph up)。同时,也说明了与托管式 Studio 前端交互时追踪的数据内容。

CLI

LangGraph CLI 是用于构建和运行 LangGraph 应用程序的命令行界面;详见 CLI 指南 默认情况下,大多数 CLI 命令在调用时会记录一次分析事件。这有助于我们更好地优化 CLI 体验。每个遥测事件包含调用进程的操作系统、操作系统版本、Python 版本、CLI 版本、命令名称(devuprun 等),以及表示是否向命令传递了标志的布尔值。更多信息请参阅 完整分析逻辑 您可以通过设置 LANGGRAPH_CLI_NO_ANALYTICS=1 来禁用所有 CLI 遥测。

Agent Server

Agent Server 提供了一个持久化执行运行时,它依赖于将应用程序状态检查点、长期记忆、线程元数据、助手及类似资源持久化到本地文件系统或数据库。除非您特意自定义了存储位置,否则这些信息要么写入本地磁盘(针对 langgraph dev),要么写入 PostgreSQL 数据库(针对 langgraph up 及所有部署环境)。

LangSmith 追踪

运行 Agent Server(无论是内存模式还是 Docker 模式)时,可以启用 LangSmith 追踪,以便更快地进行调试,并在生产环境中提供图状态和 LLM 提示的可观测性。您始终可以通过在服务器的运行时环境中设置 LANGSMITH_TRACING=false 来禁用追踪。
如需更精细的控制,您可以使用 条件追踪,根据运行时条件(如客户端要求或数据敏感性)选择性地启用或禁用追踪。

内存开发服务器

langgraph dev 运行一个 内存开发服务器,作为单个 Python 进程,专为快速开发和测试设计。它将所有检查点和记忆数据保存到当前工作目录下的 .langgraph_api 目录中。除了 CLI 部分描述的遥测数据外,除非您启用了追踪或您的图代码明确调用了外部服务,否则不会有数据离开本地机器。

独立服务器

langgraph up 将您的本地包构建为 Docker 镜像,并运行作为 数据平面 的服务器,该服务器包含三个容器:API 服务器、PostgreSQL 容器和 Redis 容器。所有持久化数据(检查点、助手等)都存储在 PostgreSQL 数据库中。Redis 用作实时事件流的发布/订阅连接。您可以通过设置有效的 LANGGRAPH_AES_KEY 环境变量,在保存到数据库前对所有检查点进行加密。您还可以在 langgraph.json 中为检查点和跨线程记忆指定 TTL,以控制数据的存储时长。所有持久化的线程、记忆和其他数据都可以通过相关 API 端点删除。 服务器会进行额外的 API 调用来确认其拥有有效的许可证,并追踪已执行的运行和任务数量。API 服务器会定期验证提供的许可证密钥(或 API 密钥)。 如果您已禁用 追踪,除非您的图代码明确调用了外部服务,否则不会有用户数据被持久化到外部。

Studio

Studio 是一个用于与您的 Agent Server 交互的图形界面。它不会持久化任何私有数据(您发送给服务器的数据不会发送给 LangSmith)。尽管 Studio 界面托管在 smith.langchain.com,但它是在您的浏览器中运行,并直接连接到您的本地 Agent Server,因此无需向 LangSmith 发送任何数据。 如果您已登录,LangSmith 会收集一些使用分析数据以帮助改进调试用户体验。这包括:
  • 页面访问和导航模式
  • 用户操作(按钮点击)
  • 浏览器类型和版本
  • 屏幕分辨率和视口大小
重要的是,不会收集任何应用程序数据或代码(或其他敏感配置细节)。所有这些都存储在您 Agent Server 的持久化层中。当匿名使用 Studio 时,无需创建账户,也不会收集使用分析数据。

快速参考

总之,您可以通过关闭 CLI 分析和禁用追踪来选择退出服务器端遥测。
变量用途默认值
LANGGRAPH_CLI_NO_ANALYTICS=1禁用 CLI 分析分析已启用
LANGSMITH_API_KEY启用 LangSmith 追踪追踪已禁用
LANGSMITH_TRACING=false禁用 LangSmith 追踪取决于环境设置