Files
Mofox-Core/debug_config.py
2025-07-25 13:21:48 +08:00

112 lines
4.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
调试配置加载问题查看API provider的配置是否正确传递
"""
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
def debug_config_loading():
try:
# 临时配置API key
import toml
config_path = "config/model_config.toml"
with open(config_path, 'r', encoding='utf-8') as f:
config = toml.load(f)
original_keys = {}
for provider in config['api_providers']:
original_keys[provider['name']] = provider['api_key']
provider['api_key'] = f"sk-test-key-for-{provider['name'].lower()}-12345"
with open(config_path, 'w', encoding='utf-8') as f:
toml.dump(config, f)
print("✅ 配置了测试API key")
try:
# 清空缓存
modules_to_remove = [
'src.config.config',
'src.config.api_ada_configs',
'src.llm_models.model_manager',
'src.llm_models.model_client',
'src.llm_models.utils_model'
]
for module in modules_to_remove:
if module in sys.modules:
del sys.modules[module]
# 导入配置
from src.config.config import model_config
print("\n🔍 调试配置加载:")
print(f"model_config类型: {type(model_config)}")
# 检查API providers
if hasattr(model_config, 'api_providers'):
print(f"API providers数量: {len(model_config.api_providers)}")
for name, provider in model_config.api_providers.items():
print(f" - {name}: {provider.base_url}")
print(f" API key: {provider.api_key[:10]}...{provider.api_key[-5:] if len(provider.api_key) > 15 else provider.api_key}")
print(f" Client type: {provider.client_type}")
# 检查模型配置
if hasattr(model_config, 'models'):
print(f"模型数量: {len(model_config.models)}")
for name, model in model_config.models.items():
print(f" - {name}: {model.model_identifier} (提供商: {model.api_provider})")
# 检查任务配置
if hasattr(model_config, 'task_model_arg_map'):
print(f"任务配置数量: {len(model_config.task_model_arg_map)}")
for task_name, task_config in model_config.task_model_arg_map.items():
print(f" - {task_name}: {task_config}")
# 尝试初始化ModelManager
print("\n🔍 调试ModelManager初始化:")
from src.llm_models.model_manager import ModelManager
try:
model_manager = ModelManager(model_config)
print("✅ ModelManager初始化成功")
# 检查API客户端映射
print(f"API客户端数量: {len(model_manager.api_client_map)}")
for name, client in model_manager.api_client_map.items():
print(f" - {name}: {type(client).__name__}")
if hasattr(client, 'client') and hasattr(client.client, 'api_key'):
api_key = client.client.api_key
print(f" Client API key: {api_key[:10]}...{api_key[-5:] if len(api_key) > 15 else api_key}")
# 尝试获取任务处理器
try:
handler = model_manager["llm_normal"]
print("✅ 成功获取llm_normal任务处理器")
print(f"任务处理器类型: {type(handler).__name__}")
except Exception as e:
print(f"❌ 获取任务处理器失败: {e}")
except Exception as e:
print(f"❌ ModelManager初始化失败: {e}")
import traceback
traceback.print_exc()
finally:
# 恢复配置
for provider in config['api_providers']:
provider['api_key'] = original_keys[provider['name']]
with open(config_path, 'w', encoding='utf-8') as f:
toml.dump(config, f)
print("\n✅ 配置已恢复")
except Exception as e:
print(f"❌ 调试失败: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
debug_config_loading()