langgraph dev)和本地Docker服务器(langgraph up)。同时,它还描述了与托管的前端Studio交互时跟踪哪些数据。
命令行界面
LangGraph CLI 是构建和运行 LangGraph 应用的命令行界面;请参阅 CLI 指南 了解更多信息。 默认情况下,大多数 CLI 命令的调用会在执行时记录一个分析事件。这有助于我们更好地优先考虑 CLI 体验的改进。每个遥测事件包含调用进程的操作系统、操作系统版本、Python 版本、CLI 版本、命令名称(dev、up、run等),以及表示是否向命令传递了标志的布尔值。您可以在这里查看完整的分析逻辑。
您可以通过设置 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 会收集一些使用分析数据以帮助改进调试用户体验。这包括:- 页面访问量和导航模式
- 用户行为(按钮点击)
- 浏览器类型和版本
- 屏幕分辨率和视口大小
快速参考
总结来说,您可以通过关闭CLI分析并禁用跟踪来选择退出服务器端遥测。| 变量 | 用途 | 默认值 |
|---|---|---|
LANGGRAPH_CLI_NO_ANALYTICS=1 | 禁用 CLI 分析 | 分析已启用 |
LANGSMITH_API_KEY | 启用 LangSmith 追踪 | 追踪已禁用 |
LANGSMITH_TRACING=false | 禁用 LangSmith 追踪 | 依赖于环境 |