代码结构化 优化

This commit is contained in:
zcr
2026-06-04 11:35:59 +08:00
parent cc2404831d
commit de349a6d20
6 changed files with 1952 additions and 2239 deletions

View File

@@ -6,70 +6,67 @@ class Settings(BaseSettings):
"""
应用配置类。Pydantic Settings 会自动从环境变量和 .env 文件中加载这些值。
"""
model_config = SettingsConfigDict(
env_file='.env',
env_file_encoding='utf-8',
# extra='ignore' # 忽略环境变量中多余的键
)
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore") # 忽略环境变量中多余的键
# --- 服务端口配置信息 ---
PORT: int = Field(default=8001, description="")
# --- 服务环境 配置信息 ---
SERVE_ENV: str = Field(default='', description="")
SERVE_ENV: str = Field(default="", description="")
# --- 开发状态 配置信息 ---
DEBUG: bool = Field(default=False, description="")
# --- 千问api 配置信息 ---
QWEN_API_KEY: str = Field(default="", description="")
# --- ComfyUI 配置信息 ---
COMFYUI_SERVER_ADDRESS: str = Field(default='', description="")
COMFYUI_SERVER_ADDRESS: str = Field(default="", description="")
# --- minio 配置信息 ---
MINIO_URL: str = Field(default='', description="")
MINIO_ACCESS: str = Field(default='', description="")
MINIO_SECRET: str = Field(default='', description="")
MINIO_URL: str = Field(default="", description="")
MINIO_ACCESS: str = Field(default="", description="")
MINIO_SECRET: str = Field(default="", description="")
MINIO_SECURE: bool = Field(default=True, description="")
# --- redis 配置信息 ---
REDIS_HOST: str = Field(default='', description="")
REDIS_PORT: str = Field(default='', description="")
REDIS_HOST: str = Field(default="", description="")
REDIS_PORT: str = Field(default="", description="")
REDIS_DB: int = Field(default=0, description="")
# --- mysql 配置信息 ---
MYSQL_HOST: str = Field(default='', description="")
MYSQL_HOST: str = Field(default="", description="")
MYSQL_PORT: int = Field(default=3306, description="")
MYSQL_USER: str = Field(default='', description="")
MYSQL_PASSWORD: str = Field(default='', description="")
MYSQL_DB: str = Field(default='', description="")
MYSQL_CHARSET: str = Field(default='utf8mb4', description="")
MYSQL_USER: str = Field(default="", description="")
MYSQL_PASSWORD: str = Field(default="", description="")
MYSQL_DB: str = Field(default="", description="")
MYSQL_CHARSET: str = Field(default="utf8mb4", description="")
# --- rabbit-mq 配置信息 ---
MQ_HOST: str = Field(default='', description="")
MQ_PORT: str = Field(default='', description="")
MQ_USERNAME: str = Field(default='', description="")
MQ_PASSWORD: str = Field(default='', description="")
MQ_VIRTUAL_HOST: str = Field(default='/', description="")
MQ_ENV: str = Field(default='', description="")
MQ_HOST: str = Field(default="", description="")
MQ_PORT: str = Field(default="", description="")
MQ_USERNAME: str = Field(default="", description="")
MQ_PASSWORD: str = Field(default="", description="")
MQ_VIRTUAL_HOST: str = Field(default="/", description="")
MQ_ENV: str = Field(default="", description="")
# --- milvus 配置信息 ---
MILVUS_URL: str = Field(default='', description="")
MILVUS_TOKEN: str = Field(default='', description="")
MILVUS_ALIAS: str = Field(default='', description="")
MILVUS_URL: str = Field(default="", description="")
MILVUS_TOKEN: str = Field(default="", description="")
MILVUS_ALIAS: str = Field(default="", description="")
# --- ollama 配置信息 ---
CHROMADB_PATH: str = Field(default='', description="")
CHROMADB_PATH: str = Field(default="", description="")
# --- ollama 配置信息 ---
OLLAMA_URL: str = Field(default='', description="")
OLLAMA_URL: str = Field(default="", description="")
# --- Design Callback Java 接口 ---
JAVA_STREAM_API_URL: str = Field(default='', description="")
JAVA_STREAM_API_URL: str = Field(default="", description="")
# --- flux2 klein model url ---
FLUX2_GEN_IMG_MODEL_URL: str = Field(default='', description="")
FLUX2_GEN_IMG_MODEL_URL: str = Field(default="", description="")
# --- 服务器IP ---
A6000_SERVICE_HOST: str = Field(default='', description="")
B_4_X_4090_SERVICE_HOST: str = Field(default='', description="")
A6000_SERVICE_HOST: str = Field(default="", description="")
B_4_X_4090_SERVICE_HOST: str = Field(default="", description="")
# --- 其他配置信息 以下均为Docker容器内配置---
LOGS_PATH: str = Field(default="/logs/", description="")
@@ -77,6 +74,7 @@ class Settings(BaseSettings):
SEG_CACHE_PATH: str = Field(default="/seg_cache/", description="")
RECOMMEND_PATH_PREFIX: str = Field(default="/app/service/recommend/", description="")
SERVE_PORT: int = Field(default=2010, description="")
sketch_to_garment_url: str = Field(default="", description="")
settings = Settings()
@@ -91,36 +89,49 @@ TABLE_CATEGORIES = {
"female_blouse": "female/blouse",
"male_tops": "male/tops",
"male_bottoms": "male/bottoms",
"male_outwear": "male/outwear"
"male_outwear": "male/outwear",
}
# Design前后排优先级
PRIORITY_DICT = {
'earring_front': 99,
'bag_front': 98,
'hairstyle_front': 97,
'outwear_front': 20,
'tops_front': 19,
'dress_front': 18,
'blouse_front': 17,
'skirt_front': 16,
'trousers_front': 15,
'bottoms_front': 14,
'shoes_right': 1,
'shoes_left': 1,
'body': 0,
'bottoms_back': -14,
'trousers_back': -15,
'skirt_back': -16,
'blouse_back': -17,
'dress_back': -18,
'tops_back': -19,
'outwear_back': -20,
'hairstyle_back': -97,
'bag_back': -98,
'earring_back': -99,
"earring_front": 99,
"bag_front": 98,
"hairstyle_front": 97,
"outwear_front": 20,
"tops_front": 19,
"dress_front": 18,
"blouse_front": 17,
"skirt_front": 16,
"trousers_front": 15,
"bottoms_front": 14,
"shoes_right": 1,
"shoes_left": 1,
"body": 0,
"bottoms_back": -14,
"trousers_back": -15,
"skirt_back": -16,
"blouse_back": -17,
"dress_back": -18,
"tops_back": -19,
"outwear_back": -20,
"hairstyle_back": -97,
"bag_back": -98,
"earring_back": -99,
}
# Design 关键点字段
KEYPOINT_RESULT_TABLE_FIELD_SET = ('neckline_left', 'neckline_right', 'shoulder_left', 'shoulder_right', 'armpit_left', 'armpit_right', 'cuff_left_in', 'cuff_left_out', 'cuff_right_in', 'cuff_right_out', 'waistband_left', 'waistband_right')
KEYPOINT_RESULT_TABLE_FIELD_SET = (
"neckline_left",
"neckline_right",
"shoulder_left",
"shoulder_right",
"armpit_left",
"armpit_right",
"cuff_left_in",
"cuff_left_out",
"cuff_right_in",
"cuff_right_out",
"waistband_left",
"waistband_right",
)
# milvus配置信息
MILVUS_TABLE_KEYPOINT = "keypoint_cache_2"
@@ -129,37 +140,37 @@ OLLAMA_URL = f"http://{settings.A6000_SERVICE_HOST}:11434/api/embeddings"
"""Triton Server Config"""
# Design
DESIGN_MODEL_URL = f'{settings.A6000_SERVICE_HOST}:10000'
DESIGN_MODEL_NAME = 'seg_knet'
DESIGN_MODEL_URL = f"{settings.A6000_SERVICE_HOST}:10000"
DESIGN_MODEL_NAME = "seg_knet"
# Seg Product
SEG_PRODUCT_MODEL_URL = f'{settings.B_4_X_4090_SERVICE_HOST}:30000'
SEG_PRODUCT_MODEL_URL = f"{settings.B_4_X_4090_SERVICE_HOST}:30000"
# Generate Image
GI_MODEL_URL = f'{settings.A6000_SERVICE_HOST}:10061'
GI_MODEL_NAME = 'flux'
GI_MODEL_URL = f"{settings.A6000_SERVICE_HOST}:10061"
GI_MODEL_NAME = "flux"
# Generate Single Logo
GSL_MODEL_URL = f'{settings.B_4_X_4090_SERVICE_HOST}:10041'
GSL_MODEL_NAME = 'stable_diffusion_xl_transparent'
GSL_MODEL_URL = f"{settings.B_4_X_4090_SERVICE_HOST}:10041"
GSL_MODEL_NAME = "stable_diffusion_xl_transparent"
# Generate Product (整套和单品)
GPI_MODEL_URL = f'{settings.B_4_X_4090_SERVICE_HOST}:10051'
GPI_MODEL_NAME_OVERALL = 'diffusion_ensemble_all'
GPI_MODEL_NAME_SINGLE = 'stable_diffusion_1_5_cnet'
GPI_MODEL_URL = f"{settings.B_4_X_4090_SERVICE_HOST}:10051"
GPI_MODEL_NAME_OVERALL = "diffusion_ensemble_all"
GPI_MODEL_NAME_SINGLE = "stable_diffusion_1_5_cnet"
# 以下停用中...*************
# 多视角生成
GMV_MODEL_URL = f'{settings.B_4_X_4090_SERVICE_HOST}:10081'
GMV_MODEL_NAME = 'multi_view'
GMV_MODEL_URL = f"{settings.B_4_X_4090_SERVICE_HOST}:10081"
GMV_MODEL_NAME = "multi_view"
# 超分
SR_MODEL_NAME = "super_resolution"
SR_TRITON_URL = f"{settings.A6000_SERVICE_HOST}:10031"
# 打光
GRI_MODEL_URL = f'{settings.A6000_SERVICE_HOST}:10051'
GRI_MODEL_NAME_OVERALL = 'diffusion_relight_ensemble'
GRI_MODEL_NAME_SINGLE = 'stable_diffusion_1_5_relight'
GRI_MODEL_URL = f"{settings.A6000_SERVICE_HOST}:10051"
GRI_MODEL_NAME_OVERALL = "diffusion_relight_ensemble"
GRI_MODEL_NAME_SINGLE = "stable_diffusion_1_5_relight"
# agent 图片生成
FAST_GI_MODEL_URL = f'{settings.B_4_X_4090_SERVICE_HOST}:10011'
FAST_GI_MODEL_NAME = 'stable_diffusion_xl'
FAST_GI_MODEL_URL = f"{settings.B_4_X_4090_SERVICE_HOST}:10011"
FAST_GI_MODEL_NAME = "stable_diffusion_xl"
# 图转视频 triton版
PT_MODEL_URL = f'{settings.B_4_X_4090_SERVICE_HOST}:10061'
PT_MODEL_URL = f"{settings.B_4_X_4090_SERVICE_HOST}:10061"
# *************