Skip to main content
本文档描述了在LangGraph CLI和LangGraph服务器中如何处理数据,包括内存服务器(langgraph dev)和本地Docker服务器(langgraph up)。同时,它还描述了与托管的前端Studio交互时跟踪哪些数据。

命令行界面

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

LangGraph 服务器

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

LangSmith 跟踪

当运行 LangGraph 服务器(无论是内存中还是 Docker 中)时,LangSmith 追踪功能可能会被启用,以方便更快的调试并提供对生产环境中图状态和 LLM 提示的可观察性。您可以通过在服务器的运行时环境中设置 LANGSMITH_TRACING=false 来始终禁用追踪。

内存开发服务器

langgraph dev 以单个 Python 进程运行 内存中的开发服务器,旨在快速开发和测试。它将所有检查点和内存数据保存到当前工作目录下的 .langgraph_api 目录中。除了 CLI 部分中描述的遥测数据外,除非您已启用跟踪或您的图代码明确联系外部服务,否则不会有任何数据离开机器。

独立服务器

langgraph up 将您的本地包构建成一个Docker镜像,并以data plane的形式运行服务器,该服务器由三个容器组成:API服务器、PostgreSQL容器和Redis容器。所有持久数据(检查点、助手等)都存储在PostgreSQL数据库中。Redis用作pubsub连接,用于实时流式传输事件。您可以通过设置有效的LANGGRAPH_AES_KEY环境变量来在保存到数据库之前加密所有检查点。您还可以在langgraph.json中指定TTLs以控制数据存储的时间长度。所有持久化的线程、记忆和其他数据都可以通过相关的API端点进行删除。 额外调用API以确认服务器拥有有效许可证,并跟踪已执行的运行和任务数量。定期,API服务器验证提供的许可证密钥(或API密钥)。 如果您已禁用跟踪,除非您的图代码明确联系外部服务,否则不会将用户数据持久化存储在外部。

工作室

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

快速参考

总结来说,您可以通过关闭CLI分析并禁用跟踪来选择退出服务器端遥测。
变量用途默认值
LANGGRAPH_CLI_NO_ANALYTICS=1禁用 CLI 分析分析已启用
LANGSMITH_API_KEY启用 LangSmith 追踪追踪已禁用
LANGSMITH_TRACING=false禁用 LangSmith 追踪依赖于环境