refactor(video): 视频分析模块重构为纯 inkfox 实现
将视频分析模块 `utils_video.py` 完全重构,移除旧的 rust_video 模块和 Python/OpenCV 降级实现,统一使用 `inkfox.video` 库提供的 Rust 扩展能力。 主要变更: - **依赖简化**: 移除对 `rust_video` 和 `opencv-python` 的依赖,仅依赖 `inkfox`。 - **代码重构**: 删除大量冗余代码,包括旧的 Rust 模块接口、Python 降级逻辑、复杂的并发控制和多种抽帧模式。 - **性能统一**: 关键帧提取统一使用 `inkfox.video.extract_keyframes_from_video`,确保所有环境下的性能一致性。 - **逻辑简化**: 简化了缓存逻辑、并发控制和配置项,使代码更清晰、更易于维护。 - **API 统一**: `_select_model` 和 `_execute_request` 方法调用更新,以适应 `LLMRequest` 的最新接口。 - **文档更新**: 更新了模块文档字符串,以反映新的实现和功能。
This commit is contained in:
@@ -245,7 +245,7 @@ class BilibiliVideoAnalyzer:
|
||||
logger.exception("详细错误信息:")
|
||||
return None
|
||||
|
||||
async def analyze_bilibili_video(self, url: str, prompt: str = None) -> dict[str, Any]:
|
||||
async def analyze_bilibili_video(self, url: str, prompt: str | None = None) -> dict[str, Any]:
|
||||
"""分析哔哩哔哩视频并返回详细信息和AI分析结果"""
|
||||
try:
|
||||
logger.info(f"🎬 开始分析哔哩哔哩视频: {url}")
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -461,14 +461,11 @@ class LegacyVideoAnalyzer:
|
||||
# logger.info(f"✅ 多帧消息构建完成,包含{len(frames)}张图片")
|
||||
|
||||
# 获取模型信息和客户端
|
||||
selection_result = self.video_llm._model_selector.select_best_available_model(set(), "response")
|
||||
if not selection_result:
|
||||
raise RuntimeError("无法为视频分析选择可用模型 (legacy)。")
|
||||
model_info, api_provider, client = selection_result
|
||||
model_info, api_provider, client = self.video_llm._select_model()
|
||||
# logger.info(f"使用模型: {model_info.name} 进行多帧分析")
|
||||
|
||||
# 直接执行多图片请求
|
||||
api_response = await self.video_llm._executor.execute_request(
|
||||
api_response = await self.video_llm._execute_request(
|
||||
api_provider=api_provider,
|
||||
client=client,
|
||||
request_type=RequestType.RESPONSE,
|
||||
|
||||
Reference in New Issue
Block a user