2024-03-20 11:44:15 +08:00
|
|
|
import os
|
2024-03-21 11:12:01 +08:00
|
|
|
|
|
|
|
|
import pika
|
2024-03-20 11:44:15 +08:00
|
|
|
from dotenv import load_dotenv
|
|
|
|
|
from pydantic import BaseSettings
|
|
|
|
|
|
|
|
|
|
BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../'))
|
|
|
|
|
load_dotenv(os.path.join(BASE_DIR, '.env'))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Settings(BaseSettings):
|
2025-09-10 17:58:54 +08:00
|
|
|
PROJECT_NAME: str = 'FASTAPI BASE'
|
|
|
|
|
SECRET_KEY: str = ''
|
2025-03-25 15:55:52 +08:00
|
|
|
API_PREFIX: str = ''
|
|
|
|
|
BACKEND_CORS_ORIGINS: list[str] = ['*']
|
2025-09-10 17:58:54 +08:00
|
|
|
DATABASE_URL: str = ''
|
2024-03-20 11:44:15 +08:00
|
|
|
ACCESS_TOKEN_EXPIRE_SECONDS: int = 60 * 60 * 24 * 7 # Token expired after 7 days
|
2025-03-25 15:55:52 +08:00
|
|
|
SECURITY_ALGORITHM: str = 'HS256'
|
|
|
|
|
LOGGING_CONFIG_FILE: str = os.path.join(BASE_DIR, 'logging_env.py')
|
2024-03-20 11:44:15 +08:00
|
|
|
|
|
|
|
|
|
2024-07-03 09:58:04 +08:00
|
|
|
OSS = "minio"
|
2025-09-16 11:49:16 +08:00
|
|
|
DEBUG = False
|
2024-04-15 18:07:25 +08:00
|
|
|
if DEBUG:
|
2024-04-16 15:51:03 +08:00
|
|
|
LOGS_PATH = "logs/"
|
|
|
|
|
CATEGORY_PATH = "service/attribute/config/descriptor/category/category_dis.csv"
|
2024-07-19 15:10:28 +08:00
|
|
|
SEG_CACHE_PATH = "../seg_cache/"
|
2025-04-22 13:59:59 +08:00
|
|
|
POSE_TRANSFORM_VIDEO_PATH = "../pose_transform_video/"
|
2025-02-28 16:26:44 +08:00
|
|
|
RECOMMEND_PATH_PREFIX = "service/recommend/"
|
2025-06-23 16:08:47 +08:00
|
|
|
CHROMADB_PATH = "./chromadb/"
|
2024-04-15 18:07:25 +08:00
|
|
|
else:
|
2024-04-16 15:51:03 +08:00
|
|
|
LOGS_PATH = "app/logs/"
|
|
|
|
|
CATEGORY_PATH = "app/service/attribute/config/descriptor/category/category_dis.csv"
|
2024-07-19 15:10:28 +08:00
|
|
|
SEG_CACHE_PATH = "/seg_cache/"
|
2025-04-22 13:59:59 +08:00
|
|
|
POSE_TRANSFORM_VIDEO_PATH = "/pose_transform_video/"
|
2025-02-28 16:26:44 +08:00
|
|
|
RECOMMEND_PATH_PREFIX = "app/service/recommend/"
|
2025-06-23 16:08:47 +08:00
|
|
|
CHROMADB_PATH = "/chromadb/"
|
|
|
|
|
|
2025-09-10 17:58:54 +08:00
|
|
|
# RABBITMQ_ENV = "" # 生产环境
|
|
|
|
|
RABBITMQ_ENV = os.getenv("RABBITMQ_ENV", "-dev")
|
2025-06-23 15:11:20 +08:00
|
|
|
# RABBITMQ_ENV = "-local" # 本地测试环境
|
2024-04-15 18:07:25 +08:00
|
|
|
|
2025-09-10 17:58:54 +08:00
|
|
|
if RABBITMQ_ENV == "-dev":
|
|
|
|
|
JAVA_STREAM_API_URL = f"https://develop.api.aida.com.hk/api/third/party/receiveDesignResults"
|
|
|
|
|
elif RABBITMQ_ENV == "-prod":
|
|
|
|
|
JAVA_STREAM_API_URL = f"https://api.aida.com.hk/api/third/party/receiveDesignResults"
|
2024-12-09 13:37:21 +08:00
|
|
|
|
2024-03-20 11:44:15 +08:00
|
|
|
settings = Settings()
|
|
|
|
|
|
|
|
|
|
# minio 配置
|
2025-06-02 10:01:16 +08:00
|
|
|
MINIO_URL = "www.minio-api.aida.com.hk"
|
2024-03-20 11:44:15 +08:00
|
|
|
MINIO_ACCESS = 'vXKFLSJkYeEq2DrSZvkB'
|
|
|
|
|
MINIO_SECRET = 'uKTZT3x7C43WvPN9QTc99DiRkwddWZrG9Uh3JVlR'
|
2024-04-15 18:07:25 +08:00
|
|
|
MINIO_SECURE = True
|
2024-03-21 11:12:01 +08:00
|
|
|
|
2024-06-03 11:38:20 +08:00
|
|
|
# S3 配置
|
|
|
|
|
S3_ACCESS_KEY = "AKIAVD3OJIMF6UJFLSHZ"
|
|
|
|
|
S3_AWS_SECRET_ACCESS_KEY = "LNIwFFB27/QedtZ+Q/viVUoX9F5x1DbuM8N0DkD8"
|
|
|
|
|
S3_REGION_NAME = "ap-east-1"
|
|
|
|
|
|
2024-03-21 11:12:01 +08:00
|
|
|
# redis 配置
|
|
|
|
|
REDIS_HOST = "10.1.1.240"
|
|
|
|
|
REDIS_PORT = "6379"
|
2024-09-19 14:26:55 +08:00
|
|
|
REDIS_DB = "2"
|
2024-03-21 11:12:01 +08:00
|
|
|
|
|
|
|
|
# rabbitmq config
|
|
|
|
|
RABBITMQ_PARAMS = {
|
|
|
|
|
"host": "18.167.251.121",
|
|
|
|
|
"port": 5672,
|
|
|
|
|
"credentials": pika.credentials.PlainCredentials(username='rabbit', password='123456'),
|
|
|
|
|
"virtual_host": "/"
|
|
|
|
|
}
|
2024-03-26 11:34:54 +08:00
|
|
|
|
2024-05-09 17:56:51 +08:00
|
|
|
# milvus 配置
|
2024-06-17 17:17:36 +08:00
|
|
|
MILVUS_URL = "http://10.1.1.240:19530"
|
2024-06-17 16:42:33 +08:00
|
|
|
MILVUS_TOKEN = "root:Milvus"
|
2024-05-09 17:56:51 +08:00
|
|
|
MILVUS_ALIAS = "default"
|
2024-08-21 16:37:14 +08:00
|
|
|
MILVUS_TABLE_KEYPOINT = "keypoint_cache_2"
|
2024-05-09 17:56:51 +08:00
|
|
|
MILVUS_TABLE_SEG = "seg_cache"
|
|
|
|
|
|
2024-05-29 11:12:59 +08:00
|
|
|
# Mysql 配置
|
|
|
|
|
DB_HOST = '18.167.251.121' # 数据库主机地址
|
|
|
|
|
# DB_PORT = int( 33006)
|
|
|
|
|
DB_PORT = 33008 # 数据库端口
|
|
|
|
|
DB_USERNAME = 'aida_con_python' # 数据库用户名
|
|
|
|
|
DB_PASSWORD = '123456' # 数据库密码
|
|
|
|
|
DB_NAME = 'aida' # 数据库库名
|
|
|
|
|
|
|
|
|
|
# openai
|
|
|
|
|
os.environ['SERPAPI_API_KEY'] = "a793513017b0718db7966207c31703d280d12435c982f1e67bbcbffa52e7632c"
|
|
|
|
|
OPENAI_STREAM = True
|
|
|
|
|
BUFFER_THRESHOLD = 6 # must be even number
|
|
|
|
|
SINGLE_TOKEN_THRESHOLD = 200
|
|
|
|
|
TOKEN_THRESHOLD = 600
|
|
|
|
|
OPENAI_TEMPERATURE = 0
|
|
|
|
|
|
|
|
|
|
# OPENAI_API_KEY = "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"
|
|
|
|
|
OPENAI_API_KEY = "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"
|
|
|
|
|
OPENAI_MODEL = "gpt-3.5-turbo-0613"
|
|
|
|
|
OPENAI_MODEL_LIST = {"gpt-3.5-turbo-0613",
|
|
|
|
|
"gpt-3.5-turbo-16k-0613",
|
|
|
|
|
"gpt-4-0314",
|
|
|
|
|
"gpt-4-32k-0314",
|
|
|
|
|
"gpt-4-0613",
|
|
|
|
|
"gpt-4-32k-0613", }
|
|
|
|
|
|
2024-04-15 18:07:25 +08:00
|
|
|
# SR service config
|
|
|
|
|
SR_MODEL_NAME = "super_resolution"
|
|
|
|
|
SR_TRITON_URL = "10.1.1.240:10031"
|
2024-04-15 18:26:48 +08:00
|
|
|
SR_MINIO_BUCKET = "aida-users"
|
2025-09-10 17:58:54 +08:00
|
|
|
SR_RABBITMQ_QUEUES = f"SuperResolution{RABBITMQ_ENV}"
|
2024-04-15 18:07:25 +08:00
|
|
|
|
|
|
|
|
# GenerateImage service config
|
2024-12-01 14:24:48 +08:00
|
|
|
FAST_GI_MODEL_URL = '10.1.1.243:10011'
|
2024-12-01 15:30:32 +08:00
|
|
|
FAST_GI_MODEL_NAME = 'stable_diffusion_xl'
|
|
|
|
|
|
|
|
|
|
GI_MODEL_URL = '10.1.1.240:10061'
|
|
|
|
|
GI_MODEL_NAME = 'flux'
|
|
|
|
|
|
2025-01-08 15:44:59 +08:00
|
|
|
GMV_MODEL_URL = '10.1.1.243:10081'
|
|
|
|
|
GMV_MODEL_NAME = 'multi_view'
|
|
|
|
|
|
2025-09-02 22:29:30 +08:00
|
|
|
GMV_RABBITMQ_QUEUES = f"GenerateMultiView{RABBITMQ_ENV}"
|
2025-01-08 15:44:59 +08:00
|
|
|
|
2024-04-15 18:26:48 +08:00
|
|
|
GI_MINIO_BUCKET = "aida-users"
|
2025-09-02 22:29:30 +08:00
|
|
|
GI_RABBITMQ_QUEUES = f"GenerateImage{RABBITMQ_ENV}"
|
2024-04-23 14:59:47 +08:00
|
|
|
GI_SYS_IMAGE_URL = "aida-sys-image/generate_image/white_image.jpg"
|
2024-04-15 18:07:25 +08:00
|
|
|
|
2024-05-30 15:01:39 +08:00
|
|
|
# SLOGAN service config
|
2025-09-02 22:29:30 +08:00
|
|
|
SLOGAN_RABBITMQ_QUEUES = f"Slogan{RABBITMQ_ENV}"
|
2024-05-30 15:01:39 +08:00
|
|
|
|
|
|
|
|
# Generate Single Logo service config
|
2024-11-19 10:14:52 +08:00
|
|
|
GSL_MODEL_URL = '10.1.1.243:10041'
|
2024-06-03 11:38:20 +08:00
|
|
|
GSL_MINIO_BUCKET = "aida-users"
|
2024-06-23 15:38:33 +08:00
|
|
|
GSL_MODEL_NAME = 'stable_diffusion_xl_transparent'
|
2025-09-02 22:29:30 +08:00
|
|
|
GEN_SINGLE_LOGO_RABBITMQ_QUEUES = f"GenSingleLogo{RABBITMQ_ENV}"
|
2024-05-30 15:01:39 +08:00
|
|
|
|
2024-07-04 14:14:57 +08:00
|
|
|
# Generate Product service config
|
2025-02-04 09:54:38 +08:00
|
|
|
# GPI_RABBITMQ_QUEUES = os.getenv("GEN_PRODUCT_IMAGE_RABBITMQ_QUEUES", f"ToProductImage{RABBITMQ_ENV}")
|
|
|
|
|
# GPI_MODEL_NAME_OVERALL = 'sdxl_ensemble_all'
|
|
|
|
|
# GPI_MODEL_URL = '10.1.1.243:10051'
|
|
|
|
|
|
|
|
|
|
# Generate Product service config 旧版product img 模型
|
2025-09-02 22:29:30 +08:00
|
|
|
GPI_RABBITMQ_QUEUES = f"ToProductImage{RABBITMQ_ENV}"
|
|
|
|
|
BATCH_GPI_RABBITMQ_QUEUES = f"BatchToProductImage{RABBITMQ_ENV}"
|
2025-02-04 09:54:38 +08:00
|
|
|
GPI_MODEL_NAME_OVERALL = 'diffusion_ensemble_all'
|
|
|
|
|
GPI_MODEL_NAME_SINGLE = 'stable_diffusion_1_5_cnet'
|
2025-03-05 15:07:14 +08:00
|
|
|
GPI_MODEL_URL = '10.1.1.243:10051'
|
2024-06-04 15:33:34 +08:00
|
|
|
|
2024-06-17 10:45:45 +08:00
|
|
|
# Generate Single Logo service config
|
2025-09-02 22:29:30 +08:00
|
|
|
GRI_RABBITMQ_QUEUES = f"Relight{RABBITMQ_ENV}"
|
|
|
|
|
BATCH_GRI_RABBITMQ_QUEUES = f"BatchRelight{RABBITMQ_ENV}"
|
2024-07-05 15:45:48 +08:00
|
|
|
GRI_MODEL_NAME_OVERALL = 'diffusion_relight_ensemble'
|
|
|
|
|
GRI_MODEL_NAME_SINGLE = 'stable_diffusion_1_5_relight'
|
2024-06-23 16:06:09 +08:00
|
|
|
GRI_MODEL_URL = '10.1.1.240:10051'
|
2024-05-30 15:01:39 +08:00
|
|
|
|
2025-03-20 10:25:33 +08:00
|
|
|
# Pose Transform service config
|
|
|
|
|
|
2025-09-02 22:29:30 +08:00
|
|
|
PS_RABBITMQ_QUEUES = f"PoseTransform{RABBITMQ_ENV}"
|
|
|
|
|
BATCH_PS_RABBITMQ_QUEUES = f"BatchPoseTransform{RABBITMQ_ENV}"
|
2025-04-07 13:35:01 +08:00
|
|
|
PT_MODEL_URL = '10.1.1.243:10061'
|
2025-03-20 10:25:33 +08:00
|
|
|
|
2024-04-15 18:07:25 +08:00
|
|
|
# SEG service config
|
|
|
|
|
SEGMENTATION = {
|
2024-05-17 18:22:00 +08:00
|
|
|
"new_model_name": "seg_knet",
|
2024-04-15 18:07:25 +08:00
|
|
|
"name": "seg_ocrnet_hr18",
|
|
|
|
|
"input": "seg_input__0",
|
|
|
|
|
"output": "seg_output__0",
|
|
|
|
|
}
|
2024-11-08 14:35:23 +08:00
|
|
|
# ollama config
|
2024-12-02 22:42:03 +08:00
|
|
|
OLLAMA_URL = "http://10.1.1.240:11434/api/embeddings"
|
2025-04-22 11:09:13 +08:00
|
|
|
|
|
|
|
|
# design batch
|
2025-09-02 22:29:30 +08:00
|
|
|
BATCH_DESIGN_RABBITMQ_QUEUES = f"DesignBatch{RABBITMQ_ENV}"
|
2025-04-22 11:09:13 +08:00
|
|
|
|
2024-05-09 17:56:51 +08:00
|
|
|
# DESIGN config
|
2024-12-01 17:54:42 +08:00
|
|
|
DESIGN_MODEL_URL = '10.1.1.240:10000'
|
2024-05-09 17:56:51 +08:00
|
|
|
AIDA_CLOTHING = "aida-clothing"
|
2024-05-28 15:22:11 +08:00
|
|
|
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')
|
2024-05-09 17:56:51 +08:00
|
|
|
|
2024-05-30 09:48:13 +08:00
|
|
|
# DESIGN 预处理
|
|
|
|
|
IF_DEBUG_SHOW = False
|
2024-05-09 17:56:51 +08:00
|
|
|
|
|
|
|
|
# 优先级
|
|
|
|
|
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,
|
|
|
|
|
}
|
2024-07-22 15:54:11 +08:00
|
|
|
|
2025-07-01 22:42:59 +08:00
|
|
|
QWEN_API_KEY = "sk-f31c29e61ac2498ba5e307aaa6dc10e0"
|
2025-02-28 16:26:44 +08:00
|
|
|
|
|
|
|
|
DB_CONFIG = {
|
|
|
|
|
"host": "18.167.251.121",
|
|
|
|
|
"port": 3306,
|
|
|
|
|
"user": "root",
|
|
|
|
|
"password": "QWa998345",
|
|
|
|
|
"database": "aida",
|
|
|
|
|
"charset": "utf8mb4"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TABLE_CATEGORIES = {
|
|
|
|
|
"female_dress": "female/dress",
|
|
|
|
|
"female_outwear": "female/outwear",
|
|
|
|
|
"female_trousers": "female/trousers",
|
|
|
|
|
"female_skirt": "female/skirt",
|
|
|
|
|
"female_blouse": "female/blouse",
|
|
|
|
|
"male_tops": "male/tops",
|
|
|
|
|
"male_bottoms": "male/bottoms",
|
|
|
|
|
"male_outwear": "male/outwear"
|
|
|
|
|
}
|