feat(#674): 豆包大模型 Phase 2 - 智能素材语义匹配 #753
Reference in New Issue
Block a user
Delete Branch "feat/doubao-ai-integration-phase2"
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?
变更说明
#674 接入豆包大模型 Phase 2 — 智能素材语义匹配。
基于 Phase 1 的统一AI服务层(PR #752),新增语义匹配能力。
功能
智能素材语义匹配
{id: score}/{matches: [...]}/[{id, score}]top_k限制数量降级方案
API
POST /api/v1/ai/assets/match— 素材语义匹配测试
后续 Phase
代码审查结果 - PR #753
⚠️ 问题(2个需要修改)
apps/api/app/services/ai_service.py (semantic_match_assets函数):当传入素材数量超过50时,未评估的素材会获得默认0.3分,可能导致排序结果不准确。
assets[:50]),但在后续遍历赋值分数时(for asset in assets:)遍历了所有素材。第51个及之后的素材会通过scores.get(aid, 0.3)获得固定的0.3分。如果前50个素材的AI评分较低(如0.1),这些未被AI评估的素材反而会排在前面,导致业务逻辑错误。assets(如assets = assets[:50]),或者对超出部分的素材使用 fallback 逻辑打分,而不是赋予固定的0.3分。apps/api/app/services/ai_service.py (_semantic_match_fallback函数):函数存在副作用,不一致地修改了输入参数。
not keywords时,函数直接修改了传入的assets列表中的字典元素(添加match_score),并返回原列表。而在else分支中,它返回了一个新构建的列表results。这种不一致的行为会导致调用方难以预测输入数据是否被修改,容易引发bug。assets参数。💡 建议(1个可选)
jieba的 cut_for_search 模式)。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无明显问题
🤖 由 AI 代码审查机器人自动生成 | 2026-07-23 03:55:53 | 模型:
344ca36b4dtodf7dafb8c4🗑️ 预览环境已清理
PR #753 已关闭或合并,对应的预览环境已被清理。