refactor: 统一智能选素材逻辑,迁移 generation_tasks smart 模式到 smart_match #1243
Reference in New Issue
Block a user
Delete Branch "feat/unify-asset-selection"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景
PR #1242 新增了
packages/domain/smart_match.py统一智能选素材算法(四维评分 + 时长分桶多样性),但后端仍存在多套重叠的选素材/评分逻辑,需要清理统一。变更内容
1.
generation_tasks.pysmart 模式迁移之前: 内联的简单排序
quality_score desc, duration desc,注释中提到 SmartAssetSelector 但并未实际调用。之后: 改为调用
packages/domain/smart_match.py的smart_select_assets(),复用统一的多维评分(质量40% + 时长适配30% + 新鲜度20% + 未使用加分10%)和时长分桶多样性算法。2. 删除冗余代码(净减 2750 行)
packages/domain/asset_scoring.pysmart_match.py替代apps/api/app/services/smart_asset_selector.pySmartAssetSelector类,无任何生产代码调用,仅测试引用tests/unit/test_asset_scoring.pyasset_scoring.py的测试tests/unit/test_asset_scoring_domain.pyasset_scoring.py的测试tests/unit/domain/test_asset_scoring.pyasset_scoring.py的测试tests/unit/test_smart_asset_selector.pySmartAssetSelector的测试3. 更新
test_asset_select_mode.pysmart 模式测试用例适配新评分体系(quality_score 从 0-1 标度改为 0-100 标度,匹配
smart_match.score_asset的输入约定)。4. 保留
auto_clip_service.py的_score_candidate经评估,
AutoClipService._score_candidate是 per-clip 模板匹配 场景(评分维度:质量50% + 时长匹配30% + 分类匹配20%),与smart_match的 全局通用选素材 场景(质量40% + 时长30% + 新鲜度20% + 未使用10%)用途不同,不适合统一。- generation_tasks.py 的 smart 模式从内联 quality+duration 排序改为调用 packages/domain/smart_match.py 的 smart_select_assets(),复用统一的多维 评分(质量40%+时长30%+新鲜度20%+未使用10%)和时长分桶多样性算法 - 删除已无引用的旧代码: - packages/domain/asset_scoring.py(旧4维评分:质量0.5+分辨率0.2+时长0.2+码率0.1) - apps/api/app/services/smart_asset_selector.py(SmartAssetSelector 类,无生产调用方) - 对应测试文件:test_asset_scoring.py、test_asset_scoring_domain.py、 tests/unit/domain/test_asset_scoring.py、test_smart_asset_selector.py - 更新 test_asset_select_mode.py 的 smart 模式测试用例,适配新评分体系 - 全量单测 13587 passed 通过🚀 预览环境已部署
🗑️ 预览环境已清理
PR #1243 已关闭或合并,对应的预览环境已被清理。