99164f7ce6
- SimpleAIClient.generate(): 添加 AI 调用开始/结束日志 - _analyze_chunk(): 添加分片分析耗时日志 - _analyze_chunks_concurrent(): 添加批次进度日志和总耗时统计 - 便于排查卡住问题和监控进度
2.9 KiB
2.9 KiB
2026-02-13
kb-deep-analyzer 技能改进
批处理模式
- 改为分批并发处理(3+3+3+1),避免同时启动所有AI请求
analyze()方法支持on_batch_complete回调batch_size参数控制每批数量(默认3)
流式写入功能
- 新增
StreamingWriter类,支持多线程并发写入文档不同位置 initialize_document()预先创建带占位符的文档结构write_batch()每批完成后写入对应位置
文档格式优化
date改为视频发布日期(从 pubtime 提取)- frontmatter 添加
url字段 - 删除"建议行动"章节
- 删除
{% if timeline %}和最后的分析时间 - 新格式更简洁
提交记录
94370f2- feat: 改为批处理模式c8ddc1e- feat: 添加流式写入器518f8e4- fix: 优化文档格式c276df2- feat(kb-workflow): 添加严格失败判断逻辑
严格失败判断规则(15:19 添加)
kb-deep-analyzer 更新
- 新增判断逻辑:只有 AI 真正完成分析才算成功
- 判断条件:
summary不能以"共"开头(降级处理的默认内容)main_topics不能为空key_insights不能为空full_analysis必须有值
- 失败时返回
success: false并退出码 1
kb-workflow 更新
- 新增"严格失败处理原则"章节
- 明确:深度分析失败 = 整个流程失败
- 禁止降级处理或使用模板"假装成功"
知识库添加:BV1W4f9B6EdC(第二次处理)
处理结果
- 标题: 爱泼斯坦案惊天动地?美式司法:"没事,已经结束了"【逸语道破】
- 作者: 沈逸老师
- 时长: 32:38
- Whisper: ✅ 完成(8043字符,971段)
- 深度分析: ❌ 卡住超时
- 归档: ❌ 未执行
执行记录
- 环境变量检查 ✅
- 链接解析 ✅ (BV1W4f9B6EdC)
- 元数据提取 ✅
- 视频下载 ✅
- Whisper 识别 ✅ (15:29 完成)
- 深度分析 ❌ (15:29 开始,20分钟后仍卡住,终止)
发现的问题
-
参数名不匹配错误
- 错误:
name 'on_batch_complete' is not defined - 修复: 统一使用
on_segment_complete作为内部参数名
- 错误:
-
batch_size 未定义
- 错误:
name 'batch_size' is not defined - 修复: 在
_analyze_chunks_concurrent()签名中添加batch_size: int = 3
- 错误:
-
深度分析卡住
- 症状: 进程运行但无输出,20分钟后仍卡住
- 原因: 可能是批处理模式逻辑问题或 API 调用卡住
- 状态: 需要排查
技能状态
| 步骤 | 技能 | 状态 |
|---|---|---|
| 链接解析 | kb-link-parser | ✅ |
| 元数据提取 | kb-bilibili-metadata | ✅ |
| 字幕下载 | kb-bilibili-content | ✅ |
| 语音识别 | kb-whisper | ✅ |
| 深度分析 | kb-deep-analyzer | ❌ 卡住 |
待解决问题
- 排查深度分析卡住原因
- 验证严格失败判断逻辑是否正确工作
- 重新测试完整知识库流程