3 Commits

Author SHA1 Message Date
z3st
85c456afe0 fix: yaml.dump width=1000 to prevent command string wrapping 2026-07-22 22:43:35 +08:00
z3st
b3b52848c2 fix: verifyResult can be None, ensure dict return 2026-07-22 01:39:33 +08:00
z3st
d6e9f2e7a0 fix: page_size limit 50 for ModelScope API 2026-07-22 01:13:26 +08:00

13
main.py
View File

@@ -121,12 +121,12 @@ def init_db():
# ModelScope 搜索 # ModelScope 搜索
# ============================================================ # ============================================================
def search_models(keyword: str, limit: int = 100) -> list: def search_models(keyword: str, limit: int = 50) -> list:
"""从 ModelScope 搜索模型""" """从 ModelScope 搜索模型"""
url = "https://modelscope.cn/openapi/v1/models" url = "https://modelscope.cn/openapi/v1/models"
params = { params = {
'search': keyword, 'search': keyword,
'page_size': limit, 'page_size': min(limit, 50), # API 上限 50
'page_number': 1, 'page_number': 1,
'sort': 'downloads', 'sort': 'downloads',
} }
@@ -195,7 +195,8 @@ def check_platform_verify(model_id: str) -> dict:
resp = requests.get(url, headers=headers, params={'modelId': model_id}, timeout=10) resp = requests.get(url, headers=headers, params={'modelId': model_id}, timeout=10)
data = resp.json() data = resp.json()
if data.get('code') == 0: if data.get('code') == 0:
return data.get('data', {}).get('verifyResult', {}) result = data.get('data', {}).get('verifyResult', {})
return result if isinstance(result, dict) else {}
except Exception: except Exception:
pass pass
return {} return {}
@@ -301,9 +302,7 @@ def build_config_params(gpu: str) -> str:
'gpu_num': 1, 'gpu_num': 1,
'command': [ 'command': [
'/bin/bash', '-ic', '/bin/bash', '-ic',
'vllm serve /model --port 8000 --served-model-name llm ' 'vllm serve /model --port 8000 --served-model-name llm --max-model-len 2048 --dtype auto --gpu-memory-utilization 0.95 -tp 1 --enforce-eager --trust-remote-code'
'--max-model-len 2048 --dtype auto --gpu-memory-utilization 0.95 '
'-tp 1 --enforce-eager --trust-remote-code'
] ]
} }
}, },
@@ -320,7 +319,7 @@ def build_config_params(gpu: str) -> str:
}, },
'model': 'llm', 'model': 'llm',
} }
return yaml.dump(params, default_flow_style=False, allow_unicode=True) return yaml.dump(params, default_flow_style=False, allow_unicode=True, width=1000)
def submit_model(model_url: str, gpu: str, token: str) -> tuple: def submit_model(model_url: str, gpu: str, token: str) -> tuple: