当你从另一个服务调用已部署的 Agent Server 时,可以传播追踪上下文,使整个请求在 LangSmith 中显示为一条统一的追踪记录。这利用了 LangSmith 的 分布式追踪 功能,该功能通过 HTTP 头传播上下文。

工作原理

分布式追踪通过上下文传播头将不同服务中的运行记录关联起来:
  1. 客户端 从当前运行中推断出追踪上下文,并将其作为 HTTP 头发送。
  2. 服务器 读取这些头,并将它们作为 langsmith-trace 和 langsmith-project 的可配置值添加到运行的配置和元数据中。当你的代理被使用时,你可以选择使用这些值来设置特定运行的追踪上下文。
使用的头包括:
  • langsmith-trace:包含追踪的点分顺序。
  • baggage:指定 LangSmith 项目以及其他可选的标签和元数据。
要启用分布式追踪,客户端和服务器都需要选择启用。

配置服务器

要接受分布式追踪上下文,你的图必须从配置中读取追踪头并设置追踪上下文。这些头通过 configurable 字段以 langsmith-trace 和 langsmith-project 的形式传递。
分布式追踪头(langsmith-trace、baggage)被视为受信任的追踪上下文。仅当部署由受信任的内部服务调用时,才配置服务器应用入站追踪上下文。如果你的 Agent Server 直接接收来自不受信任的第三方或公共互联网的请求,请勿将这些头传播到追踪上下文中:应在网关或代理处剥离它们。信任来自外部调用者的 baggage 会让他们影响你的运行记录方式。
在你的 langgraph.json 中导出这个 graph 函数:

从客户端连接

初始化 RemoteGraph 时设置 distributed_tracing=True。这会自动在所有请求上传播追踪头。

相关