AI 摘要处理器
通知之前让大模型给每个事件写一段摘要:模型怎么接、提示词模板怎么写、结果落在哪、调用失败会怎样。
这页办完你会得到:流经工作流的每个事件,都带上一个由大模型写的 ai_summary 附加信息,
通知模板把它放在消息最前面。
它是工作流(告警通知 → 事件处理)里的一种处理器:添加一张处理器卡片,在 富化 下选 AI 摘要生成。 工作流怎么运行、怎么挂到规则上,见事件 Pipeline。
1. 接上模型
由第一个字段决定,两种方式:
- 复用 LLM 配置——选一个在 AI 配置 → LLM 配置 里已经配好的模型,沿用它的提供方、模型、密钥和地址, 那里支持的提供方这里都能用。该配置必须是启用状态。见配置大模型提供方。
- 留空,填下面的字段。这时直接调用一个 OpenAI 兼容的 chat completions 接口:
| 字段 | 说明 |
|---|---|
| URL | 完整的接口地址,比如 https://api.deepseek.com/v1/chat/completions |
| API Key | 以 Authorization: Bearer <key> 发送 |
| 模型名称 | 比如 deepseek-chat |
高级配置 里(只在手填模式下生效):
| 字段 | 说明 |
|---|---|
| AI 模型参数配置 | 额外的请求字段,比如 temperature = 0.7。看起来像数字、布尔值或 JSON 的值,按对应类型发送 |
| 请求头 | 加到请求上 |
| HTTP Proxy | 只能走代理访问模型时填 |
| 超时时间 | 毫秒,默认 30000(输入框提示写的是秒,实际按毫秒算) |
| TLS InsecureSkipVerify | 接口是自签证书时打开 |
复用 LLM 配置时,超时时间取那份配置里的设置。
2. 写提示词
提示词模板 是一个按事件渲染的 Go 模板,渲染结果作为一条 user 消息发给模型。
$event 是事件,$inputs 是工作流的变量。新卡片自带一个能直接用的默认模板:
请分析以下告警事件信息,并提供一个简洁明了的中文总结:
告警规则: {{$event.RuleName}}
严重程度: {{$event.Severity}}
告警状态: {{if $event.IsRecovered}}Recovered{{else}}{{$event.Severity}} Triggered{{end}}
触发时间: {{$event.TriggerTime}}
触发值: {{$event.TriggerValue}}
规则说明: {{$event.RuleNote}}
标签信息: {{$event.Tags}}
注释信息: {{$event.Annotations}}
事件字段见通知模板变量。想要多长、什么语言,在提示词里写清楚; 模型的回复原样使用。
3. 使用结果
回复写进事件附加信息的 ai_summary 这个 key,覆盖之前的值。事件详情页里能看到,
通知模板里这样引用:
{{ if $event.AnnotationsJSON.ai_summary }}AI 摘要:{{ $event.AnnotationsJSON.ai_summary }}{{ end }}
需要读到摘要的处理器——回调、丢弃条件——要排在它后面。
调用失败时
- 调用失败(连不上、非 2xx、超时、返回为空),这个节点在执行记录里标为失败。
事件照样往下走,进入后续处理器和通知,只是没有
ai_summary——所以模板里像上面那样用if兜住。 - 调用是同步的:模型慢,通知最多晚一个超时时长。
- 每个事件调用一次模型。 用工作流的处理范围把低价值事件挡在外面,比如排除恢复事件或 S3。
下一步
- 添加、排序、挂载处理器:事件 Pipeline
- 看每个节点对事件做了什么:查看 Pipeline 执行记录
- 把摘要放进消息:模板与变量