good version for 算法注册

This commit is contained in:
2026-02-15 21:23:28 +08:00
parent 3c03777b97
commit 62ea5d36a5
115 changed files with 9566 additions and 1576 deletions

View 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()