#!/usr/bin/env python """ 直接测试API模型端点 """ import sys import os sys.path.append('server') def test_api_models(): """测试API模型列表功能""" try: # 导入API相关模块 from utils.model_manager import model_manager print("=== 直接测试模型管理器 ===") models = model_manager.list_models() print(f"模型管理器找到 {len(models)} 个模型") if models: for i, model in enumerate(models): print(f"{i+1}. {model.get('filename', 'N/A')}") print(f" 产品: {model.get('product_name', 'N/A')}") print(f" 类型: {model.get('model_type', 'N/A')}") print(f" 大小: {model.get('file_size', 0):,} bytes") print("\n=== 测试API格式化 ===") # 模拟API返回格式 formatted_models = [] for model in models: # 从文件名解析信息 filename = model.get('filename', '') parts = filename.replace('.pth', '').split('_') formatted_model = { 'model_id': filename.replace('.pth', ''), 'product_id': model.get('product_id', 'unknown'), 'product_name': model.get('product_name', 'unknown'), 'model_type': model.get('model_type', 'unknown'), 'training_mode': model.get('training_mode', 'product'), 'version': model.get('version', 'v1'), 'filename': filename, 'file_size': model.get('file_size', 0), 'created_at': model.get('created_at', ''), 'metrics': model.get('metrics', {}) } formatted_models.append(formatted_model) print(f"格式化后的模型数量: {len(formatted_models)}") if formatted_models: import json print("API返回格式示例:") print(json.dumps(formatted_models[0], indent=2, ensure_ascii=False)) return formatted_models except Exception as e: print(f"测试失败: {e}") import traceback traceback.print_exc() return [] if __name__ == "__main__": test_api_models()