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:
@@ -31,7 +31,7 @@ python deep_analyzer.py -m meta.json -c content.json -o out.md --provider zhipu
|
|||||||
```bash
|
```bash
|
||||||
export AI_API_KEY="your-api-key"
|
export AI_API_KEY="your-api-key"
|
||||||
export AI_PROVIDER="zhipu" # 或 openai, minimax
|
export AI_PROVIDER="zhipu" # 或 openai, minimax
|
||||||
export AI_MODEL="glm-4.7" # 模型名称
|
export AI_MODEL="glm-5" # 模型名称
|
||||||
export AI_BASE_URL="https://..." # 可选,自定义 API 地址
|
export AI_BASE_URL="https://..." # 可选,自定义 API 地址
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class SimpleAIClient:
|
|||||||
def __init__(self, api_key: str = None, provider: str = None, model: str = None, base_url: str = None):
|
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.api_key = api_key or os.environ.get("AI_API_KEY", "")
|
||||||
self.provider = provider or os.environ.get("AI_PROVIDER", "")
|
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.base_url = base_url or os.environ.get("AI_BASE_URL", "")
|
||||||
self.max_retries = 3
|
self.max_retries = 3
|
||||||
|
|
||||||
@@ -447,7 +447,7 @@ def main():
|
|||||||
ai_client = SimpleAIClient(
|
ai_client = SimpleAIClient(
|
||||||
api_key=args.api_key or os.environ.get("AI_API_KEY", ""),
|
api_key=args.api_key or os.environ.get("AI_API_KEY", ""),
|
||||||
provider=args.provider or os.environ.get("AI_PROVIDER", ""),
|
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", "")
|
base_url=args.base_url or os.environ.get("AI_BASE_URL", "")
|
||||||
)
|
)
|
||||||
analyzer = DeepAnalyzer(ai_client)
|
analyzer = DeepAnalyzer(ai_client)
|
||||||
|
|||||||
@@ -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
|
python3 kb-bilibili-metadata/bilibili_metadata.py --id "BVxxxxx" --type video
|
||||||
|
|
||||||
# 3. 内容下载
|
# 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. 深度分析
|
# 4. 深度分析
|
||||||
python3 kb-deep-analyzer/deep_analyzer.py --metadata meta.json --content content.json --output analysis.md
|
python3 kb-deep-analyzer/deep_analyzer.py --metadata meta.json --content content.json --output analysis.md
|
||||||
|
|||||||
+28
-1
@@ -262,6 +262,31 @@ else
|
|||||||
fi
|
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 完成(定时汇报进度)
|
3. 等待 Whisper 完成(定时汇报进度)
|
||||||
|
|
||||||
4. 解析输出 JSON:
|
4. 解析输出 JSON:
|
||||||
@@ -347,6 +372,8 @@ python3 kb_workflow.py --archive-file "[分析报告文件路径]"
|
|||||||
| 4 | kb-zhihu-content | `--id "xxx" --type video` | `{p}_{id}.mp4` | **知乎视频下载** |
|
| 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 | `--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-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 模型,必须成功** |
|
| 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`,**必须汇报失败**,不能继续执行后续步骤
|
> - 如果 `kb-deep-analyzer` 返回 `success: false`,**必须汇报失败**,不能继续执行后续步骤
|
||||||
> - 不能使用预设模板或降级内容来"假装成功"
|
> - 不能使用预设模板或降级内容来"假装成功"
|
||||||
> - 失败时必须向用户报告具体的错误原因
|
> - 失败时必须向用户报告具体的错误原因
|
||||||
|
|||||||
Reference in New Issue
Block a user