good version for 算法注册
This commit is contained in:
151
backend/create_sample_algorithms.py
Normal file
151
backend/create_sample_algorithms.py
Normal file
@@ -0,0 +1,151 @@
|
||||
#!/usr/bin/env python3
|
||||
"""创建示例算法数据"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from app.models.database import SessionLocal
|
||||
from app.models.models import Algorithm, AlgorithmVersion
|
||||
from datetime import datetime
|
||||
import uuid
|
||||
|
||||
def create_sample_algorithms():
|
||||
"""创建示例算法"""
|
||||
db = SessionLocal()
|
||||
|
||||
try:
|
||||
# 示例算法数据
|
||||
algorithms_data = [
|
||||
{
|
||||
"name": "目标检测",
|
||||
"description": "识别图像中的物体位置和类别,支持人脸、车辆、物品等多种目标检测",
|
||||
"type": "computer_vision",
|
||||
"tech_category": "computer_vision",
|
||||
"output_type": "image",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"url": "http://0.0.0.0:8001",
|
||||
"is_default": True
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "视频分析",
|
||||
"description": "分析视频内容,提取关键帧、识别动作、追踪物体等",
|
||||
"type": "computer_vision",
|
||||
"tech_category": "video_processing",
|
||||
"output_type": "video",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"url": "http://0.0.0.0:8002",
|
||||
"is_default": True
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "图像增强",
|
||||
"description": "提升图像质量,包括去噪、超分辨率、色彩校正等功能",
|
||||
"type": "computer_vision",
|
||||
"tech_category": "computer_vision",
|
||||
"output_type": "image",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"url": "http://0.0.0.0:8003",
|
||||
"is_default": True
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "文本分类",
|
||||
"description": "对文本内容进行分类,支持新闻分类、情感分析、垃圾邮件识别等",
|
||||
"type": "nlp",
|
||||
"tech_category": "nlp",
|
||||
"output_type": "text",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"url": "http://0.0.0.0:8004",
|
||||
"is_default": True
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "异常检测",
|
||||
"description": "检测数据中的异常模式,适用于工业监控、金融风控等场景",
|
||||
"type": "ml",
|
||||
"tech_category": "ml",
|
||||
"output_type": "json",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"url": "http://0.0.0.0:8005",
|
||||
"is_default": True
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "医学影像分析",
|
||||
"description": "分析医学影像,辅助医生进行疾病诊断,支持CT、MRI等多种影像格式",
|
||||
"type": "medical",
|
||||
"tech_category": "computer_vision",
|
||||
"output_type": "image",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"url": "http://0.0.0.0:8006",
|
||||
"is_default": True
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
# 创建算法
|
||||
for algo_data in algorithms_data:
|
||||
# 检查算法是否已存在
|
||||
existing_algo = db.query(Algorithm).filter(Algorithm.name == algo_data["name"]).first()
|
||||
if existing_algo:
|
||||
print(f"✓ 算法 '{algo_data['name']}' 已存在,跳过")
|
||||
continue
|
||||
|
||||
# 创建算法
|
||||
algorithm = Algorithm(
|
||||
id=str(uuid.uuid4()),
|
||||
name=algo_data["name"],
|
||||
description=algo_data["description"],
|
||||
type=algo_data["type"],
|
||||
tech_category=algo_data["tech_category"],
|
||||
output_type=algo_data["output_type"],
|
||||
status="active"
|
||||
)
|
||||
db.add(algorithm)
|
||||
db.flush() # 获取算法ID
|
||||
|
||||
# 创建版本
|
||||
for version_data in algo_data["versions"]:
|
||||
version = AlgorithmVersion(
|
||||
id=str(uuid.uuid4()),
|
||||
algorithm_id=algorithm.id,
|
||||
version=version_data["version"],
|
||||
url=version_data["url"],
|
||||
is_default=version_data["is_default"]
|
||||
)
|
||||
db.add(version)
|
||||
|
||||
print(f"✓ 已创建算法: {algo_data['name']}")
|
||||
|
||||
db.commit()
|
||||
print("\n示例算法创建完成!")
|
||||
|
||||
except Exception as e:
|
||||
db.rollback()
|
||||
print(f"创建示例算法失败: {e}")
|
||||
sys.exit(1)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
create_sample_algorithms()
|
||||
Reference in New Issue
Block a user