fix(kb-deep-analyzer): 添加进度日志和超时追踪

- SimpleAIClient.generate(): 添加 AI 调用开始/结束日志
- _analyze_chunk(): 添加分片分析耗时日志
- _analyze_chunks_concurrent(): 添加批次进度日志和总耗时统计
- 便于排查卡住问题和监控进度
This commit is contained in:
2026-02-13 15:49:17 +08:00
parent c276df2d37
commit 99164f7ce6
2 changed files with 85 additions and 21 deletions
+40 -12
View File
@@ -23,38 +23,66 @@
- `94370f2` - feat: 改为批处理模式
- `c8ddc1e` - feat: 添加流式写入器
- `518f8e4` - fix: 优化文档格式
- `c276df2` - feat(kb-workflow): 添加严格失败判断逻辑
## 知识库添加:BV1W4f9B6EdC
## 严格失败判断规则(15:19 添加)
### kb-deep-analyzer 更新
- 新增判断逻辑:只有 AI 真正完成分析才算成功
- 判断条件:
- `summary` 不能以"共"开头(降级处理的默认内容)
- `main_topics` 不能为空
- `key_insights` 不能为空
- `full_analysis` 必须有值
- 失败时返回 `success: false` 并退出码 1
### kb-workflow 更新
- 新增"严格失败处理原则"章节
- 明确:深度分析失败 = 整个流程失败
- 禁止降级处理或使用模板"假装成功"
## 知识库添加:BV1W4f9B6EdC(第二次处理)
### 处理结果
- **标题**: 爱泼斯坦案惊天动地?美式司法:"没事,已经结束了"【逸语道破】
- **作者**: 沈逸老师
- **时长**: 32:38
- **Whisper**: ✅ 完成(8043字符,971段)
- **深度分析**: ⚠️ 代码错误,使用基础模板
- **归档**: ✅ 完成
- **深度分析**: ❌ 卡住超时
- **归档**: ❌ 未执行
### 发现并修复的 Bug
### 执行记录
1. 环境变量检查 ✅
2. 链接解析 ✅ (BV1W4f9B6EdC)
3. 元数据提取 ✅
4. 视频下载 ✅
5. Whisper 识别 ✅ (15:29 完成)
6. 深度分析 ❌ (15:29 开始,20分钟后仍卡住,终止)
### 发现的问题
1. **参数名不匹配错误**
- 错误: `name 'on_batch_complete' is not defined`
- 原因: `analyze()` 用 `on_batch_complete`,内部 `_analyze_chunks_concurrent()` 用 `on_segment_complete`
- 修复: 统一使用 `on_segment_complete` 作为内部参数名
2. **batch_size 未定义**
- 错误: `name 'batch_size' is not defined`
- 原因: 方法内部多次使用但未作为参数传入
- 修复: 在 `_analyze_chunks_concurrent()` 签名中添加 `batch_size: int = 3`
### 当前状态
- glm-4.7 深度分析暂时不可用(代码修复后需重新测试)
- 知识库工作流 Whisper 环节正常
- 需要重新测试深度分析功能
3. **深度分析卡住**
- 症状: 进程运行但无输出,20分钟后仍卡住
- 原因: 可能是批处理模式逻辑问题或 API 调用卡住
- 状态: 需要排查
## 技能清单
## 技能状态
| 步骤 | 技能 | 状态 |
|------|------|------|
| 链接解析 | kb-link-parser | ✅ |
| 元数据提取 | kb-bilibili-metadata | ✅ |
| 字幕下载 | kb-bilibili-content | ✅ |
| 语音识别 | kb-whisper | ✅ |
| 深度分析 | kb-deep-analyzer | ⚠️ 需重测 |
| 深度分析 | kb-deep-analyzer | ❌ 卡住 |
## 待解决问题
- [ ] 排查深度分析卡住原因
- [ ] 验证严格失败判断逻辑是否正确工作
- [ ] 重新测试完整知识库流程