webhook 参数。如果一个可以接受 POST 请求的端点指定了此参数,LangSmith 将在运行完成时发送一个请求。
在使用 LangSmith 时,您可能希望在 API 调用完成后使用 Web 钩子来接收更新。Web 钩子对于在运行处理完成后触发您服务中的操作非常有用。要实现这一点,您需要公开一个可以接受 POST 请求的端点,并在 API 请求中将此端点作为 webhook 参数传递。
目前,SDK 不提供定义 Web 钩子端点的内置支持,但您可以使用 API 请求手动指定它们。
支持的端点
以下 API 端点接受webhook 参数:
在本指南中,我们将展示如何在流式运行后触发 Web 钩子。
设置您的助手和线程
在进行 API 调用之前,请设置您的助手和线程。- Python
- JavaScript
- CURL
在图运行中使用 Web 钩子
要使用 Web 钩子,请在 API 请求中指定webhook 参数。当运行完成时,LangSmith 会向指定的 Web 钩子 URL 发送一个 POST 请求。
例如,如果您的服务器在 https://my-server.app/my-webhook-endpoint 监听 Web 钩子事件,请在请求中包含此 URL:
- Python
- JavaScript
- CURL
Web 钩子负载
LangSmith 以 运行 的格式发送 Web 钩子通知。请求负载在kwargs 字段中包含运行输入、配置和其他元数据。除了标准的运行字段外,Web 钩子负载还包括 values、webhook_sent_at 和 error 字段。
完整的 Web 钩子负载包含以下字段:
示例负载:
error 字段包含有关失败的详细信息:
保护 Web 钩子
为确保只有授权的请求能到达您的 Web 钩子端点,请考虑添加一个安全令牌作为查询参数:向 Web 钩子请求添加标头
在
langgraph-api>=0.5.36 中可用。langgraph.json 文件中添加 webhooks.headers 配置:
在标头中使用环境变量
要包含机密或特定于环境的值,而无需将其签入配置文件,请使用${{ env.VAR }} 模板语法:
LG_WEBHOOK_ 开头的环境变量。这可以防止意外泄露不相关的环境变量。您可以使用 env_prefix 自定义此前缀:
缺少必需的环境变量将阻止服务器启动,确保您不会在配置不完整的情况下进行部署。
限制 Web 钩子目标
在
langgraph-api>=0.5.36 中可用。webhooks.url 配置来限制哪些 URL 是有效的 Web 钩子目标:
禁用 Web 钩子
从langgraph-api>=0.2.78 开始,开发者可以在 langgraph.json 文件中禁用 Web 钩子:
测试 Web 钩子
您可以使用在线服务测试您的 Web 钩子,例如:- Beeceptor – 快速创建一个测试端点并检查传入的 Web 钩子负载。
- Webhook.site – 实时查看、调试和记录传入的 Web 钩子请求。
将这些文档 通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

