59 lines
2.3 KiB
Python
59 lines
2.3 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
专门调试model_id问题
|
||
"""
|
||
import urllib.request
|
||
import json
|
||
|
||
def debug_model_id():
|
||
try:
|
||
print("=== 调试model_id为空问题 ===")
|
||
|
||
url = 'http://localhost:5000/api/models'
|
||
with urllib.request.urlopen(url) as response:
|
||
data = response.read().decode('utf-8')
|
||
result = json.loads(data)
|
||
|
||
models = result.get('data', [])
|
||
print(f"API返回 {len(models)} 个模型")
|
||
|
||
for i, model in enumerate(models):
|
||
print(f"\n=== 模型 {i+1} 完整数据 ===")
|
||
|
||
# 显示所有字段
|
||
for key, value in model.items():
|
||
if key == 'metrics' and isinstance(value, dict) and not value:
|
||
print(f"{key}: (空字典)")
|
||
else:
|
||
print(f"{key}: '{value}' ({type(value).__name__})")
|
||
|
||
# 特别检查filename和model_id的关系
|
||
filename = model.get('filename', '')
|
||
model_id = model.get('model_id', '')
|
||
|
||
print(f"\n--- 关键字段分析 ---")
|
||
print(f"filename存在: {bool(filename)}")
|
||
print(f"filename值: '{filename}'")
|
||
print(f"model_id存在: {bool(model_id)}")
|
||
print(f"model_id值: '{model_id}'")
|
||
|
||
if filename:
|
||
expected_model_id = filename.replace('.pth', '')
|
||
print(f"根据filename生成的期望model_id: '{expected_model_id}'")
|
||
print(f"实际model_id是否匹配: {model_id == expected_model_id}")
|
||
else:
|
||
print("❌ filename为空,无法生成model_id")
|
||
|
||
# 删除URL分析
|
||
if model_id:
|
||
delete_url = f"/api/models/{model_id}"
|
||
print(f"删除URL: {delete_url}")
|
||
else:
|
||
delete_url = f"/api/models/{model_id}" # 这会是 /api/models/
|
||
print(f"❌ 错误的删除URL: {delete_url} (会导致404)")
|
||
|
||
except Exception as e:
|
||
print(f"调试失败: {e}")
|
||
|
||
if __name__ == "__main__":
|
||
debug_model_id() |