sinohqb
|
2f09ee2bfc
|
refactor(v1.3.1): Phase 3 报告横幅、评分逻辑收敛与成本闭环
CI / test (pull_request) Successful in 3m58s
- 报告渲染 Go/No-Go 上线评估横幅(HTML 彩色 banner + Markdown 引用块)
- 抽取 scored_llm 共享模块:llm_score / fluency 直连调用与评分解析收敛
- 网关新增 chat_with_usage / embed_with_usage,规则按次归集 llm_usage
- 引擎分岗位用量归集(judge/generator/embedding/moderation)写入
RunSummary.eval_usage_by_purpose,并发下不做总量差值
- cost_tracking 重构:data/model_pricing.json 覆盖 + 默认计价表,
删除从未有数据支撑的 Turn 维度成本函数(偏差说明见 PR)
- 报告 summary 增加 eval_cost 分岗位成本段并在 Markdown 渲染
|
2026-08-26 01:59:20 +08:00 |
|
sinohqb
|
c1a3cdbaa9
|
fix(rules): 修复代码审查发现的三处规则层缺陷
CI / test (pull_request) Successful in 4m5s
- response_time: 仅配置 max_ms 时恢复 v0.3 评分语义(最后一轮评分 + 超限线性惩罚),扩展指标共存时才用均值评分
- safety: 移除 moderation API 的黑名单命中跳过守卫,两层安全检查独立执行、发现均上报
- llm_score: 多维度评分添加 Semaphore 并发上限(5),防止维度数多时无限扇出模型请求
|
2026-08-25 18:13:11 +08:00 |
|
sinohqb
|
192fe0fc5f
|
feat(safety): 扩展规则覆盖幻觉、越权和合规检查
CI / test (pull_request) Successful in 4m2s
扩展 safety 规则,新增三个安全检查维度。
- 幻觉检测(check_hallucination):LLM 判断回答是否编造事实
- 越权操作检测(unauthorized_actions):模式匹配检测越权行为
- 合规性检查(required_disclaimers):检查必需声明是否存在
- 保持原有 blacklist + moderation API 向后兼容
- RuleResult.details 包含所有问题列表
- 新增 10 项单元测试(656 tests passed)
Closes #22
|
2026-08-25 15:30:00 +08:00 |
|
sinohqb
|
470ff5875f
|
feat(models): add centralized model configuration
|
2026-07-17 20:02:43 +08:00 |
|
sinohqb
|
c7f1dca49d
|
v0.3-s2: 3 个新规则 + 组合逻辑 + 33 个测试
## 新规则(共 6 种,增加 3 种)
### semantic_similarity
- 调用 OpenAI 兼容 embedding API(asyncio.gather 并发两路请求)
- 余弦相似度与 reference 比对,min_score 可配置(默认 0.7)
- API 异常时明确返回失败原因,不隐藏错误
### json_schema
- 验证回复是否为合法 JSON(支持 markdown 代码块剥离)
- required_keys / forbidden_keys / key_types 三维校验
- dot-path 支持嵌套字段("data.id")
- strict_json=false 模式非阻断校验
### safety
- 双层检测:关键词黑名单(零延迟)+ 可选 moderation API
- API 不可用时自动降级黑名单,不中止评测
- 支持自定义 flagged_categories
## 规则组合逻辑(rule_logic + rule_pass_threshold)
- models.py: EvalRuleConfig 增加 weight 字段;Case 增加 rule_logic / rule_pass_threshold
- models.py: 新增 RuleLogic 枚举(all / any / weighted)
- engine._save_rule_results: 按 rule_logic 决定 case 通过/失败
- ALL:全部通过才通过(原有行为,向下兼容)
- ANY:至少一条通过即通过
- WEIGHTED:加权平均分 >= rule_pass_threshold
## 测试(43 → 76,新增 33)
- test_s2_rules_and_logic.py:3 个新规则的 pass/fail/边界/API 降级 + 5 个组合逻辑集成测试
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-17 11:23:22 +08:00 |
|