fix: 统一知识库技能模型名称为 glm-5,补充 OCR 和 kb-funasr 说明

- kb-deep-analyzer: glm-4.7 → glm-5, gpt-4 → glm-5
- kb-workflow: 步骤5增加 OCR 和 kb-funasr 作为备用方案
- 统一命令使用 --type subtitle-download
This commit is contained in:
2026-02-27 15:36:18 +08:00
parent 9259a3731a
commit 202960eb64
4 changed files with 32 additions and 5 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ python deep_analyzer.py -m meta.json -c content.json -o out.md --provider zhipu
```bash
export AI_API_KEY="your-api-key"
export AI_PROVIDER="zhipu" # 或 openai, minimax
export AI_MODEL="glm-4.7" # 模型名称
export AI_MODEL="glm-5" # 模型名称
export AI_BASE_URL="https://..." # 可选,自定义 API 地址
```
+2 -2
View File
@@ -39,7 +39,7 @@ class SimpleAIClient:
def __init__(self, api_key: str = None, provider: str = None, model: str = None, base_url: str = None):
self.api_key = api_key or os.environ.get("AI_API_KEY", "")
self.provider = provider or os.environ.get("AI_PROVIDER", "")
self.model = model or os.environ.get("AI_MODEL", "gpt-4")
self.model = model or os.environ.get("AI_MODEL", "glm-5")
self.base_url = base_url or os.environ.get("AI_BASE_URL", "")
self.max_retries = 3
@@ -447,7 +447,7 @@ def main():
ai_client = SimpleAIClient(
api_key=args.api_key or os.environ.get("AI_API_KEY", ""),
provider=args.provider or os.environ.get("AI_PROVIDER", ""),
model=args.model or os.environ.get("AI_MODEL", "gpt-4"),
model=args.model or os.environ.get("AI_MODEL", "glm-5"),
base_url=args.base_url or os.environ.get("AI_BASE_URL", "")
)
analyzer = DeepAnalyzer(ai_client)
+1 -1
View File
@@ -236,7 +236,7 @@ python3 kb-link-parser/link-parser.py --url "https://www.bilibili.com/video/BVxx
python3 kb-bilibili-metadata/bilibili_metadata.py --id "BVxxxxx" --type video
# 3. 内容下载
python3 kb-bilibili-content/bilibili_content.py --id "BVxxxxx" --type subtitle
python3 kb-bilibili-content/bilibili_content.py --id "BVxxxxx" --type subtitle-download
# 4. 深度分析
python3 kb-deep-analyzer/deep_analyzer.py --metadata meta.json --content content.json --output analysis.md
+28 -1
View File
@@ -262,6 +262,31 @@ else
fi
```
**方式 C: kb-funasr(备用方案,Whisper 效果不佳时使用)**
```bash
# 当 Whisper 识别效果不好时,可尝试使用 FunAudioLLM 的 SenseVoice 模型
# 支持中文、英文、粤语、日语、韩语等
python3 /path/to/funasr_runner.py --input [video_path] --model sensevoice --output [content_dir]
# 或使用 Paraformer 模型(更精准但稍慢)
python3 /path/to/funasr_runner.py --input [video_path] --model paraformer --output [content_dir]
```
**方式 D: OCR 识别(当语音识别困难时的替代方案)**
> ⚠️ **适用场景**:音频质量差、有背景音乐干扰、多种语言混合等情况,语音识别效果不佳时使用 OCR 作为补充或替代。
```bash
# 使用 kb-ocr-processor 进行视频 OCR 识别
# 会截取视频帧并进行文字识别
python3 /path/to/ocr_processor.py --input [video_path] --output [content_dir]
```
> 📌 **识别方式选择建议**:
> - **首选 Whisper**(通用性强)
> - **Whisper 效果不佳时**尝试 kb-funasr(中文支持更好)
> - **音频质量极差或多种语言混合**时考虑 OCR
> - **访谈/对话类视频**推荐使用带说话者分离的 Whisper
3. 等待 Whisper 完成(定时汇报进度)
4. 解析输出 JSON:
@@ -347,6 +372,8 @@ python3 kb_workflow.py --archive-file "[分析报告文件路径]"
| 4 | kb-zhihu-content | `--id "xxx" --type video` | `{p}_{id}.mp4` | **知乎视频下载** |
| 5 | kb-whisper | `--input xxx.mp4 --model base` | `{p}_{id}.json`, `{p}_{id}.txt` | 仅当没有官方字幕时执行 |
| 5 | kb-whisper-diarization | `--input xxx.mp4 --model base --diarize` | `{p}_{id}_diarized.json` | 带说话者分离(需 HF_TOKEN) |
| 5 | kb-funasr | `--input xxx.mp4 --model sensevoice` | `{p}_{id}.json`, `{p}_{id}.txt` | **推荐用于中文视频** |
| 5 | kb-ocr-processor | `--input xxx.mp4` | `{p}_{id}_ocr.json` | 语音识别困难时的替代方案 |
| 6 | kb-deep-analyzer | `--metadata x.meta.json --content x.json --output x.md --provider zhipu --model glm-5` | `{p}_{id}.md` | **使用 g5 模型,必须成功** |
## 条件分支逻辑
@@ -407,7 +434,7 @@ python3 kb_workflow.py --archive-file "[分析报告文件路径]"
```
> ⚠️ **重要:深度分析失败则整个流程失败**
> - 深度分析必须使用正确的 AI 模型(glm-4.7)完整分析字幕内容
> - 深度分析必须使用正确的 AI 模型(glm-5)完整分析字幕内容
> - 如果 `kb-deep-analyzer` 返回 `success: false`,**必须汇报失败**,不能继续执行后续步骤
> - 不能使用预设模板或降级内容来"假装成功"
> - 失败时必须向用户报告具体的错误原因