质量监控:AI 服务质量评估
质量监控:AI 服务质量评估
深入了解 AI Observability Agent 的质量监控系统,确保 AI 服务的稳定性和可靠性
AI 服务质量评估维度
在大模型时代,AI 服务的质量评估需要考虑多个维度:
| 维度 | 说明 | 重要性 |
|---|---|---|
| 响应时间 | AI 服务的响应速度 | ⭐⭐⭐⭐⭐ |
| Token 效率 | 输入/输出 Token 比率 | ⭐⭐⭐⭐ |
| 错误率 | API 调用失败的比例 | ⭐⭐⭐⭐⭐ |
| 吞吐量 | 单位时间处理的 Token 数 | ⭐⭐⭐ |
| 一致性 | 相同输入的输出一致性 | ⭐⭐⭐ |
| 准确性 | 输出结果的准确程度 | ⭐⭐⭐⭐ |
AI Observability Agent 的质量监控系统针对这些维度提供了全面的监控能力。
规则引擎
质量监控系统基于规则引擎,支持多种类型的质量规则:
1. 响应时间规则
功能:监控 AI 服务的响应时间
配置示例:
quality_monitoring:
rules:
- name: high_latency
type: response_time
enabled: true
threshold: 5000 # 阈值(毫秒)
max_value: 30000 # 最大允许值
severity: warning # 严重程度:info, warning, critical
weight: 1.0 # 权重(用于计算总分)
评估逻辑:
- 计算平均响应时间
- 与阈值比较
- 超过阈值触发告警
指标:ai_request_latency_seconds
2. Token 效率规则
功能:监控 Token 使用效率
配置示例:
quality_monitoring:
rules:
- name: token_inefficiency
type: token_efficiency
enabled: true
max_value: 10 # 最大 output/input 比率
severity: info
weight: 0.5
评估逻辑:
- 计算 output_token / input_token 比率
- 与最大值比较
- 超过最大值触发告警
指标:ai_tokens_output_total, ai_tokens_input_total
3. 错误率规则
功能:监控 API 调用错误率
配置示例:
quality_monitoring:
rules:
- name: high_error_rate
type: error_rate
enabled: true
max_value: 5 # 最大错误率(%)
severity: critical
weight: 2.0
评估逻辑:
- 计算错误率 = 错误数 / 总请求数
- 与最大值比较
- 超过最大值触发告警
指标:ai_errors_total, ai_requests_total
4. 吞吐量规则
功能:监控 Token 处理吞吐量
配置示例:
quality_monitoring:
rules:
- name: low_throughput
type: throughput
enabled: true
min_value: 1000 # 最小 Token/秒
severity: warning
weight: 0.8
评估逻辑:
- 计算 Token 处理速率
- 与最小值比较
- 低于最小值触发告警
指标:ai_tokens_total
5. 自定义规则
功能:支持用户自定义质量规则
配置示例:
quality_monitoring:
rules:
- name: custom_rule
type: custom
enabled: true
expression: "sum(rate(ai_requests_total[5m])) > 100"
severity: info
weight: 0.5
评估逻辑:
- 执行自定义 PromQL 表达式
- 根据结果触发告警
质量评分算法
评分计算
质量监控系统使用加权评分算法:
-
规则评分:每个规则返回 0-100 分
- 完全符合要求:100 分
- 完全不符合要求:0 分
- 部分符合:按比例计算
-
最终得分:
最终得分 = Σ(规则分数 × 权重) / Σ权重 -
评分等级:
- 优秀:90-100 分
- 良好:70-89 分
- 一般:50-69 分
- 较差:0-49 分
评分示例
| 规则 | 权重 | 得分 | 加权得分 |
|---|---|---|---|
| 响应时间 | 1.0 | 95 | 95.0 |
| Token 效率 | 0.5 | 80 | 40.0 |
| 错误率 | 2.0 | 90 | 180.0 |
| 吞吐量 | 0.8 | 85 | 68.0 |
| 总计 | 4.3 | - | 383.0 |
最终得分:383.0 / 4.3 = 89.07 分(良好)
告警通知
配置示例
quality_monitoring:
alerts:
enabled: true # 是否启用告警
webhook_url: ${ALERT_WEBHOOK_URL} # Webhook URL
alert_interval_secs: 300 # 告警间隔(秒)
告警触发条件
- 规则触发:单个规则达到告警条件
- 评分触发:质量评分低于阈值
- 持续时间:告警条件持续指定时间
Webhook 格式
{
"id": "alert-1234567890",
"severity": "warning",
"title": "High Latency Detected",
"message": "Average response time: 15000ms (threshold: 5000ms)",
"source": "quality_monitor",
"timestamp_ms": 1234567890000,
"rule": {
"name": "high_latency",
"type": "response_time",
"threshold": 5000,
"current_value": 15000,
"severity": "warning"
},
"quality_score": 75.5
}
告警级别
| 级别 | 说明 | 颜色 |
|---|---|---|
| info | 信息级别,仅记录 | 蓝色 |
| warning | 警告级别,需要关注 | 黄色 |
| critical | 严重级别,需要立即处理 | 红色 |
内置默认规则
如果不配置规则,系统使用以下默认规则:
-
high_latency:
- 类型:response_time
- 阈值:30000ms(30秒)
- 严重程度:warning
- 权重:1.0
-
token_inefficiency:
- 类型:token_efficiency
- 最大值:10
- 严重程度:info
- 权重:0.5
-
high_error_rate:
- 类型:error_rate
- 最大值:5%
- 严重程度:critical
- 权重:2.0
API 端点
1. 获取质量评分
端点:GET /api/v1/quality/score
响应示例:
{
"success": true,
"data": {
"score": 89.07,
"grade": "良好",
"rules": [
{
"name": "high_latency",
"type": "response_time",
"score": 95,
"current_value": 2500,
"threshold": 5000
},
{
"name": "token_inefficiency",
"type": "token_efficiency",
"score": 80,
"current_value": 8,
"threshold": 10
},
{
"name": "high_error_rate",
"type": "error_rate",
"score": 90,
"current_value": 2,
"threshold": 5
}
],
"timestamp": "2024-04-11T10:00:00Z"
}
}
2. 获取规则状态
端点:GET /api/v1/quality/rules
响应示例:
{
"success": true,
"data": {
"rules": [
{
"name": "high_latency",
"type": "response_time",
"enabled": true,
"status": "ok",
"current_value": 2500,
"threshold": 5000
},
{
"name": "token_inefficiency",
"type": "token_efficiency",
"enabled": true,
"status": "ok",
"current_value": 8,
"threshold": 10
},
{
"name": "high_error_rate",
"type": "error_rate",
"enabled": true,
"status": "ok",
"current_value": 2,
"threshold": 5
}
]
}
}
3. 启用/禁用规则
端点:
POST /api/v1/quality/rules/{name}/enablePOST /api/v1/quality/rules/{name}/disable
响应示例:
{
"success": true,
"data": {
"message": "Rule high_latency enabled"
}
}
最佳实践
1. 规则配置最佳实践
响应时间监控:
- 根据模型类型设置合理的阈值
- gpt-4o:1-3秒
- claude-3-opus:2-5秒
- 复杂任务:5-10秒
Token 效率监控:
- 一般任务:output/input < 5
- 代码生成:output/input < 10
- 长文本生成:output/input < 20
错误率监控:
- 正常情况:< 1%
- 警告阈值:> 5%
- 严重阈值:> 10%
2. 权重配置
建议权重:
- 错误率:2.0(最高优先级)
- 响应时间:1.5
- Token 效率:1.0
- 吞吐量:0.8
- 自定义规则:0.5-1.0
权重调整原则:
- 根据业务重要性调整
- 关键服务设置更高权重
- 非关键服务设置较低权重
3. 监控最佳实践
关键指标:
- 质量评分:
ai_quality_score - 响应时间:
histogram_quantile(0.95, sum by (le) (rate(ai_request_latency_seconds_bucket[5m]))) - 错误率:
sum(rate(ai_errors_total[5m])) / sum(rate(ai_requests_total[5m])) * 100 - Token 效率:
sum(ai_tokens_output_total) / sum(ai_tokens_input_total)
Grafana Dashboard:
- 质量总览:显示质量评分和等级
- 规则状态:各规则的状态和得分
- 趋势图:质量评分的历史趋势
- 告警面板:显示当前告警
PromQL 查询示例:
# 质量评分趋势
ai_quality_score
# 响应时间分布
histogram_quantile(0.5, sum by (le) (rate(ai_request_latency_seconds_bucket[5m])))
histogram_quantile(0.95, sum by (le) (rate(ai_request_latency_seconds_bucket[5m])))
histogram_quantile(0.99, sum by (le) (rate(ai_request_latency_seconds_bucket[5m])))
# 错误率
(sum(rate(ai_errors_total[5m])) / sum(rate(ai_requests_total[5m]))) * 100
# Token 效率
sum(ai_tokens_output_total) / sum(ai_tokens_input_total)
4. 告警最佳实践
告警策略:
- info:仅记录,不通知
- warning:发送通知,无需立即处理
- critical:发送通知,需要立即处理
告警频率:
- 设置合理的告警间隔,避免告警风暴
- 建议 5-10 分钟的告警间隔
告警升级:
- 严重告警持续 10 分钟未处理,升级通知
- 严重告警持续 30 分钟未处理,升级到更高层级
故障排查
1. 质量评分低
症状:质量评分低于预期
排查步骤:
- 查看规则状态
- 识别得分低的规则
- 分析相关指标
- 采取相应措施
解决方案:
- 响应时间高:检查网络连接、模型负载
- 错误率高:检查 API 密钥、权限、参数
- Token 效率低:优化 prompt、使用更合适的模型
2. 规则不触发
症状:规则应该触发但没有触发
排查步骤:
- 检查规则是否启用
- 验证规则配置
- 检查指标数据
- 查看日志
解决方案:
- 启用规则
- 修正规则配置
- 确保指标数据正常
- 检查日志中的错误
3. 告警不发送
症状:规则触发但没有收到告警
排查步骤:
- 检查告警配置
- 验证 Webhook URL
- 查看日志
- 测试 Webhook
解决方案:
- 启用告警
- 修正 Webhook URL
- 检查网络连接
- 测试 Webhook 端点
未来扩展
增强功能
- 智能告警:基于机器学习的异常检测
- 根因分析:自动分析质量问题的根因
- 预测性维护:预测质量问题并提前预防
- 多维度评分:按模型、服务、团队等维度评分
- 自定义指标:支持自定义质量指标
集成扩展
- Alertmanager:与 Prometheus Alertmanager 集成
- PagerDuty:与 PagerDuty 集成
- Slack:与 Slack 集成
- Email:支持邮件告警
总结
AI Observability Agent 的质量监控系统为企业和开发者提供了全面的 AI 服务质量评估能力:
- 多维度评估:覆盖响应时间、Token 效率、错误率等多个维度
- 规则引擎:支持多种类型的质量规则
- 加权评分:基于规则权重计算综合质量得分
- 告警通知:及时提醒质量问题
- API 接口:提供丰富的质量查询 API
通过质量监控系统,企业可以及时发现和解决 AI 服务的质量问题,确保 AI 服务的稳定性和可靠性。
下一步
- 插件系统 - 灵活扩展采集能力
- 本地持久化 - 网络故障数据保护
- Grafana 可视化 - 开箱即用的监控面板
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)