Skip to content

fix: 正确统计 URL 评分的最小值和最大值 - #2314

Open
2gg-bit wants to merge 1 commit into
unclecode:developfrom
2gg-bit:codex/fix-scoring-statistics-extrema
Open

2gg-bit wants to merge 1 commit into
unclecode:developfrom
2gg-bit:codex/fix-scoring-statistics-extrema

Conversation

@2gg-bit

@2gg-bit 2gg-bit commented Sep 29, 2026

Copy link
Copy Markdown

Summary

ScoringStats 原先在首次读取最小值或最大值时使用平均分初始化,导致评分结束后读取的两个极值都变成平均值。若评分前先读取,则初始 0 又会污染全正数的最小值或全负数的最大值。

修复为每次 update 时维护已观察到的极值,getter 只读取状态;没有评分时仍返回 0。平均分和 URL 评分计算方式保持不变。

Files changed

  • crawl4ai/deep_crawling/scorers.py:修复极值初始化、更新和读取。
  • tests/unit/test_scoring_statistics.py:覆盖正数、负数、混合分数,不同读取时机,以及 KeywordRelevanceScorer 和 CompositeScorer 的公开调用路径。

How Has This Been Tested?

  • 回归测试在旧实现上 7 failed、4 passed。
  • python -m pytest tests/unit/test_scoring_statistics.py tests/general/test_deep_crawl_scorers.py -q:12 passed。
  • python -m black --target-version py310 tests/unit/test_scoring_statistics.py、git diff --check:通过。
  • Windows / Python 3.12.13;纯本地测试,未运行浏览器或外部 LLM 集成测试。

Checklist

  • 基于并提交到 develop。
  • 修改保持聚焦,补充复现真实缺陷的测试。
  • 已检查差异并执行上述本地验证。
  • 无新增配置或破坏性 API 变更。

AI 披露:问题、代码及本地验证由 OpenAI Codex 完成,尚未经人工审阅。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant