Spaces:
Runtime error
Runtime error
Download backend/verify_modules.py from cytopa99/universal-fast-dubbing: direct link, hf CLI and curl.
- Browser
- Download file 6.83 kB
-
https://huggingface.co/spaces/cytopa99/universal-fast-dubbing/resolve/main/backend/verify_modules.py
- Command line
-
hf download hf://spaces/cytopa99/universal-fast-dubbing/backend/verify_modules.py
-
curl -L -o verify_modules.py https://huggingface.co/spaces/cytopa99/universal-fast-dubbing/resolve/main/backend/verify_modules.py
6.83 kB
| """ | |
| 核心模块验证脚本 | |
| 验证所有核心处理模块是否正常工作。 | |
| """ | |
| import sys | |
| sys.path.insert(0, '.') | |
| def verify_error_response(): | |
| """验证 ErrorResponse 模块""" | |
| from modules import ( | |
| ErrorCode, ErrorType, ErrorResponse, ErrorFactory, create_error_response | |
| ) | |
| print("ErrorResponse 功能检查:") | |
| # 测试创建错误响应 | |
| error = ErrorResponse( | |
| error_code=ErrorCode.GROQ_RATE_LIMIT, | |
| error_type=ErrorType.RETRYABLE, | |
| message="测试错误消息", | |
| retry_available=True | |
| ) | |
| print(f" - ErrorCode枚举: {len(ErrorCode)} 个错误代码") | |
| print(f" - ErrorType枚举: {len(ErrorType)} 个错误类型") | |
| print(f" - to_dict方法: {hasattr(error, 'to_dict')}") | |
| print(f" - to_user_message方法: {hasattr(error, 'to_user_message')}") | |
| # 测试工厂方法 | |
| rate_limit_error = ErrorFactory.create_groq_rate_limit_error(retry_after=30) | |
| print(f" - ErrorFactory工厂方法: 正常工作") | |
| # 测试便捷函数 | |
| quick_error = create_error_response( | |
| ErrorCode.TIMEOUT_ERROR, | |
| "超时测试" | |
| ) | |
| print(f" - create_error_response函数: 正常工作") | |
| print(" ✓ ErrorResponse 验证通过") | |
| return True | |
| def verify_logging_config(): | |
| """验证 logging_config 模块""" | |
| from modules import ( | |
| LogLevel, Component, StructuredLogRecord, ComponentLogger, | |
| setup_logging, get_component_logger, log_performance | |
| ) | |
| print("\nLoggingConfig 功能检查:") | |
| # 测试组件枚举 | |
| print(f" - Component枚举: {len(Component)} 个组件") | |
| # 测试结构化日志记录 | |
| record = StructuredLogRecord( | |
| timestamp="2024-01-01T00:00:00", | |
| level="INFO", | |
| component="Test", | |
| message="测试消息" | |
| ) | |
| json_output = record.to_json() | |
| print(f" - StructuredLogRecord: 正常工作") | |
| # 测试组件日志记录器 | |
| logger = get_component_logger(Component.GROQ_CLIENT) | |
| print(f" - ComponentLogger: 正常工作") | |
| print(f" - log_performance装饰器: {callable(log_performance)}") | |
| print(" ✓ LoggingConfig 验证通过") | |
| return True | |
| def verify_groq_client(): | |
| """验证 GroqClient 模块""" | |
| from modules import GroqClient, GroqConfig, RetryStats | |
| config = GroqConfig(api_key='test_key') | |
| client = GroqClient(config) | |
| print("\nGroqClient 功能检查:") | |
| print(f" - ASR模型: {client.asr_model}") | |
| print(f" - LLM模型: {client.llm_model}") | |
| print(f" - transcribe方法: {hasattr(client, 'transcribe')}") | |
| print(f" - translate方法: {hasattr(client, 'translate')}") | |
| print(f" - get_retry_stats方法: {hasattr(client, 'get_retry_stats')}") | |
| print(f" - RetryStats类: 正常工作") | |
| print(" ✓ GroqClient 验证通过") | |
| return True | |
| def verify_tts_generator(): | |
| """验证 TTSGenerator 模块""" | |
| from modules import TTSGenerator, TTSConfig | |
| generator = TTSGenerator() | |
| voices = generator.get_available_voices() | |
| print("\nTTSGenerator 功能检查:") | |
| print(f" - 可用语音: {list(voices.keys())}") | |
| print(f" - generate_single方法: {hasattr(generator, 'generate_single')}") | |
| print(f" - generate方法: {hasattr(generator, 'generate')}") | |
| print(" ✓ TTSGenerator 验证通过") | |
| return True | |
| def verify_smart_segmenter(): | |
| """验证 SmartSegmenter 模块""" | |
| from modules import SmartSegmenter, SegmenterConfig | |
| segmenter = SmartSegmenter() | |
| print("\nSmartSegmenter 功能检查:") | |
| print(f" - 最大片段时长: {segmenter.config.max_segment_duration}s") | |
| print(f" - 最小片段时长: {segmenter.config.min_segment_duration}s") | |
| print(f" - 静音阈值: {segmenter.config.silence_threshold_db}dB") | |
| print(f" - segment_audio方法: {hasattr(segmenter, 'segment_audio')}") | |
| print(f" - should_segment方法: {hasattr(segmenter, 'should_segment')}") | |
| print(" ✓ SmartSegmenter 验证通过") | |
| return True | |
| def verify_audio_sync_engine(): | |
| """验证 AudioSyncEngine 模块""" | |
| from modules import AudioSyncEngine, SyncConfig | |
| engine = AudioSyncEngine() | |
| print("\nAudioSyncEngine 功能检查:") | |
| print(f" - 最大变速比例: {engine.config.max_speed_ratio}x") | |
| print(f" - 同步容差: {engine.config.sync_tolerance}s") | |
| print(f" - align方法: {hasattr(engine, 'align')}") | |
| print(f" - align_segment方法: {hasattr(engine, 'align_segment')}") | |
| print(f" - check_sync_drift方法: {hasattr(engine, 'check_sync_drift')}") | |
| print(" ✓ AudioSyncEngine 验证通过") | |
| return True | |
| def main(): | |
| """主验证函数""" | |
| print("=" * 50) | |
| print("Universal Fast Dubbing - 核心模块验证") | |
| print("=" * 50) | |
| results = [] | |
| try: | |
| results.append(("ErrorResponse", verify_error_response())) | |
| except Exception as e: | |
| print(f"ErrorResponse 验证失败: {e}") | |
| results.append(("ErrorResponse", False)) | |
| try: | |
| results.append(("LoggingConfig", verify_logging_config())) | |
| except Exception as e: | |
| print(f"LoggingConfig 验证失败: {e}") | |
| results.append(("LoggingConfig", False)) | |
| try: | |
| results.append(("GroqClient", verify_groq_client())) | |
| except Exception as e: | |
| print(f"GroqClient 验证失败: {e}") | |
| results.append(("GroqClient", False)) | |
| try: | |
| results.append(("TTSGenerator", verify_tts_generator())) | |
| except Exception as e: | |
| print(f"TTSGenerator 验证失败: {e}") | |
| results.append(("TTSGenerator", False)) | |
| try: | |
| results.append(("SmartSegmenter", verify_smart_segmenter())) | |
| except Exception as e: | |
| print(f"SmartSegmenter 验证失败: {e}") | |
| results.append(("SmartSegmenter", False)) | |
| try: | |
| results.append(("AudioSyncEngine", verify_audio_sync_engine())) | |
| except Exception as e: | |
| print(f"AudioSyncEngine 验证失败: {e}") | |
| results.append(("AudioSyncEngine", False)) | |
| print("\n" + "=" * 50) | |
| print("验证结果汇总:") | |
| print("=" * 50) | |
| all_passed = True | |
| for name, passed in results: | |
| status = "✓ 通过" if passed else "✗ 失败" | |
| print(f" {name}: {status}") | |
| if not passed: | |
| all_passed = False | |
| print("=" * 50) | |
| if all_passed: | |
| print("所有核心模块验证通过!") | |
| else: | |
| print("部分模块验证失败,请检查!") | |
| return all_passed | |
| if __name__ == "__main__": | |
| success = main() | |
| sys.exit(0 if success else 1) | |