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 服务器(无论是内存模式还是 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 追踪取决于环境