自托管版本要求 :访问警报功能需要使用 0.10.3 或更高版本的 Helm chart。
要有效观测 LLM 应用,需要主动检测故障、性能下降和回归问题。LangSmith 的警报功能可以帮助识别以下关键问题:
模型提供商的 API 速率限制违规。
应用延迟增加。
影响反馈分数的应用变更,而反馈分数反映最终用户体验。
LLM 使用成本意外激增。
LangSmith 中的警报以项目为范围,因此需要为每个受监控的项目单独配置。
警报可以通过 webhook 路由 到 Slack、PagerDuty、Dynatrace 或任意 HTTP 端点。Webhook 选项卡中包含适用于自托管部署的 Microsoft Teams、电子邮件和 Slack 示例方案 。
请按照以下步骤配置警报。
步骤 1:进入警报创建页面
在 UI 中,进入要配置警报的 Tracing 项目。点击页面右上角的 Alerts 图标,查看该项目已有的警报并创建新警报。
步骤 2:选择指标类型
LangSmith 支持基于阈值的以下指标警报:
此外,对于 Errors 和 Latency ,你可以使用筛选器构建器,根据 Status 、Run Type 、Tag 和 Error 等字段叠加条件。例如,可以将错误警报限定为满足以下条件的运行:Status �� error、Run Type 为 llm、Tag 为 support_agent,并且 Error 匹配 RateLimitExceeded。
步骤 3:定义警报条件
警报条件由以下几个部分组成:
聚合方法 :平均值、百分比或计数。
比较运算符 :>=、<= 或超过阈值。
阈值 :触发警报的数值。
聚合窗口 :计算指标的时间段(可选择 5 分钟或 15 分钟)。
反馈键 (仅适用于反馈分数警报):要监控的具体反馈指标。
**示例:**截图中的配置会在过去 5 分钟内超过 5% 的运行产生错误时生成警报。
你可以在历史时间窗口内预览警报行为,了解在指定阈值下有多少个数据点以及哪些数据点会触发警报(以红色表示)。例如,为项目设置 60 秒的平均延迟阈值后,你可以将潜在警报可视化,如下方截图所示。
步骤 4:配置通知渠道
使用 LangSmith 原生 Slack 集成,直接将警报通知发送到 Slack 频道。无需配置自定义 webhook 或 Slack 应用。 前置条件
已将 Slack 工作区连接到 LangSmith 组织。如果尚未连接,配置此通知类型时,LangSmith 会提示你在当前页面完成连接。
1. 配置 Slack 通知
在警报设置的 Notification Settings 部分,选择 Slack 。
点击频道选择器。如果尚未关联 Slack 工作区,请点击 Connect Slack ,完成 OAuth 流程以授权 LangSmith。
将 @LangSmith 应用添加到要接收通知的频道。该应用必须是频道成员——在频道中输入 /invite @LangSmith 即可添加。
从下拉菜单中选择工作区和频道。如果频道没有立即显示,请点击刷新图标。
点击 Save 保存通知配置。
2. 测试集成 点击 Send Test Notification ,验证 LangSmith 是否能够访问该频道。检查频道中是否收到测试消息。 通知格式 触发警报时,LangSmith 会发布一条结构化 Slack 消息,其中包括:
标题 :警报名称和 LangSmith 工作区名称。
详细信息行 :指标属性、触发值、比较运算符、配置的阈值、聚合方法和时间窗口——例如:Total Cost: $12.50 ≥ $5.00 · avg · 30 min。
操作按钮 :View Alert (链接到 LangSmith 中的警报预览)和 View Runs (链接到触发警报的筛选后运行)。
使用 Dynatrace 的 Events API v2 将 Dynatrace 配置为通知渠道。此集成会将 LangSmith 警报事件发送到 Dynatrace 环境,从而与更广泛的基础设施监控进行关联。 前置条件
有效的 Dynatrace 环境(SaaS 或 Managed)。
具有 events.ingest 权限范围的 Dynatrace API 访问令牌。
如果你使用的是 LangSmith 的自定义部署 ,请确保没有防火墙设置阻止 LangSmith 服务的出站流量。 1. 在 Dynatrace 中创建 API 令牌
登录 Dynatrace 环境。
进入 Access Tokens 。
点击 Generate new token 。
提供描述性名称(例如“LangSmith Alerts”)。
在 Scopes 下搜索并启用 events.ingest(摄取事件)。
点击 Generate token 。
复制生成的令牌并安全存储。该令牌只会显示一次。
2. 获取 Dynatrace 环境 URL Dynatrace 环境 URL 的格式如下: 登录 Dynatrace 后,可以在浏览器地址栏中找到环境 ID。 3. 在 LangSmith 中配置使用 Dynatrace 的警报
在 LangSmith 警报设置的 Notifications Settings 中,选择 Dynatrace 。
输入 Dynatrace 环境 URL。
点击密钥图标,将 API 令牌保存为 workspace secret,或选择现有的 workspace secret。最佳实践是将 API 令牌保存为 workspace secret,而不是直接添加。这样可以在同一工作区的多个警报之间重复使用该令牌。
配置其他通知选项:
Event Type :选择 Dynatrace 事件类型(例如 CUSTOM_ALERT、ERROR_EVENT)
点击 Send Test Notification 发送测试警报。
验证事件是否出现在 Dynatrace 环境中。
故障排查 如果事件没有出现在 Dynatrace 中:
验证 API 令牌具有 events.ingest 权限范围且未过期。
确保环境 URL 正确,并且包含环境 ID。
确认 Authorization 请求头使用 Api-Token 格式,而不是 Bearer。
检查 Dynatrace 环境是否处于活动状态且可以访问。
如果 LangSmith 实例位于防火墙之后,请检查网络连接。
其他资源 Webhook 会在警报条件触发时发送 HTTP POST 请求,从而与自定义服务和第三方平台集成。你可以使用 webhook 将警报数据转发到工单系统、聊天应用或自定义监控解决方案。 前置条件
能够接收 HTTP POST 请求的端点
接收服务所需的适当身份验证凭据(如果需要)
1. 准备接收端点 在 LangSmith 中配置 webhook 之前,请确保接收端点:
接受 HTTP POST 请求
能够处理 JSON 负载
可以从外部服务访问
具有适当的身份验证机制(如果需要)
如果使用 LangSmith 的自定义部署,请确保没有防火墙设置阻止 LangSmith 服务的出站流量。 2. 配置 webhook 参数 在 LangSmith UI 的 Monitoring 部分中,进入 Alerts 选项卡,点击 + Alert 创建新警报。 在 Notification Settings 部分,使用以下参数完成 webhook 配置: 必填字段
URL :接收端点的完整 URL
示例:https://api.example.com/incident-webhook
可选字段
Headers :随 webhook 请求发送的 JSON 键值对
常见请求头包括:
Authorization:用于身份验证令牌
Content-Type:通常设置为 application/json(默认值)
X-Source:用于标识来源为 LangSmith
如果没有请求头,请使用 {}
Request Body Template :自定义发送到端点的 JSON 负载
默认情况下,LangSmith 会发送指定的负载,并将以下键值对追加到负载中:
project_name:触发警报的项目名称
alert_rule_id:用于标识 LangSmith 警报的 UUID。可将其用作 webhook 服务中的去重键。
alert_rule_name:警报规则名称。
alert_rule_type:警报类型(截至 2025 年 4 月 1 日,所有警报的类型均为 threshold)。
alert_rule_attribute:与警报规则关联的属性——error_count、feedback_score、latency 或 cost。
triggered_metric_value:触发阈值时的指标值。
triggered_threshold:触发警报的阈值。
timestamp:触发警报的时间戳。
LangSmith 不会对请求正文执行模板替换。上述自动填充的字段会作为顶层键,与您配置的正文一起合并到发出的 JSON 中。像 {alert_rule_name} 这样的占位符会原样发送到接收服务。只有在接收端能够从传入的 JSON 中提取字段时,它才会解析为实际值,例如 Power Automate Workflow、AWS Lambda 或自定义 HTTP 处理程序。
3. 测试 webhook 点击 Send Test Alert 发送 webhook 通知,确保通知按预期工作。 故障排查 如果 webhook 通知没有送达:
验证 webhook URL 是否正确且可访问
确保身份验证请求头格式正确
检查接收端点是否接受 POST 请求
查看端点日志,检查是否收到但拒绝了请求
验证自定义负载模板是否为有效的 JSON 格式
安全注意事项
为 webhook 端点使用 HTTPS
为 webhook 端点实现身份验证
考虑在请求头中添加共享密钥,以验证 webhook 来源
处理传入的 webhook 请求前先进行验证
示例方案
Configure Slack notifications via webhook
Configure Microsoft Teams notifications via webhook
Configure email notifications via webhook
其他资源
最佳实践
根据应用的重要程度调整敏感度
从较宽松的阈值开始,再根据观察到的模式逐步调整
确保警报路由能够触达合适的值班人员